Linux 常用命令详解与使用规则
Linux 常用命令详解与使用规则
Linux 命令行是系统管理、开发和运维的核心工具。以下文档详细介绍了 20+ 常用 Linux 命令,涵盖 文件管理、系统监控、网络操作、权限控制、进程管理 等场景,每个命令均包含 语法、选项、示例、注意事项,并附有 最佳实践建议。
一、基础命令
1. ls - 列出目录内容
语法:ls [选项] [路径]
常用选项:
-l:显示详细信息(权限、大小、时间等)-a:显示隐藏文件-R:递归列出子目录-h:以易读格式显示大小(如K/M/G)
示例:
ls -l /home# 显示 /home 目录的详细信息
ls -a .# 显示当前目录的隐藏文件
ls -R /etc# 递归显示 /etc 目录内容
注意事项:
- 无路径时,默认列出当前目录内容。
- 隐藏文件以
.开头(如.bashrc)。
2. cd - 切换目录
语法:cd [路径]
示例:
cd /usr/local# 进入指定目录
cd ~# 进入用户主目录
cd ..# 返回上一级目录
注意事项:
~表示当前用户的主目录(如/home/username)。.表示当前目录,..表示上一级目录。
3. pwd - 显示当前路径
语法:pwd
示例:
pwd# 输出如 /home/user
注意事项:
- 无参数,直接输出当前工作目录的绝对路径。
二、文件和目录操作
4. mkdir - 创建目录
语法:mkdir [选项] 目录名
常用选项:
-p:递归创建目录(包括父目录)
示例:
mkdir project# 创建单层目录
mkdir -p a/b/c# 递归创建嵌套目录
注意事项:
- 使用
-p时,即使父目录不存在也会自动创建。
5. touch - 创建空文件
语法:touch 文件名
示例:
touch file.txt# 创建空文件
touch file1.txt file2.txt# 创建多个文件
注意事项:
- 如果文件已存在,会更新其时间戳(访问时间
atime和修改时间mtime)。
6. cp - 复制文件或目录
语法:cp [选项] 源路径 目标路径
常用选项:
-r:递归复制目录-i:复制前提示(若目标已存在)-v:显示详细过程
示例:
cp file.txt backup/# 复制文件到 backup 目录
cp -r dir/ dir_copy/# 递归复制目录
注意事项:
- 目标路径为目录时,源文件会被复制到该目录下;目标路径为文件时,源文件会被重命名为目标文件名。
7. mv - 移动或重命名文件
语法:mv [选项] 源路径 目标路径
示例:
mv old_name.txt new_name.txt# 重命名文件
mv file.txt /tmp/# 移动文件到 /tmp
注意事项:
- 若目标路径存在,源文件会被重命名为目标文件名。
- 使用
-i选项可避免覆盖时提示。
8. rm - 删除文件或目录
语法:rm [选项] 文件/目录
常用选项:
-r:递归删除目录-f:强制删除(不提示)-i:删除前提示
示例:
rm file.txt# 删除文件
rm -rf dir/# 强制删除目录及其内容
注意事项:
rm -rf是危险命令,需确认路径,避免误删。- 使用
trash工具(如trash-cli)可避免永久删除。
三、系统管理
9. top - 实时监控系统资源
语法:top
常用操作:
- 按
q退出 - 按
1显示所有 CPU 核心 - 按
k杀死指定进程
示例:
top# 查看系统资源占用
注意事项:
top会实时刷新,默认按 CPU 使用率排序。- 使用
htop(需安装)可获得更友好的界面。
10. df - 查看磁盘空间
语法:df [选项]
常用选项:
-h:以易读格式显示-i:显示 inode 使用情况
示例:
df -h# 查看磁盘空间
df -i /# 查看根目录的 inode 使用
注意事项:
- 输出包含文件系统、大小、已用、可用、使用百分比等信息。
11. du - 查看目录大小
语法:du [选项] 路径
常用选项:
-s:仅显示总大小-h:以易读格式显示
示例:
du -sh /var/log# 查看 /var/log 总大小
注意事项:
du默认递归统计子目录大小,-s用于汇总。
四、网络相关命令
12. ping - 测试网络连通性
语法:ping [选项] 目标地址
示例:
ping google.com# 测试与 google.com 的连接
ping -c 4 192.168.1.1 # 发送 4 次请求后退出
注意事项:
ping使用 ICMP 协议,可能被防火墙拦截。-c指定发送的请求数量。
13. ifconfig - 配置网络接口(旧版)
语法:ifconfig [接口] [选项]
示例:
ifconfig eth0# 查看 eth0 接口信息
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # 配置 IP
注意事项:
- 在现代系统中,
ip命令(如ip a)已逐步替代ifconfig。
14. ip - 网络管理工具(推荐)
语法:ip [子命令] [选项]
常用子命令:
ip a:显示所有网络接口ip r:查看路由表
示例:
ip a show eth0# 显示 eth0 接口详细信息
ip route add 192.168.2.0/24 via 192.168.1.1 # 添加路由
注意事项:
ip是ifconfig和route的替代工具,功能更强大。
五、权限管理
15. chmod - 修改文件权限
语法:chmod [选项] 权限 文件
权限表示法:
- 符号法:
u/g/o/a + -=rwx - 数字法:
755(rwxr-xr-x)
示例:
chmod +x script.sh# 为文件添加可执行权限
chmod 755 directory/ # 设置目录权限为 rwxr-xr-x
注意事项:
u:用户(文件所有者),g:组,o:其他,a:所有。- 数字法中,
4(读)、2(写)、1(执行)组合表示权限。
16. chown - 修改文件所有者
语法:chown [选项] 用户:组 文件
示例:
chown user:group file.txt# 更改文件所有者和组
注意事项:
- 需使用
sudo提权,普通用户无法修改其他用户文件的所有权。
六、进程管理
17. ps - 查看进程状态
语法:ps [选项]
常用选项:
ax:显示所有进程ef:显示详细信息
示例:
ps ax# 查看所有进程
ps -ef | grep java # 查找 Java 进程
注意事项:
ps仅显示当前快照,使用top或htop可实时监控。
18. kill - 终止进程
语法:kill [信号] PID
常用信号:
-9:强制终止-15:正常终止(默认)
示例:
kill 1234# 终止 PID 为 1234 的进程
kill -9 1234# 强制终止进程
注意事项:
- 强制终止(
-9)可能导致数据丢失,优先使用默认信号。
七、压缩与解压
19. tar - 打包/解包文件
语法:tar [选项] [文件/目录]
常用选项:
-c:创建包-x:解包-v:显示进度-f:指定文件名
示例:
tar -cvf archive.tar dir/# 打包目录
tar -xvf archive.tar# 解包
注意事项:
tar本身不压缩文件,需结合gzip(.tar.gz)或bzip2(.tar.bz2)。
20. gzip / gunzip - 压缩/解压 .gz 文件
示例:
gzip file.txt# 压缩为 file.txt.gz
gunzip file.txt.gz# 解压
注意事项:
gzip会删除原始文件,使用-c可保留。
八、查找与搜索
21. find - 查找文件或目录
语法:find [路径] [表达式]
常用选项:
-name:按名称查找-type:按类型查找(f文件,d目录)-mtime:按修改时间查找
示例:
find /home -name "*.log"# 查找所有 .log 文件
find . -type d# 查找所有目录
注意事项:
- 使用
-exec可结合其他命令操作结果(如find . -name "*.tmp" -exec rm -f {} \;)。
22. grep - 文本搜索
语法:grep [选项] 模式 文件
常用选项:
-i:忽略大小写-r:递归搜索目录-n:显示行号
示例:
grep "error" file.log# 查找包含 "error" 的行
grep -r "TODO" /project/# 递归查找 TODO 注释
注意事项:
- 使用
egrep或fgrep可支持扩展正则或固定字符串匹配。
九、用户管理
23. useradd / userdel - 添加/删除用户
示例:
sudo useradd newuser# 添加新用户
sudo userdel newuser# 删除用户
注意事项:
useradd默认不会创建家目录,需使用-m选项。
24. passwd - 修改密码
示例:
passwd username# 修改用户密码
注意事项:
- 普通用户只能修改自己的密码,管理员可修改其他用户密码。
十、环境变量与脚本
25. export - 设置环境变量
示例:
export PATH=$PATH:/opt/myapp
注意事项:
- 环境变量仅对当前 shell 会话生效,永久生效需写入
~/.bashrc或/etc/environment。
26. bash - 运行脚本
示例:
bash script.sh# 运行脚本
注意事项:
- 脚本需有可执行权限(
chmod +x script.sh),或使用./script.sh运行。
十一、高级命令
27. xargs - 构建并执行命令行
示例:
find . -name "*.tmp" | xargs rm -f# 删除所有 .tmp 文件
注意事项:
xargs会将输入按空格分隔,处理长路径时建议使用-0选项。
28. rsync - 同步文件或目录
示例:
rsync -avz /source/ user@remote:/dest/# 同步到远程服务器
注意事项:
-a:归档模式(保留权限、时间等)-z:启用压缩
十二、调试与日志
29. tail - 查看文件末尾
示例:
tail -f /var/log/syslog# 实时跟踪日志
注意事项:
-n选项指定行数(如tail -n 100 file.txt)。
30. journalctl - 查看系统日志(Systemd)
示例:
journalctl -u sshd# 查看 sshd 服务日志
注意事项:
journalctl是 Systemd 的日志工具,支持按服务、时间等过滤。
十三、注意事项与最佳实践
- 权限操作:使用
sudo时需谨慎,避免误操作。 - 文件删除:
rm -rf会强制删除目录,需确认路径。 - 网络命令:
ifconfig在现代系统中可能被ip替代。 - 脚本安全:运行脚本前检查内容,避免执行恶意代码。
- 日志管理:使用
logrotate定期轮转日志文件,防止磁盘占满。
十四、命令速查表
| 命令 | 用途 |
|---|---|
ls | 列出目录内容 |
cd | 切换目录 |
cp | 复制文件/目录 |
mv | 移动/重命名文件/目录 |
rm | 删除文件/目录 |
grep | 文本搜索 |
find | 查找文件 |
top | 查看进程资源占用 |
ping | 测试网络连接 |
tar | 打包/解包文件 |
chmod | 修改文件权限 |
通过持续学习和实践,你将能够熟练使用 Linux 命令行,应对各种系统管理任务。建议结合 管道符 | 和 重定向 > 进行复杂操作(如 grep "error" file.txt | wc -l)。
