当前位置:首页>Linux>运维人必会的20个Linux命令(一):文件操作

运维人必会的20个Linux命令(一):文件操作

  • 2026-09-24 22:39:23
运维人必会的20个Linux命令(一):文件操作
刚入行的时候,我也被Linux命令的数量吓到过。总觉得要背下所有命令才能干活
其实完全没必要,用得多的命令自然形成肌肉记忆了,冷门的命令用法直接 “命令 --help”   或 “man 命令”  就能查到
而且后来发现,真正每天在用的,也就20个左右。
今天把这20个命令按场景整理出来,每个都附上我最常用的例子,不管干了几年,这些命令每天都在用
文件操作是Linux最基础的技能,刚入行时,我每天敲得最多的就是这5个命令。

1.ls  —— 查看文件列表

什么时候用:想知道当前目录下有什么文件,或者想看某个文件的详细信息
最常用参数:
ls -lt 
看文件内容什么时候被改过(mtime)
上面这个组合我每天要用几十次。拆解一下:
-l:显示详细信息(权限、大小、修改时间)
-t:按修改时间排序
-r :   倒序排列(最新修改的文件在底部)
提醒:ll是ls -l 的命令别名,不信可用 alias 命令查看

2.cd —— 切换目录

什么时候用:想去哪个文件夹,就用它“走”过去。
最常用的参数:
cd ..            #返回上一级目录cd -             #返回上一次所在的目录(这个很实用,经常在两个目录间来回切换)cd  或 cd ~      # 返回到当前用户的家目录

3. cp—— 复制文件或目录

什么时候用:要备份文件、或者把文件复制到另一个地方
最常用的参数:
cp -a file1.txt file2.txt        #复制file1.txt为file2.txtcp -r dir1/ dir2/             # 复制整个目录(-r 表示递归复制)cp -i file1.txt /tmp/         # -i 参数,覆盖前会询问确认
其中,最经典的 -a是-dR --preserve=all的简写:意思是“递归复制(-R)+ 保留链接(-d)+ 保留一切属性(--preserve=all)
它不仅会复制文件内容,还会像“乾坤大挪移”一样,把文件的所有“灵魂”——属性、权限、时间戳都原封不动地搬过去
提醒:cp是cp -i的命令别名
一个真实场景:修改配置文件之前,先备份是运维的基本修养。
cp -a  /etc/nginx/nginx.conf{,.bak}
改坏了?直接 cp -a nginx.conf.bak nginx.conf 还原

4. mv —— 移动或重命名文件

什么时候用:把文件挪到另一个地方,或者给文件改个名字。
最常用参数:
mv file1.txt /tmp/            #把file1.txt移动到/tmp目录mv oldname.txt newname.txt    # 重命名文件(同一个目录下移动就是重命名)
一个真实场景:整理日志文件,把7天前的挪到归档目录后并改名
mv access.log.7.gz /var/log/archive/ access.log_7.gz
注意:mv 没有 -r 参数,移动目录直接写就行,不需要加额外参数

5. rm —— 删除文件或目录

什么时候用:清理磁盘空间,或者删除没用的文件。
最常用参数:
rm file.txt                   #删除文件rm -f file.txt                # 强制删除,不询问(-f = force)rm -rf /tmp/old_dir/          # 强制删除整个目录(-r 递归,-f 强制)
提醒:mv是mv -i的命令别名
⚠️ 一个必须记住的教训
rm -rf 是Linux里最危险的命令,没有之一
给新手的3条铁律:
删除前先备份
不确定就 cp 一份
确认三次再回车
尤其是 rm -rf,看清楚路径对不对
绝对不要执行:
rm -rf / 或 rm -rf /*,这会删除整个系统
一个更安全的做法:不确定要不要删的文件,先 mv 到一个“待删除”目录,放几天确认没问题再删。

6. cat/less/head/tail —— 看文件内容

什么时候用:查看文件或日志内容
最常用的参数
cat log1  #一次遍历文件内容,如果文件内容很多,很不方便阅读less log1  #在遍历文件内容基础上自动分页,可通过  j 、k 键上下翻页head -n 10 log1  #查看文件最开始定义的行,但不支持实时查看tail -f -n 500 log1    # 实时查看文件的最后500行,看日志最常用
提醒:日常排查时,更快的敲法是tail -500flog1  等于 tail -f -n 500 log1

7.  find/grep —— 查找文件

老司机们都知道,这两个命令异常强大,还支持通配符匹配和正则表达式
什么时候用:查找或搜索匹配条件的文件
最常用的参数:
find /var/log/ -type f -name "*.log" -mtime +7   #查找/var/log目录下最近7天前内容更新过、且以.log结尾的文件grep -r "Error"  /var/log/     #查找/var/log目录下包含文本“Error”的文件,但很耗费磁盘IOgrep "Error"  1.log   #匹配列出在当前目录下的file1里包含“Error”的报错文本
这里重点拆解下find命令:
-type 代表要查找的文件类型,最常用的是 f 文件、d目录
-name 要查找的文件名,支持通配符匹配
-mtime 要查找文件的内容修改时间,单位是天,计算的是时间差,不是具体日期
比如:+7 是7天前修改过内容的、-7 是7天内修改过内容的
一个真实场景: 清理旧的备份文件的脚本里经常会经常用到 find ,先找到更早的备份文件然后清理掉,腾出磁盘空间

这7个命令的组合技巧

实际工作中,这7个命令经常配合使用:
ls -ltr#查看当前目录有哪些文件find /var/log/ -type f -name "*.log" -mtime +7#查找日志目录下7天前修改过的、且以.log结尾的文件tail -500f 1.log#实时查看日志文件的最后500行grep "Error" 1.log#看日志文件里是否包含报错文本cp  -a config.yml config.yml.bak#复制一份配置文件做备份mv config.yml.bak config.yml#改坏了?改回来rm config.yml.bak#确认没问题了,删掉备份cd /var/log/#去另一个目录继续干活
这就是运维工作的基本日常——查看、复制、移动、删除、切换,反复循环
这20个命令,是我工作中每天用得最多的
你不用背,收藏这篇文章,用的时候回来查。用多了自然就记住了。

下一篇讲《运维人必会的20个Linux命令(二):查看系统状态》,关注我,不错过

最新文章

随机文章