Linux 文件操作命令大全:从入门到精通的实用指南

在 Linux 系统中,文件操作是日常工作的核心内容之一。无论是开发者、运维工程师还是 Linux 爱好者,掌握常用的文件操作命令都能极大提升工作效率。本文将详细介绍 Linux 系统中最常用的文件操作命令,每个命令都附带具体代码示例,帮助你快速上手。

文件创建命令

touch 命令

touch命令是创建空文件的最常用方式,同时也可以用于修改文件的时间戳。

基本语法touch [文件名]

示例 1:创建单个空文件

touch example.txt

执行后,当前目录下会生成一个名为example.txt的空文件。

示例 2:同时创建多个文件

touch file1.txt file2.md file3.sh

这条命令会一次性创建三个不同后缀的空文件。

示例 3:修改文件时间戳(不改变文件内容)

touch -m example.txt  # 仅修改修改时间touch -a example.txt  # 仅修改访问时间

文件查看命令

cat 命令

cat命令用于查看文件内容,适合查看内容较少的文件。

基本语法cat [文件名]

示例 1:查看文件内容

cat example.txt

执行后会在终端直接显示example.txt的全部内容。

示例 2:查看文件并显示行号

cat -n example.txt

加上-n参数后,会在每行内容前显示行号。

more 命令

more命令适合查看内容较多的文件,支持分页显示。

基本语法more [文件名]

示例

more long_document.txt

执行后会分页显示文件内容,按空格键翻页,按q键退出查看。

less 命令

less命令是more的增强版,支持向上滚动查看内容。

基本语法less [文件名]

示例

less large_file.log

使用方向键上下滚动,按/键可以搜索内容,按q键退出。

head 和 tail 命令

head用于查看文件开头部分内容,tail用于查看文件末尾内容,默认都是 10 行。

示例 1:查看文件前 5 行

head -n 5 example.txt

示例 2:查看文件最后 3 行

tail -n 3 example.txt

示例 3:实时监控文件新增内容(常用于日志查看)

tail -f app.log

加上-f参数后,会持续显示文件新增的内容,按Ctrl+C退出。

文件复制命令

cp 命令

cp命令用于复制文件或目录,是 Linux 中最常用的命令之一。

基本语法cp [源文件] [目标位置]

示例 1:复制文件到当前目录

cp /home/user/documents/report.pdf ./

/home/user/documents/目录下的report.pdf复制到当前目录(./表示当前目录)。

示例 2:复制文件到指定目录并改名

cp example.txt /tmp/sample.txt

example.txt复制到/tmp目录下,并改名为sample.txt

示例 3:复制目录(需要加-r参数表示递归复制)

cp -r project/ backup/

project目录及其所有内容复制到backup目录中。

文件移动与重命名命令

mv 命令

mv命令既可以移动文件,也可以重命名文件,用法非常灵活。

基本语法mv [源文件] [目标位置]

示例 1:重命名文件

mv oldname.txt newname.txt

oldname.txt改名为newname.txt

示例 2:移动文件到指定目录

mv document.txt /home/user/docs/

document.txt移动到/home/user/docs/目录下。

示例 3:移动多个文件到指定目录

mv *.jpg /home/user/images/

将当前目录下所有.jpg格式的图片文件移动到/home/user/images/目录(*是通配符,表示所有)。

文件删除命令

rm 命令

rm命令用于删除文件或目录,使用时需要特别小心,因为删除的文件通常难以恢复。

基本语法rm [文件或目录]

示例 1:删除单个文件

rm temp.txt

删除temp.txt文件,系统会询问是否删除,输入y确认。

示例 2:强制删除文件(不提示)

rm -f unnecessary.log

加上-f参数后,删除文件时不会有任何提示,直接删除。

示例 3:删除目录(需要加-r参数表示递归删除)

rm -r old_folder/

删除old_folder目录及其包含的所有文件和子目录。

示例 4:强制删除目录(不提示)

rm -rf obsolete_data/

-rf组合参数表示强制递归删除,这是非常危险的命令,使用时一定要确认路径正确。

目录操作命令

mkdir 命令

mkdir用于创建新目录。

基本语法mkdir [目录名]

示例 1:创建单个目录

mkdir photos

在当前目录下创建photos目录。

示例 2:创建多级目录(需要-p参数)

mkdir -p documents/work/reports

一次性创建documentsdocuments/workdocuments/work/reports三级目录,如果没有-p参数,当父目录不存在时会报错。

rmdir 命令

rmdir用于删除空目录(如果目录非空,需要先删除里面的文件)。

示例

rmdir empty_folder/

删除empty_folder空目录。

cd 和 pwd 命令

虽然这两个命令不是直接操作文件的,但它们是文件操作的基础:

  • pwd:显示当前所在目录的绝对路径

  • cd:切换目录

示例 1:显示当前目录

pwd

执行后可能显示类似/home/user/projects的结果。

示例 2:切换到指定目录

cd /var/log/

切换到/var/log/目录。

示例 3:回到上一级目录

cd ..

示例 4:回到用户主目录

cd ~

