菜鸟科技网

Unix命令有哪些常用且实用的详解?

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

Unix命令有哪些常用且实用的详解?-图1
(图片来源网络,侵删)

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 显示当前目录所有文件(含隐藏),长格式且人性化显示大小。

Unix命令有哪些常用且实用的详解?-图2
(图片来源网络,侵删)

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 |

Unix命令有哪些常用且实用的详解?-图3
(图片来源网络,侵删)

示例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" ./codecode 目录下递归搜索包含 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 排序)。
  • htoptop 的增强版(需安装),支持彩色显示、鼠标操作等。

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,所属组设为 groupchown -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" .

分享:
扫描分享到社交APP
上一篇
下一篇