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" .
。