~符号表示当前用户的主目录。

文件权限操作命令

chmod 命令

chmod用于修改文件或目录的权限,这是 Linux 系统中保证文件安全的重要命令。

基本语法chmod [权限设置] [文件或目录]

权限可以用数字表示(r=4, w=2, x=1):

  • 读权限(r):4

  • 写权限(w):2

  • 执行权限(x):1

示例 1:设置文件所有者可读可写可执行,同组用户可读可执行,其他用户只读

chmod 754 script.sh
  • 7(4+2+1):所有者有读、写、执行权限

  • 5(4+1):同组用户有读和执行权限

  • 4:其他用户只有读权限

示例 2:给所有用户添加执行权限

chmod a+x program.py

a表示所有用户,+x表示添加执行权限。

文本输出与处理命令

echo 命令

echo命令主要用于在终端输出字符串,也可以将内容写入文件。

基本语法echo [字符串或变量]

示例 1:输出普通字符串

echo "Hello, Linux!"

执行后终端会显示Hello, Linux!

示例 2:将内容写入文件(覆盖原有内容)

echo "First line of content" > data.txt

这条命令会创建data.txt文件(如果不存在),并将First line of content写入该文件,若文件已有内容则会被覆盖。

示例 3:将内容追加到文件

echo "Second line of content" >> data.txt

使用>>符号时,内容会被添加到文件末尾,不会影响原有内容,执行后data.txt会有两行内容。

示例 4:输出变量值

NAME="Linux User"echo $NAME

先定义变量NAME并赋值,然后通过echo $NAME输出变量的值,终端会显示Linux User

grep 命令

grep命令用于在文件中搜索符合模式的字符串,是文本处理中非常强大的工具。

基本语法grep [选项] [模式] [文件]

示例 1:在文件中搜索指定字符串

grep "error" app.log

app.log文件中搜索包含error的所有行,并将这些行显示出来。

示例 2:忽略大小写搜索

grep -i "warning" system.log

-i参数表示忽略大小写,会同时匹配warningWARNINGWarning等形式。

示例 3:显示匹配行的行号

grep -n "success" result.txt

-n参数会在匹配到的行前显示对应的行号,方便定位内容位置。

示例 4:搜索多个文件

grep "config" *.ini

在当前目录下所有.ini格式的文件中搜索config字符串。

示例 5:反向搜索(显示不包含指定模式的行)

grep -v "debug" process.log

-v参数表示反向匹配,会显示所有不包含debug的行。

wc 命令

wc命令用于统计文件中的行数、单词数和字符数。

基本语法wc [选项] [文件]

常用选项:

  • -l:仅统计行数

  • -w:仅统计单词数

  • -c:仅统计字符数

示例 1:统计文件的行数、单词数和字符数

wc document.txt

执行后会显示三个数字,分别是document.txt的行数、单词数和字符数,最后是文件名。

示例 2:仅统计行数

wc -l article.txt

该命令会显示article.txt文件的总行数,常用于统计日志条目数量等场景。

示例 3:统计多个文件的单词数

wc -w file1.txt file2.txt

会分别显示file1.txtfile2.txt的单词数,最后还会显示两个文件的总单词数。

示例 4:统计当前目录下的文件数量

ls | wc -l

通过管道|ls命令的输出(当前目录下的文件和目录列表)传递给wc -l,从而统计出文件和目录的总数。

总结

掌握这些基本的 Linux 文件操作命令,能让你在 Linux 系统中更加得心应手。实际使用中,这些命令还有更多参数和组合用法,可以通过man [命令]查看完整的帮助文档(例如man cp查看cp命令的详细说明)。

记住,Linux 命令的学习没有捷径,多练习、多使用才能熟练掌握。建议从简单的命令开始,逐步尝试复杂的组合用法,慢慢构建自己的 Linux 命令知识体系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89091.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89091.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/89091.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux开发利器:探秘开源,构建高效——基础开发工具指南(上)【包管理器/Vim】

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…

基于迁移学习的培养基配方开发方法

本文为学习笔记,原文专利: 中国专利公布公告 然后输入 202110622279.7 概览 一、问题背景 传统培养基开发痛点: 数据依赖:需大量细胞实验(1000配方)训练专用模型 迁移性差:A细胞模型无法直接…

Web3.0与元宇宙:重构数字文明的技术范式与社会变革

