一、目录切换与浏览命令 cd、ls
cd 切换工作目录
cd 目标路径
cd .. # 返回上一级目录
cd ~ # 回到当前用户家目录
cd / # 切换到根目录
cd - # 在最近两个目录之间来回切换
ls 列出目录内容
查看目录下的文件、文件夹列表
ls -l:长格式显示,权限、所有者、大小、时间ls -a:显示全部文件,包含隐藏文件(以.开头)ls -lh:人性化显示大小,KB/MB 单位ls -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 *
-s:只显示总汇总大小,不输出子文件明细-h:human 人性化,KB、MB、GB 可读单位
du -sh *:查看当前目录下每一个文件、目录占用磁盘大小。
四、内存资源查看 free
查看系统内存、交换分区 swap 使用情况
free -h
-h人性化单位展示,展示总内存、已用、空闲、缓存、swap 交换空间。
五、find 文件查找命令
find 是 Linux 里强大的文件检索工具,可以按照时间、文件名、文件类型、文件大小等条件搜索文件。
时间查找参数
-mtime:按照修改时间查找(文件内容发生改动)-atime:按照访问时间查找(文件被读取打开)-ctime:按照状态更改时间查找(文件权限、属性修改)
时间符号规则:
-n:n 天以内+n:n 天以外
示例:
# 在/root下查找修改时间2天以内的文件
find /root -mtime -2
# 在root下查找2天以内修改过的目录,-type d代表目录;-type f代表普通文件
find /root -type d -mtime -2
文件名匹配
-name:匹配文件名,区分大小写-iname:匹配文件名,不区分大小写
其他常用选项
-type:指定文件类型,d目录、f普通文件-size:按文件大小查找-print:打印输出找到的结果-exec:对搜索出来的文件执行后续命令
补充:
which命令,可以查找系统命令本身存放的路径。
六、文件操作命令 cp、mv
- cp 复制 语法:
cp [选项] 源 目标
-r递归,复制目录的时候必须加 - r,复制整个文件夹。
-
mv 移动 / 重命名 两种用法:
移动文件到别的路径,同时改名
mv 当前路径/文件 /目标路径/新名字
在当前目录直接重命名
mv 旧名字 新名字
七、文本查看 cat、less
- cat:一次性全部输出文件内容 适合小文件
cat -n 文件名:输出内容,显示全部行号(包含空行)cat -b 文件名:显示行号,跳过空行,空行不编号
-
less:分页浏览大文件 适合日志、大文件,不会一次性全部加载
less filename
交互快捷键:
- 空格:向下翻页
- b:向上翻页
/关键词:向下搜索文本- q:退出 less 查看
小提示:不要用 cat 读取几十 GB 的大日志文件,优先 less。
八、sort 文本排序命令
sort 对文本行进行排序,默认按字母顺序。
表格
| 参数 | 作用 |
|---|---|
-r |
倒序排序 |
-n |
按数字大小排序,而不是字符 |
-u |
去重,相同行只保留一份 |
-o |
将排序结果输出保存到文件 |
-k |
指定第几列进行排序 |
-t |
指定分隔符,比如冒号、空格 |
九、uniq 去重统计命令
⚠️注意:uniq只能识别相邻重复行 ,所以一般搭配 sort 先排序,管道
|传给 uniq。
表格
| 参数 | 作用 |
|---|---|
-c |
统计每行重复出现的次数 |
-u |
只显示仅出现一次的行(不重复行) |
-d |
只显示重复的行 |
-i |
忽略大小写进行比对 |
经典组合示例:
# 排序并去重
sort -u filename
# 先排序,再只显示不重复的行
sort filename | uniq -u
# 排序后统计每行出现多少次
sort filename | uniq -c
# 只显示重复的行
sort filename | uniq -d
# 显示重复行+重复次数
sort filename | uniq -d -c
十、diff 文件对比
diff命令用来对比两个文本文件之间的差异。
- 输出符号:
<代表第一个文件内容,>代表第二个文件内容 a新增,d删除,c修改- 常用
-u参数,统一格式输出,可读性更好,和 git 看到的差异格式一致。
学习小结
这些都是运维日常高频基础命令,可以简单划分功能:
- 目录跳转浏览 :
cd切换目录,ls查看目录内容; - 文件目录创建删除 :
mkdir建目录,touch建空文件,rm做删除,tree树形看目录; - 查看磁盘内存资源 :
du‑sh看磁盘占用,free‑h看内存; - 找文件 交给
find,可以按时间、大小、类型精准检索; - 移动复制文件 使用
cp、mv; - 看文件内容 :小文件用
cat,大文件日志优先less; - 处理文本 :
sort负责排序,uniq做去重统计,两者经常管道连用; - 对比两个文件差异 用
diff。