Unix 命令是 Unix 及类 Unix 系统(如 Linux、macOS)的核心工具,通过命令行界面(CLI)与系统交互,掌握常用命令不仅能提升操作效率,还能深入理解系统底层逻辑,以下从命令结构、常用命令分类、参数使用及实例解析等方面进行详解。

Unix 命令的基本结构
Unix 命令通常遵循“命令选项参数”的基本格式,各部分通过空格分隔:
- 命令(Command):执行的核心操作,如
ls(列出文件)、cp(复制文件)。 - 选项(Options):以 或 开头,用于修改命令行为,如
-l(长格式显示)、-a(显示隐藏文件)。 - 参数(Arguments):命令操作的对象,如文件名、目录路径等。
ls -l /home/user 中,ls 是命令,-l 是选项,/home/user 是参数。
文件与目录管理命令
ls:列出目录内容
功能:显示指定目录下的文件和子目录。
常用选项:
| 选项 | 功能 | 示例 |
|------|------|------|
| -l | 长格式显示(权限、所有者、大小、时间等) | ls -l |
| -a | 显示所有文件(包括隐藏文件,以 开头) | ls -a |
| -h | 以人类可读格式显示文件大小(如 K、M、G) | ls -lh |
| -t | 按修改时间排序,最新的在前 | ls -lt |
示例:ls -lha 显示当前目录所有文件(含隐藏),长格式且人性化显示大小。

cd:切换目录
功能:改变当前工作目录。
用法:
cd 目录路径:切换到指定目录,如cd /var/log。cd ..:返回上一级目录。cd ~或cd:切换到用户主目录(如/home/user)。cd -:返回上一个所在目录。
pwd:显示当前目录
功能:打印当前工作目录的完整路径,无选项。
示例:pwd 输出 /home/user/documents。
mkdir:创建目录
功能:创建一个或多个新目录。
常用选项:
-p:递归创建多级目录(若父目录不存在则自动创建),如mkdir -p parent/child。
示例:mkdir -p /tmp/test/a/b创建嵌套目录结构。
rm:删除文件或目录
功能:移除文件或目录(危险操作,删除后无法恢复)。
常用选项:
| 选项 | 功能 | 示例 |
|------|------|------|
| -r | 递归删除目录及其内容 | rm -r dir |
| -f | 强制删除,不提示确认 | rm -f file |
| -rf | 强制递归删除(慎用) | rm -rf dir |

示例:rm -rf /tmp/unused_dir 删除 /tmp/unused_dir 及其所有内容。
cp:复制文件或目录
功能:将源文件/目录复制到目标位置。
常用选项:
-r:递归复制目录(复制目录时必须使用)。-p:保留文件属性(权限、所有者、时间戳)。-i:覆盖前提示(默认行为可通过alias修改)。
示例:cp -r /source/dir /target/复制整个目录;cp -p file.txt backup/复制文件并保留属性。
mv:移动或重命名文件
功能:
- 移动:将文件/目录从源位置移动到目标位置(跨目录时相当于剪切)。
- 重命名:在同一目录下,通过修改目标名称实现重命名。
示例:mv old_name.txt new_name.txt重命名文件;mv file.txt /home/user/移动文件到用户主目录。
处理命令
cat:查看文件内容
功能:一次性显示整个文件内容,适用于小文件。
常用选项:
-n:显示行号,如cat -n file.txt。>或>>:输出重定向(>覆盖,>>追加),如cat file1.txt file2.txt > combined.txt合并文件。
less:分页查看文件
功能:逐页显示文件内容,支持上下滚动、搜索等交互操作(适用于大文件)。
操作:
上下箭头/j/k:上下滚动。- 向下搜索,:向上搜索。
q:退出。
grep:文本搜索
功能:在文件中搜索匹配指定模式的行,支持正则表达式。
常用选项:
| 选项 | 功能 | 示例 |
|------|------|------|
| -i | 忽略大小写 | grep -i "error" log.txt |
| -r | 递归搜索目录下所有文件 | grep -r "TODO" ./src |
| -n | 显示匹配行号 | grep -n "main" program.c |
| -v | 反向匹配(输出不包含模式的行) | grep -v "localhost" hosts |
示例:grep -rn "function" ./code 在 code 目录下递归搜索包含 function 的行并显示行号。
head/tail:查看文件开头或结尾
功能:
head:默认显示文件前 10 行,-n指定行数,如head -n 5 file.txt。tail:默认显示文件后 10 行,-f实时跟踪文件变化(常用于日志监控),如tail -f /var/log/syslog。
系统与管理命令
ps:查看进程状态
功能:显示当前系统的进程信息。
常用选项:
aux:显示所有进程的详细信息(用户、CPU/内存占用、命令等),如ps aux。ef:显示进程的父子关系,如ps -ef。
top/htop:实时监控系统资源
功能:动态显示进程的 CPU、内存使用情况,按 q 退出。
top:基础工具,支持排序(按M按内存排序,按P按 CPU 排序)。htop:top的增强版(需安装),支持彩色显示、鼠标操作等。
kill/pkill:终止进程
功能:向进程发送信号,默认终止进程(需知道进程 ID,PID)。
kill PID:终止指定进程,如kill 1234。kill -9 PID:强制终止(无法捕获的信号),如kill -9 1234。pkill 进程名:按名称终止进程,如pkill firefox。
df/du:查看磁盘使用情况
df:显示文件系统的磁盘空间使用率,-h以人类可读格式显示,如df -h。du:显示目录或文件的磁盘占用空间,-sh查看总大小(s:汇总,h:人性化),如du -sh /home/user。
权限与用户管理
chmod:修改文件权限
功能:控制用户对文件的读(r)、写(w)、执行(x)权限。
表示法:
- 数字法:
r=4, w=2, x=1,如chmod 755 file(所有者rwx,组和其他用户r-x)。 - 字母法:
chmod u+x file(给所有者添加执行权限)。
chown:修改文件所有者
功能:改变文件或目录的所有者和所属组,-R 递归修改目录内容。
示例:chown user:group file.txt 将文件所有者设为 user,所属组设为 group;chown -R user /path/to/dir 递归修改目录所有者。
其他实用命令
man:查看命令手册,如man ls显示ls命令的详细说明。alias:设置命令别名,如alias ll='ls -lha'后可通过ll快速执行长格式列表。find:按条件查找文件,如find / -name "*.txt" 2>/dev/null在根目录下查找所有.txt文件(2>/dev/null忽略权限错误)。
相关问答 FAQs
问题 1:如何查看一个命令的详细帮助信息?
解答:Unix 系统提供多种查看帮助的方式:
man 命令:显示命令的完整手册(包含选项、参数、示例等),如man grep。命令 --help:显示命令的常用选项和简要说明,如grep --help。info 命令:显示更详细的结构化帮助信息(部分命令支持)。
问题 2:如何快速查找包含特定关键词的文件内容?
解答:使用 grep 命令结合递归选项 -r 可快速在目录下搜索文件内容:
grep -r "关键词" /搜索路径
在当前目录及其子目录中搜索包含 error 的行:
grep -r "error" .
若需忽略大小写,添加 -i 选项:grep -ri "error" .;若需显示文件名和行号,添加 -n 选项:grep -rn "error" .。
