一、目录切换与浏览命令 cd、ls
cd 切换工作目录
cd 目标路径cd .. # 返回上一级目录cd ~ # 回到当前用户家目录cd / # 切换到根目录cd - # 在最近两个目录之间来回切换
ls 列出目录内容
查看目录下的文件、文件夹列表
ls -lls -als -lhls -ld /etc
二、创建删除目录文件 mkdir、touch、rm
mkdir 创建目录
mkdir testdir # 创建单个目录mkdir -p dir1/dir2/dir3 # -p递归创建多级嵌套目录
touch 创建空文件
touch file.txt # 创建空白文件;文件已存在时更新文件时间戳
rm 删除命令
⚠️风险命令,删除后很难恢复
rm file.txt # 删除文件rm -r dirname # -r递归删除目录以及目录内全部内容rm -f file.txt # -f强制删除,不弹出确认提示rm -rf dir # 强制递归删除目录,工作环境谨慎使用
tree 树形展示目录结构
需要安装 tree 工具,以树状层级打印目录和文件
tree # 当前目录树形输出tree -L 2 # -L 数字,只展示2层目录,避免输出过多
三、磁盘空间查看 du -sh
du:统计文件 / 目录占用磁盘空间大小
du -sh *:查看当前目录下每一个文件、目录占用磁盘大小。
四、内存资源查看 free
查看系统内存、交换分区 swap 使用情况
-h人性化单位展示,展示总内存、已用、空闲、缓存、swap 交换空间。
五、find 文件查找命令
find 是 Linux 里强大的文件检索工具,可以按照时间、文件名、文件类型、文件大小等条件搜索文件。
时间查找参数
时间符号规则:
示例:
# 在/root下查找修改时间2天以内的文件find /root -mtime -2# 在root下查找2天以内修改过的目录,-type d代表目录;-type f代表普通文件find /root -type d -mtime -2
文件名匹配
其他常用选项
补充:which命令,可以查找系统命令本身存放的路径。
六、文件操作命令 cp、mv
- cp 复制
-r 递归,复制目录的时候必须加 - r,复制整个文件夹。
- mv 移动 / 重命名
# 移动文件到别的路径,同时改名mv 当前路径/文件 /目标路径/新名字# 在当前目录直接重命名mv 旧名字 新名字
七、文本查看 cat、less
- cat:一次性全部输出文件内容
- less:分页浏览大文件
交互快捷键:
小提示:不要用 cat 读取几十 GB 的大日志文件,优先 less。
八、sort 文本排序命令
sort 对文本行进行排序,默认按字母顺序。
表格
九、uniq 去重统计命令
⚠️注意:uniq只能识别相邻重复行,所以一般搭配 sort 先排序,管道|传给 uniq。
表格
经典组合示例:
# 排序并去重sort -u filename# 先排序,再只显示不重复的行sort filename | uniq -u# 排序后统计每行出现多少次sort filename | uniq -c# 只显示重复的行sort filename | uniq -d# 显示重复行+重复次数sort filename | uniq -d -c
十、diff 文件对比
diff命令用来对比两个文本文件之间的差异。
- 输出符号:
<代表第一个文件内容,>代表第二个文件内容 a- 常用
-u 参数,统一格式输出,可读性更好,和 git 看到的差异格式一致。
学习小结
这些都是运维日常高频基础命令,可以简单划分功能:
- 目录跳转浏览
- 文件目录创建删除:
mkdir建目录,touch建空文件,rm做删除,tree树形看目录; - 查看磁盘内存资源
- 找文件
- 移动复制文件
- 看文件内容
- 处理文本:
sort负责排序,uniq做去重统计,两者经常管道连用; - 对比两个文件差异