Linus Torvalds作为Linux内核的创建者,对命令行的熟练运用是其高效工作的核心,Linux命令行提供了强大的文本处理、系统管理和文件操作能力,掌握这些命令不仅能提升操作效率,更能深入理解系统运行机制,以下将详细介绍Linus常用命令及其应用场景,涵盖文件操作、文本处理、系统监控、权限管理等多个维度。

在文件操作方面,ls
命令是最基础的目录浏览工具,通过ls -l
可以显示文件的详细信息,包括权限、所有者、大小和修改时间;ls -a
则会显示隐藏文件,结合grep
命令可以过滤特定内容,例如ls -l | grep "txt"
仅显示txt文件。cd
命令用于切换目录,cd ..
返回上级目录,cd -
在最近两次目录间切换,文件复制使用cp
命令,cp -r
可递归复制整个目录;mv
命令兼具移动和重命名功能,mv oldname newname
即可完成重命名,删除文件需谨慎,rm -f
强制删除,rm -rf
递归删除目录,但误操作可能导致数据丢失,建议先使用rm -i
确认,文件查找方面,find
命令功能强大,例如find /home -name "*.log"
在home目录下查找所有log文件;而locate
命令基于数据库查找,速度更快但需定期更新数据库updatedb
。
文本处理是Linux命令行的强项。cat
命令用于查看文件内容,cat file.txt | more
可分页显示;less
命令支持上下翻页和关键词搜索,更适合大文件查看,文本编辑器中,vim
是Linus的首选,通过vim file.txt
进入编辑模式,i
进入插入模式,Esc
后wq
保存退出。grep
是文本搜索利器,grep -r "error" /var/log
递归搜索包含error的行,grep -v "warning"
则排除包含warning的行。sed
流编辑器可用于文本替换,例如sed 's/old/new/g' file.txt
将文件中所有old替换为new,-i
选项直接修改原文件。awk
命令适合按列处理文本,awk '{print $1,$3}' file.txt
打印每行的第一列和第三列,排序去重可通过sort | uniq
实现,sort -n
按数字排序,uniq -c
统计重复次数。
系统监控与维护命令帮助掌握系统状态。top
命令实时显示进程资源占用,按P
按CPU排序,按M
按内存排序;htop
是其增强版,支持彩色显示和鼠标操作。ps
命令查看进程状态,ps -ef
显示所有进程,ps aux | grep "nginx"
过滤nginx进程。df -h
查看磁盘使用情况,du -sh *
统计当前目录下各文件大小,网络监控中,ping
测试网络连通性,netstat -tuln
查看监听端口,ss -tuln
是netstat
的替代品,显示更高效。tail -f
实时查看日志文件更新,tail -n 100
显示文件末尾100行,系统信息可通过uname -a
查看内核版本,lscpu
查看CPU信息,free -h
查看内存使用情况。
权限管理是Linux安全的核心。chmod
命令修改文件权限,chmod 755 file.txt
设置所有者可读写执行,其他用户可读执行;chmod u+x script.sh
为所有者添加执行权限。chown
更改文件所有者,chown user:group file.txt
同时设置所有者和所属组。sudo
命令以管理员身份执行操作,sudo -i
切换到root用户,文件权限符号表示中,r
=4,w
=2,x
=1,组合使用即可得到数字权限,特殊权限包括SUID
(4)、SGID
(2)、Sticky Bit
(1),例如chmod u+s file
设置SUID权限,使文件以所有者身份执行。

压缩与打包命令便于文件传输和存储。tar
命令最常用,tar -czvf archive.tar.gz dir/
压缩目录,tar -xzvf archive.tar.gz
解压,c
创建、x
解压、z
gzip格式、v
显示过程、f
指定文件名。zip
和unzip
处理zip格式,zip -r archive.zip dir/
压缩,unzip archive.zip
解压。gzip
单独压缩文件,gzip file.txt
生成file.txt.gz,gunzip file.txt.gz
解压。bzip2
压缩率更高,bzip2 -k file.txt
保留原文件压缩,bunzip2 file.txt.bz2
解压。
进程管理方面,kill
命令终止进程,kill -9
强制终止,需先通过pgrep
获取进程ID,如pgrep nginx
。nohup
命令使进程在后台运行且忽略挂断信号,nohup command &
适合长时间运行的任务。jobs
查看后台任务,bg %1
将任务1切换到后台,fg %1
调到前台。systemctl
管理系统服务,systemctl start nginx
启动服务,systemctl enable nginx
设置开机自启,systemctl status nginx
查看服务状态。
以下通过表格总结常用命令及其参数:
命令 | 常用参数 | 功能描述 |
---|---|---|
ls | -l, -a, -h | 列出文件及目录信息 |
cp | -r, -f, -i | 复制文件或目录 |
mv | -f, -i | 移动文件或重命名 |
rm | -r, -f, -i | 删除文件或目录 |
find | -name, -type, -path | 按条件查找文件 |
grep | -r, -i, -v, -n | 文本搜索及过滤 |
sed | 's/old/new/g', -i | 流编辑器,文本替换 |
awk | '{print $1}', -F: | 按列处理文本 |
top | -p, -d, -c | 实时进程监控 |
ps | -ef, -aux | 查看进程状态 |
df | -h, -T | 查看磁盘使用情况 |
tar | -czvf, -xzvf | 打包压缩及解压 |
chmod | 755, u+x, go-w | 修改文件权限 |
chown | user:group, -R | 修改文件所有者及所属组 |
相关问答FAQs:

Q1: 如何快速查找包含特定关键词的所有文件?
A1: 可使用find
命令结合grep
,例如在当前目录及子目录中查找包含"error"的文件:find . -type f -exec grep -l "error" {} \;
,其中-type f
表示仅查找文件,-exec grep -l "error" {} \;
对每个找到的文件执行grep搜索并输出文件名,若需显示匹配行内容,可将-l
改为-n
显示行号。
Q2: 如何查看系统启动后各进程的CPU占用率排名?
A2: 可通过ps
命令结合sort
实现,具体命令为:ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 10
,该命令中-eo
指定输出格式(进程ID、父进程ID、命令、内存占用、CPU占用),--sort=-%cpu
按CPU占用率降序排序,head -n 10
显示前10个高占用进程,便于快速定位性能瓶颈。