Linux 中的命令行是操作系统的核心交互方式,它通过文本指令与系统进行高效沟通,相较于图形界面,命令行具有轻量化、自动化和精细化的优势,尤其适合服务器管理、系统运维和开发场景,以下将从基础命令、高级操作、Shell 脚本基础及实用技巧等方面展开详细介绍。

基础命令:Linux 命令行的入门基石
Linux 命令行的基本结构通常为 命令选项参数,其中选项以 或 开头,用于调整命令行为,参数则是命令作用的对象。
文件与目录操作
文件管理是命令行最常用的功能之一,核心命令包括 ls、cd、pwd、mkdir、rm、cp、mv 和 touch。
ls:列出目录内容,常用选项-l(显示详细信息,如权限、所有者、大小)、-a(隐藏文件)、-h(以人类可读格式显示大小,如 KB、MB)。ls -lah可查看目录下所有文件的详细列表,包括隐藏文件。cd:切换目录,cd ~进入用户主目录,cd ..返回上级目录,cd -在最近两次目录间切换。pwd:显示当前工作目录的完整路径,/home/user/documents。mkdir:创建目录,-p选项可递归创建多级目录(如mkdir -p parent/child)。rm:删除文件或目录,-r递归删除目录,-f强制删除(不提示确认),需谨慎使用。cp:复制文件或目录,-r复制目录,-p保留文件属性(如权限、时间戳)。mv:移动文件或目录,也可用于重命名(如mv old_name.txt new_name.txt)。touch:创建空文件或更新文件时间戳。
文本查看与编辑
cat:查看文件内容,适合小文件(如cat file.txt)。less:分页查看文件内容,支持上下翻页、搜索()和退出(q)。head/tail:查看文件开头或末尾内容,-n指定行数(如tail -n 10 file.txt查看最后 10 行),tail -f可实时追踪文件更新(常用于日志监控)。grep:文本搜索,-i忽略大小写,-r递归搜索目录(如grep -r "error" /var/log)。
高级操作:提升命令行效率的关键
掌握高级命令和技巧后,可大幅提升命令行的处理能力,尤其适用于复杂任务。
文本处理三剑客:grep、sed、awk
sed(流编辑器):用于文本替换、删除等操作,sed 's/old/new/g' file.txt将文件中所有 "old" 替换为 "new",-i选项可直接修改原文件。awk:强大的文本分析工具,按列处理文本,awk '{print $1, $3}' file.txt打印文件的第 1 列和第 3 列,-F指定分隔符(如-F ","处理 CSV 文件)。
文件压缩与打包
tar:打包工具,常与压缩命令结合使用:- 打包并 gzip 压缩:
tar -czf archive.tar.gz dir/ - 解包并解压:
tar -xzf archive.tar.gz tar -tzf archive.tar.gz
- 打包并 gzip 压缩:
zip/unzip:处理 ZIP 格式,zip -r archive.zip dir/打包目录,unzip archive.zip解压。
进程管理与系统监控
ps:查看当前进程,aux选项显示所有进程详细信息(如ps aux | grep nginx查看 nginx 进程)。top/htop:动态监控进程资源占用,htop是top的增强版,支持鼠标操作和彩色显示。kill/killall:终止进程,kill -9强制终止(如kill -9 1234),killall nginx终止所有同名进程。df/du:磁盘空间管理,df -h查看各分区使用情况,du -sh dir/查看目录总大小。
权限管理
Linux 采用 rwx(读、写、执行)权限模型,通过 chmod、chown 修改权限和所有者:

chmod:修改权限,u+x为用户添加执行权限,755表示所有者 rwx,组和其他用户 r-x(如chmod 755 script.sh)。chown:修改文件所有者,-R递归修改目录(如chown -R user:group dir/)。
Shell 脚本基础:自动化任务的利器
Shell 脚本是将命令行指令写入脚本文件,通过执行文件批量处理任务,常用于系统运维和自动化流程。
脚本基本结构
#!/bin/bash # Shebang 行,指定解释器 # 注释:以 # 开头,说明脚本功能 name="Linux" # 变量赋值(无空格) echo "Hello, $name!" # 输出变量值
执行脚本需先添加执行权限(chmod +x script.sh),然后通过 ./script.sh 运行。
条件判断与循环
- 条件判断:
if语句根据条件执行不同逻辑,if [ $age -ge 18 ]; then echo "Adult" else echo "Minor" fi - 循环:
for循环遍历列表,while循环条件为真时执行:for file in *.txt; do echo "Processing $file" done
实用技巧:提升命令行使用体验
- 命令历史与补全:
history查看历史命令,!n执行第 n 条历史命令,Tab 键自动补全命令或文件名,减少输入错误。 - 管道与重定向: 将前一个命令的输出作为后一个命令的输入(如
ls -l | grep txt),>将输出重定向到文件(覆盖),>>追加到文件末尾。 - 别名设置:通过
alias简化长命令(如alias ll='ls -lah'),永久生效需写入~/.bashrc或~/.zshrc配置文件。 - 远程管理:
ssh user@ip远程登录服务器,scp file.txt user@ip:/remote/path安全复制文件,rsync -avz local/ remote/同步目录(增量传输)。
相关问答 FAQs
Q1:如何快速查找包含特定关键词的文件?
A:可结合 find 和 grep 命令,例如在当前目录及子目录中查找包含 "error" 的 .log 文件:find . -type f -name "*.log" | xargs grep -l "error"。find . -type f -name "*.log" 查找所有 .log 文件,xargs grep -l "error" 输出包含 "error" 的文件名。
Q2:如何查看系统负载和资源占用情况?
A:可通过 uptime 查看系统负载(如 15:30:45 up 10 days, 2:30, 2 users, load average: 0.20, 0.30, 0.15,最后三个数值为 1/5/15 分钟平均负载);top 或 htop 实时监控 CPU、内存占用进程;free -h 查看内存使用情况(如 Mem: 7.7GiB used, 2.3GiB free, 0.8GiB buff/cache)。