一、技术融合:Web3.0与元宇宙的底层架构互补1.1 区块链与智能合约:构建信任基石去中心化信任机制:Web3.0的区块链技术为元宇宙提供去中心化信任框架,虚拟资产(如土地、道具)通过NFT(非同质化代币…

Java: OracleHelper

/*** encoding: utf-8* 版权所有 2025 ©涂聚文有限公司 * 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎* 描述: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html ojdbc11* Author : geovi…

OSPFv3-一二类LSA

文章目录OSPFv3 LSA类型Router LSANetwork LSA🏡作者主页:点击! 🤖Datacom专栏:点击! ⏰️创作时间:2025年07月12日20点01分 OSPFv3 LSA类型 Router LSA 不再包含地址信息,使能 OS…

HugeGraph 【图数据库】JAVA调用SDK

1.引入依赖<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>28.0-jre</version> </dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifac…

软考中级【网络工程师】第6版教材 第2章 数据通信基础(中)

考点分析&#xff1a;重要程度&#xff1a;⭐⭐⭐&#xff0c;本章可能是全书最难的章节&#xff0c;偏理论&#xff0c;公式多除了传输介质&#xff0c;其他知识点只考选择题&#xff0c;考试一般占3 ~ 5分高频考点&#xff1a;PCM、奈奎斯特定理、曼彻斯特编码&#xff1b;难…

单片机(STM32-中断)

一、中断基础知识 1.概念 中断&#xff08;Interrupt&#xff09;是一种特殊的事件处理机制。当CPU正在执行主程序时&#xff0c;如果出现了某些紧急或重要的事件&#xff08;如外设请求、定时器溢出等&#xff09;&#xff0c;可以暂时中止当前的程序&#xff0c;转而去处理…

gitlab-ci.yml

.gitlab-ci.yml 文件的位置 该文件应放置在 GitLab 项目的代码仓库的根目录 下&#xff0c;具体说明如下&#xff1a;存储库根目录 .gitlab-ci.yml 是 GitLab 持续集成&#xff08;CI&#xff09;的配置文件&#xff0c;需直接放在项目的代码仓库的根目录&#xff08;与 .git 目…

使用JS编写一个购物车界面

使用JS编写一个购物车界面 今天我们来剖析一个精心设计的家具商店购物车页面&#xff0c;这个页面不仅美观大方&#xff0c;还具备丰富的交互功能。让我们一步步拆解它的设计理念和技术实现&#xff01; 页面展示 页面整体结构 这个购物车页面采用了经典的电商布局模式&…

零信任安全架构:如何在云环境中重构网络边界?

一、云原生时代&#xff1a;传统防火墙为何轰然倒塌&#xff1f; 当业务碎片化散落在AWS、阿里云、私有IDC&#xff0c;当员工随手在咖啡厅WiFi连接生产数据库&#xff0c;“内网可信”的基石瞬间崩塌&#xff0c;传统防火墙彻底沦为马奇诺防线&#xff1a; 边界消亡&#xff1…

css实现烧香效果

效果&#xff1a;代码&#xff1a;<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>动态香烛效果&…

硬件产品的技术资料管控是确保研发可追溯、生产可复制、质量可控制的核心环节。

硬件产品的技术资料管控是确保研发可追溯、生产可复制、质量可控制的核心环节。以下针对BOM单、PCB文件、程序代码、原理图四大核心要素&#xff0c;结合行业实践提出管控方向划分及优化策略&#xff1a;&#x1f4cb; 一、硬件BOM单的精细化管控方向BOM单是硬件生产的“配方表…

Uniswap V2/V3/V4简短说明

Uniswap 是以太坊上最知名的去中心化交易所&#xff08;DEX&#xff09;&#xff0c;它通过不同的版本&#xff08;V2、V3、V4&#xff09;不断改进&#xff0c;变得更高效、更灵活。以下是用通俗易懂的方式介绍它们之间的异同&#xff1a; Uniswap V2&#xff1a;基础版&#…

C++面向对象创建打印算术表达式树

C面向对象&#xff0c;实现算术表达式树的创建和打印的案例&#xff0c;来源于《C沉思录》第八章&#xff0c;涉及数据抽象、继承、多态&#xff08;动态绑定&#xff09;、句柄&#xff0c;其中句柄的使用是核心&#xff0c;关于句柄的较为简单的文章链接点击这里&#xff0c;…

力扣每日一题--2025.7.16

&#x1f4da; 力扣每日一题–2025.7.16 &#x1f4da; 3201. 找出有效子序列的最大长度 I&#xff08;中等&#xff09; 今天我们要解决的是力扣上的第 3201 题——找出有效子序列的最大长度 I。这道题虽然标记为中等难度&#xff0c;但只要掌握了正确的思路&#xff0c;就能…

SFT:大型语言模型专业化定制的核心技术体系——原理、创新与应用全景

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 以下基于权威期刊、会议论文及技术报告&#xff0c;对监督微调&#x…

若依前后端分离框架配置多数据库表

若依前后端分离框架配置多数据库表1、配置application.yml2、注释掉application-druid.yml中的数据库3、在DataSourceType 中添加新增的数据库来源4、配置DruidConfig文件4、1新增注入方法&#xff0c;在DataSourceType类添加数据源枚举4、2在DruidConfig类dataSource方法添加数…

29.安卓逆向2-frida hook技术-逆向os文件(二)IDA工具下载和使用(利用ai分析so代码)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

[析]Deep reinforcement learning for drone navigation using sensor data

Deep reinforcement learning for drone navigation using sensor data 基于传感器数据的无人机导航深度强化学习方法 评价&#xff1a;MDP无记忆性&#xff0c;使用LSTM补足缺点。PPO解决新旧策略差距大的问题。 对于环境中的障碍物&#xff0c;设置增量课程&#xff0c;障碍…