一、如何查看命令的帮助
1. man – 手册页
man 命令名
显示命令的详细手册,包含名称、语法、选项说明、示例、相关文件等。
- 按
q退出 - 按
/搜索关键字,n下一匹配 - 示例:
man ls
2. --help 或 -h – 快速参考
命令名 --help
大多数命令支持该选项,输出简短的用法和常用选项列表,适合快速查阅。
示例:ls --help、grep -h
3. info – 更详细的文档
info 命令名
提供比 man 更结构化的超文本格式,尤其适用于 GNU 工具(如 tar、gcc)。
按 q 退出,方向键导航。
4. help – 查看 Shell 内置命令
help 内置命令名
用于查看 Shell 内置命令(如 cd、echo、jobs)的帮助。
示例:help cd
5. type – 判断命令类型
type 命令名
输出命令是内置、外部程序还是别名,从而决定使用哪种帮助方式。
示例:type cd → cd is a shell builtin
二、文件与目录操作命令
1. pwd – 显示当前工作目录
pwd
输出当前所在的绝对路径。
2. ls – 列出目录内容
ls [选项] [文件/目录]
常用选项:
-l:长格式显示-a:显示隐藏文件-h:人类可读的大小-t:按修改时间排序-R:递归子目录
示例:ls -la
3. cd – 切换目录
cd [目录路径]
cd ~:回到主目录cd ..:上一级cd -:返回上次目录
4. mkdir – 创建目录
mkdir [选项] 目录名
-p:递归创建多级目录-m:设置权限
示例:mkdir -p project/src
5. rmdir – 删除空目录
rmdir [选项] 目录名
只能删除空目录,非空需用 rm -r。
6. touch – 创建空文件或更新时间戳
touch [选项] 文件名
文件不存在则创建空文件,存在则更新访问和修改时间。
7. cp – 复制文件或目录
cp [选项] 源 目标
-r:递归复制目录-i:覆盖前询问-a:归档模式(保留属性)
示例:cp -r dir1/ dir2/
8. mv – 移动或重命名
mv [选项] 源 目标
在同一目录下是重命名,跨目录是移动。
9. rm – 删除文件或目录
rm [选项] 文件/目录
-r:递归删除目录-f:强制删除(危险)-i:交互确认
⚠️ 警告:rm -rf 请谨慎使用。
10. ln – 创建链接
ln [选项] 目标 链接名
- 默认创建硬链接(共享 inode)
-s:创建软链接(符号链接)
示例:ln -s /usr/bin/python3 python
三、文件内容查看与处理
1. cat – 连接并显示文件内容
cat [选项] 文件...
-n:显示行号-A:显示所有特殊字符
示例:cat file1.txt file2.txt > merged.txt
2. tac – 反向显示文件内容
tac [选项] 文件名
常用选项
-b:在分隔符之前连接(默认在之后)。-r:将分隔符解释为正则表达式。-s 分隔符:指定字符串作为分隔符(默认是换行符)。
注解
tac 是 cat 的反向操作,它将文件按行倒序输出,即最后一行先显示,第一行最后显示。常用于查看最新日志条目(配合 head 或 tail)、反转数据流等场景。如果希望按字节或自定义分隔符反转,可以通过 -s 选项控制。
示例
# 基本用法:反向输出文件内容
tac file.txt
# 查看日志最新部分(先显示最后 10 行,再反向显示)
tail -n 10 app.log | tac
# 使用自定义分隔符(例如按 '---' 分割段落并反向)
tac -s '---' notes.txt
注意事项
tac不是所有 Unix 系统的标准命令,但在 Linux 中通常可用(属于 GNU coreutils)。- 若系统没有
tac,可以用sed '1!G;h;$!d'或awk '{a[NR]=$0} END{for(i=NR;i>0;i--) print a[i]}'模拟。
3. more / less – 分页查看
less 功能更强大,支持上下箭头、搜索(/)、退出(q)。
示例:less /var/log/syslog
4. head / tail – 查看头部或尾部
head -n 20 file.txt
tail -f /var/log/nginx/error.log # 实时跟踪
5. grep – 文本搜索
grep [选项] 模式 [文件]
-i:忽略大小写-r:递归搜索目录-n:显示行号-v:反向匹配
示例:grep -r "error" /var/log/
6. wc – 统计行、词、字节
wc -l file.txt # 行数
grep "error" log.txt | wc -l
7. sort – 排序
sort -n -k2 data.txt # 按第二列数值排序
8. uniq – 去重(常与 sort 结合)
sort list.txt | uniq -c
四、权限与所有者管理
1. chmod – 修改权限
chmod [选项] 模式 文件
- 符号模式:
chmod u+x script.sh - 数字模式:
chmod 644 file.txt -R:递归修改
2. chown – 修改所有者和组
chown [选项] 所有者[:组] 文件
示例:chown -R www-data:www-data /var/www
3. chgrp – 修改组
4. umask – 设置默认权限掩码
umask 027
五、进程与程序管理
1. ps – 显示进程状态
ps aux # BSD 风格
ps -ef # System V 风格
ps aux | grep nginx
2. top / htop – 动态监控
top 实时刷新,按 P 按 CPU 排序,按 M 按内存排序,按 q 退出。
3. kill – 发送信号
kill -15 PID # 正常终止
kill -9 PID # 强制杀死
killall -9 firefox
4. jobs, fg, bg – 作业控制
jobs:查看后台任务fg %任务编号:调至前台bg %任务编号:放至后台运行
5. & 与 nohup – 后台运行
command & # 后台运行(可能随终端关闭而终止)
nohup command > out.log 2>&1 & # 终端关闭后继续运行
6. nice / renice – 调整优先级
nice -n 10 ./task.sh
renice -n 5 -p 12345
六、压缩与打包
1. tar – 打包与解包
tar -cvf archive.tar dir/ # 打包
tar -czvf archive.tar.gz dir/ # 打包并 gzip 压缩
tar -xzvf archive.tar.gz -C /target # 解压到指定目录
2. gzip / gunzip – 单文件压缩
gzip file.txt # 生成 file.txt.gz
gunzip file.txt.gz
3. zip / unzip – 跨平台压缩
zip -r project.zip project/
unzip project.zip -d /target
七、其他常用命令
1. find – 查找文件
find . -name "*.log" -type f -mtime -7
find /var -size +100M -exec ls -lh {} \;
2. which / whereis – 查找命令位置
which ls # /usr/bin/ls
whereis ls # 显示二进制、源码、手册路径
3. echo – 输出文本
echo "Hello"
echo $PATH