一、文件与目录管理命令
1. ls —— 列出目录内容
功能:显示文件和目录的名称、大小、权限等信息。
语法:
ls [选项] [文件/目录]
| 选项 | 说明 |
-l | 长格式显示(详细信息) |
-a | 显示所有文件(包括隐藏文件) |
-h | 人性化显示文件大小(如 KB、MB) |
-t | 按修改时间排序(新优先) |
-r | 反向排序 |
-S | 按文件大小排序(大文件优先) |
示例:
# 基本列出
ls
# 详细信息
ls -l
# 显示隐藏文件
ls -a
# 人性化显示大小
ls -lh
# 按修改时间倒序
ls -lt
# 按大小排序
ls -lSh
# 查看指定目录
ls -l /var/log/
# 过滤特定类型文件
ls -l *.txt
2. touch —— 创建文件或更新时间戳
功能:
- 创建空文件(若不存在)
- 更新文件的访问时间(atime)和修改时间(mtime)
语法:
touch [选项] 文件名
| 选项 | 说明 |
-a | 仅更新访问时间 |
-m | 仅更新修改时间 |
-c | 不创建新文件(仅更新时间) |
示例:
# 创建单个文件
touch file.txt
# 批量创建
touch file{1..4}.txt
# 快速创建序列文件
touch image_{1..5}.png
# 仅更新访问时间
touch -a file.txt
# 不创建新文件,仅更新时间(避免创建不存在的文件)
touch -c file5.txt
stat 文件名 #查看文件的创建、访问时间
File: example.txt
Size: 123 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 123456 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2025-09-29 10:00:00.123456789 +0800 # atime:访问时间
Modify: 2025-09-29 09:30:00.123456789 +0800 # mtime:内容修改时间
Change: 2025-09-29 09:30:00.123456789 +0800 # ctime:元数据修改时间
Birth: 2025-09-29 09:00:00.123456789 +0800 # birthtime:创建时间(部分系统支持)
3. cat —— 查看/合并/创建文件
功能:
- 查看文件内容
- 合并多个文件
- 创建文件(配合重定向)
语法:
cat [选项] [文件]
| 选项 | 说明 |
-n | 显示行号(包括空行) |
-b | 显示行号(忽略空行) |
示例:
# 查看文件内容
cat /etc/selinux/config
# 显示行号
cat -n /etc/selinux/config
# 合并多个文件
cat file1.txt file2.txt > combined.txt
# 创建文件(EOF方式)
cat > new_script.sh << EOF
#!/bin/bash
echo "Hello World"
EOF
4. head —— 查看文件开头内容
语法:
head [选项] [文件]
| 选项 | 说明 |
-n <行数> | 指定显示行数(默认10行) |
示例:
# 查看前10行
head /etc/passwd
# 查看前5行
head -n 5 /etc/passwd
# 结合管道查看进程前几行
ps aux | head -n 3
5. tail —— 查看文件末尾内容
语法:
tail [选项] [文件]
| 选项 | 说明 |
-n <n> | 指定显示行数 |
-f | 实时追踪文件更新(日志监控) |
示例:
# 查看最后10行
tail /var/log/messages
# 查看最后5行
tail -n 5 /etc/passwd
# 实时监控日志
tail -f /var/log/messages
# 实时显示最新3行
tail -n 3 -f /var/log/messages
6. less —— 分页查看文件
功能:支持翻页、搜索的分页查看器
语法:
less [选项] 文件名
| 选项 | 说明 |
-N | 显示行号 |
-i | 搜索忽略大写 |
| -I | 搜索忽略大小写 |
交互操作:
| 操作 | 功能 |
空格 / f | 向下翻页 |
b | 向上翻页 |
↓ / j | 向下一行 |
↑ / k | 向上一行 |
G | 跳转到文件末尾 |
1G / g | 跳转到文件开头 |
/关键词 | 向下搜索(n 下一个,N 上一个) |
?关键词 | 向上搜索 |
q | 退出 |
示例:
less -N /var/log/messages
7. mkdir —— 创建目录
查看目录下的文件结构
ls -R # -R 选项:递归列出所有子目录和文件
find . # 列出当前目录下所有文件和目录的完整路径
find . -type d # 只显示所有目录的路径
语法:
mkdir [选项] 目录名
| 选项 | 说明 |
-p | 递归创建(自动创建父目录) |
-v | 显示创建过程 |
-m | 设置权限(如 775) |
示例:
# 创建单个目录
mkdir projects
# 批量创建
mkdir docs images scripts
# 递归创建多级目录
mkdir -p backup/2024/july/logs
# 显示过程
mkdir -pv data/{csv,json,logs}
# 创建带权限的共享目录
mkdir -m 775 team_share
# 创建复杂结构
mkdir -p project/{src/{main,test},docs,config}
# 用日期命名
mkdir "$(date +%Y%m%d)_backup"
# 创建并进入
mkdir new_project && cd $_
8. rmdir —— 删除空目录
特点:只能删除空目录,比 rm -r 更安全
语法:
rmdir [选项] 目录名
| 选项 | 说明 |
-p | 递归删除父目录(若变空) |
-v | 显示删除过程 |
示例:
# 删除单个空目录
rmdir temp_dir
# 批量删除
rmdir dir1 dir2 dir3
# 递归删除
rmdir -p project/src/main
# 显示过程
rmdir -pv backup/2024/july
# 删除带空格目录
rmdir "My Documents"
9. rm —— 删除文件或目录
危险命令! 请谨慎使用
语法:
rm [选项] 文件或目录
| 选项 | 说明 |
-r | 递归删除目录 |
-f | 强制删除(不提示) |
-i | 删除前确认(推荐) |
-v | 显示详细过程 |
示例:
# 删除单个文件
rm old_report.txt
# 删除多个文件
rm *.tmp file1 file2
# 递归删除目录(危险)
rm -r project_backup/
# 安全删除(交互确认)
rm -i *.log
10. cp —— 复制文件/目录
语法:
cp [选项] 源 目标
| 选项 | 说明 |
-r | 递归复制目录 |
-i | 覆盖前提示 |
-f | 强制覆盖 |
-v | 显示过程 |
示例:
# 复制文件
cp notes.txt notes_backup.txt
# 复制到目录
cp file.txt ~/backup/
# 递归复制目录
cp -r ~/Documents/ backup/
# 交互式复制
cp -i *.log /backup/
11. mv —— 移动或重命名
语法:
mv [选项] 源 目标
| 选项 | 说明 |
-i | 覆盖前提示 |
-f | 强制覆盖 |
-v | 显示过程 |
示例:
# 重命名文件
mv old.txt new.txt
# 移动文件
mv file.txt ~/Documents/
# 重命名目录
mv project_old/ project_new/
# 批量移动图片
mv *.jpg *.png /images/
# 交互式移动
mv -i config.conf /etc/
12. find —— 查找文件
语法:
find [路径] [条件] [操作]
| 条件 | 说明 | 示例 |
-name | 按名称 | find /home -name "*.txt" |
-iname | 忽略大小写 | find . -iname "*.JPG" |
-type f | 文件 | find . -type f |
-type d | 目录 | find . -type d |
-mtime -7 | 7天内修改 | find /var/log -mtime -1 |
-size +1G | 大于1GB | find . -size +1G |
-perm 644 | 权限匹配 | find . -perm 644 |
示例:
# 查找特定文件
find /home -name "file5.txt"
# 大于10MB的文件
find . -type f -size +10M
# 删除空文件
find . -type f -size 0 -delete
# 24小时内修改的日志
find /var/log -mtime -1
二、vim 编辑器
vim 四种模式
| 模式 | 进入方式 | 用途 |
| 命令模式 | 默认 | 导航、删除、复制等 |
| 编辑模式 | 按 i | 输入文本 |
| 末行模式 | 按 : | 保存、退出、搜索等 |
| 可视模式 | 按 v | 选择文本块 |
常用快捷操作
1. 移动光标(命令模式)
hjkl:左、下、上、右0:行首,$:行尾:100:跳转到第100行Ctrl + f:向下翻页,Ctrl + b:向上翻页gg:文件开头,G:文件末尾
2. 编辑操作(命令模式)
x:删除当前字符dd:删除整行(剪切)ndd:删除n行dw:删除到下一个单词d$:删除到行尾dG:删除到文件末尾yy:复制整行nyy:复制n行p:粘贴(下一行),P:粘贴(前一行)u:撤销,Ctrl + r:重做
3. 搜索与替换
/关键词:向下搜索,n下一个,N上一个?关键词:向上搜索:s/旧/新/g:当前行替换:%s/旧/新/g:全局替换
4. 可视模式
v:字符选择Shift + V:行选择Ctrl + v:块选择- 选中后可
y复制,d删除
5. 设置行号
- 临时:
:set nu - 永久:
vim ~/.vimrc→ 添加set nu