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
)。
