在 Linux 操作系统中,命令行工具是系统管理、程序开发及故障排查的基础。掌握高效的终端命令不仅能提升操作效率,还能更深入地理解系统底层逻辑。下文将从文件管理、网络配置、进程监控、权限控制等维度,详细介绍 50 多个核心 Linux 命令的应用场景与操作细节。
一、 文件与目录操作
文件系统操作是终端使用的基础,涵盖了从简单的目录切换到复杂的权限修改等任务。
| 命令 | 描述 | 典型示例 |
|---|---|---|
ls |
列出目录内容 | ls -la |
cd |
切换当前工作目录 | cd /var/log |
pwd |
显示当前工作路径 | pwd |
mkdir |
创建新目录 | mkdir -p /path/to/dir |
rm |
删除文件或目录 | rm -rf dir_name |
cp |
复制文件或目录 | cp source.txt dest.txt |
mv |
移动或重命名文件 | mv old_name.txt new_name.txt |
touch |
创建空文件或更新时间戳 | touch app.log |
cat |
连接并显示文件内容 | cat config.conf |
chmod |
修改文件权限模式 | chmod 755 script.sh |
chown |
修改文件所有者 | chown user:group file |
find |
在目录树中搜索文件 | find . -name "*.log" |
tar |
磁带归档工具,用于压缩与解压 | tar -cvf archive.tar dir/ |
链接创建:ln 命令
ln 命令用于创建指向文件的链接。通过 -s 参数可创建符号链接(软链接),它类似于 Windows 的快捷方式。若不加参数,则创建硬链接,硬链接是原始文件的镜像副本,即使删除原文件,硬链接依然可用。
# 创建软链接
ln -s /path/to/original /path/to/link
二、 网络管理与调试
网络工具用于检测连接性、追踪数据包路径以及下载远程资源。
| 命令 | 描述 | 典型示例 |
|---|---|---|
ping |
测试主机连通性 | ping google.com |
ifconfig |
配置或显示网络接口信息 | ifconfig |
ip a |
现代 Linux 中替代 ifconfig 的工具 | ip a |
ssh |
安全远程登录协议 | ssh user@remote_host |
wget |
非交互式网络下载器 | wget http://example.com/file.zip |
curl |
数据传输工具,支持多种协议 | curl -I https://example.com |
traceroute |
显示数据包到达主机的路由路径 | traceroute example.com |
netstat |
显示网络连接与路由表 | netstat -tuln |
防火墙管理:ufw 与 iptables
ufw(Uncomplicated Firewall)为 Linux 内核的 netfilter 提供了简化的接口。相比于语法复杂的 iptables,ufw 允许操作者通过直观的命令开启端口。
# 使用 ufw 允许 80 端口流量
sudo ufw allow 80
# 使用 iptables 实现相同功能
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
三、 进程监控与系统状态
实时监控系统资源利用率是排查性能瓶颈的关键。
| 命令 | 描述 | 典型示例 |
|---|---|---|
ps |
报告当前进程快照 | ps aux |
top |
实时显示进程动态 | top |
htop |
交互式进程查看器(需安装) | htop |
kill |
终止指定 PID 的进程 | kill -9 1234 |
df |
报告文件系统磁盘空间使用情况 | df -h |
du |
估算目录空间占用 | du -sh /var/log |
free |
显示系统内存使用情况 | free -h |
uptime |
显示系统运行时间及负载 | uptime |
动态监控:top 命令
top 命令提供了类似于任务管理器的界面。在运行界面中,可观察 CPU 使用率、内存占用以及各进程的状态。通过 top -o MEM 可按内存消耗对进程进行排序,快速定位内存泄漏来源。
四、 文本处理与搜索
Linux 遵循“一切皆文件”的原则,因此文本处理命令在自动化脚本中至关重要。
| 命令 | 描述 | 典型示例 |
|---|---|---|
grep |
强大的文本搜索工具 | grep "error" sys.log |
sed |
流编辑器,用于过滤和转换文本 | sed 's/old/new/g' file |
awk |
文本分析与处理语言 | awk '{print $1}' file |
head |
输出文件开头部分 | head -n 20 file |
tail |
输出文件结尾部分 | tail -f access.log |
sort |
对文本行进行排序 | sort -n numbers.txt |
diff |
逐行比较文件差异 | diff file1 file2 |
搜索与过滤:grep 命令
grep 常与其他命令配合使用。通过管道符 |,可以将前一个命令的输出作为搜索对象。例如,查找所有正在运行的 python 进程:
ps aux | grep "python"
五、 用户权限管理
权限控制是 Linux 安全模型的基石,通过 sudo 机制可以实现最小权限原则。
- sudo: 以超级用户权限执行命令。
- useradd / usermod: 创建或修改用户信息。
- passwd: 修改用户密码。
- whoami: 显示当前登录用户名。
# 修改指定用户的密码
sudo passwd username
# 将用户添加到 sudo 组
sudo usermod -aG sudo username
六、 常见错误调试与排查
在操作命令行时,常见的性能瓶颈或逻辑错误可通过以下方式排查:
- 命令未找到 (Command Not Found):检查命令是否已安装,或相关二进制路径是否包含在系统
PATH环境变量中。 - 权限拒绝 (Permission Denied):确认当前用户对文件是否有读/写/执行权限,必要时使用
sudo提权。 - IO 瓶颈:使用
iostat或vmstat观察磁盘活动,判断系统卡顿是否由高 IO 等待引起。 - 文件冲突:在多进程写入场景下,可利用
flock实施文件锁,或通过mv的原子性操作规避写入冲突。
七、 结语
熟练运用上述命令能够显著提升系统管理效率。建议通过 man <command> 获取每个命令的完整手册页,深入了解各参数的特定用途。从简单的文件移动到复杂的网络分析,命令行工具提供了几乎无限的组合可能,是构建稳定、高效服务器环境的核心支柱。
关于
关注我获取更多资讯