Linux作为开源操作系统的代表,其强大的命令行工具是高效管理系统的核心,熟练掌握常用命令不仅能提升工作效率,还能深入理解系统运行机制,以下从文件管理、系统监控、网络配置、文本处理及软件管理五个维度,详细解析Linux常用命令的操作逻辑与应用场景。

文件与目录管理
文件操作是Linux最基础的功能,ls
命令用于列出目录内容,配合-l
显示详细信息(权限、所有者、大小等),-a
显示隐藏文件,例如ls -la /home
可查看用户目录下所有文件,创建目录使用mkdir
,如mkdir -p /test/dir
中的-p
参数可递归创建多级目录,删除目录时,rm -rf /tmp/old
中的-r
递归删除,-f
强制执行,需谨慎使用,文件复制通过cp
命令,cp -r source_dir/ dest_dir/
可复制整个目录,-i
参数会在覆盖前提示确认,移动或重命名文件用mv
命令,如mv file.txt newfile.txt
,查看文件内容时,cat
适合小文件,more
或less
支持分页浏览大文件,head -n 10 file.txt
查看前10行,tail -f /var/log/syslog
实时监控日志更新。
系统监控与进程管理
top
命令动态显示进程资源占用,按P
按CPU排序、M
按内存排序。ps aux
列出所有进程,grep
配合可筛选特定进程,如ps aux | grep nginx
,终止进程使用kill
命令,kill -9 PID
强制结束进程,-15
为正常终止,系统资源监控中,df -h
查看磁盘空间使用情况(-h
以人类可读格式显示),free -m
查看内存使用量(MB为单位)。uptime
显示系统运行时间和负载平均值,iostat
和vmstat
分别监控磁盘I/O和虚拟内存状态,需安装sysstat
包使用。
网络配置与诊断
网络配置常用ifconfig
或ip addr
查看/配置网卡信息,ifconfig eth0 192.168.1.100 netmask 255.255.255.0
设置IP地址。ping
测试网络连通性,如ping -c 4 www.baidu.com
发送4个数据包。netstat -tuln
查看监听端口,ss -tuln
为其替代工具,性能更优。wget
或curl
用于下载文件,如wget https://example.com/file.zip
。traceroute
追踪网络路径,nslookup
或dig
解析域名,例如nslookup www.google.com
,防火墙管理中,iptables
和firewalld
是常用工具,如firewall-cmd --add-port=80/tcp --permanent
开放80端口。
文本处理与搜索
文本搜索以grep
为核心,grep "error" /var/log/logfile
匹配包含"error"的行,-i
忽略大小写,-r
递归搜索目录。find
命令用于文件查找,如find / -name "*.txt" -type f
搜索所有.txt文件,文本编辑器中,nano
适合新手,vim
功能强大,需掌握基本模式(普通模式、插入模式、命令模式),文本处理工具中,sort
对行排序,uniq
去除重复行,wc -l
统计行数,awk
和sed
用于复杂文本处理,例如awk '{print $1}' file.txt
打印每行第一列。

软件包管理与权限控制
不同发行版使用不同包管理工具:Debian/Ubuntu用apt
,如apt update
更新源,apt install nginx
安装软件;CentOS/RHEL用yum
或dnf
,如yum install httpd
,权限管理通过chmod
修改文件权限,chmod 755 script.sh
设置所有者可读写执行,组和其他用户可读执行;chown
修改所有者,如chown user:group file.txt
,压缩解压中,tar -czvf archive.tar.gz dir/
创建gzip压缩包,tar -xzvf archive.tar.gz
解压,zip
和unzip
处理.zip格式文件。
以下为常用命令速查表:
| 功能类别 | 命令示例 | 说明 |
|----------------|-----------------------------------|-----------------------------------|
| 文件列表 | ls -la /etc
| 显示/etc目录详细信息及隐藏文件 |
| 目录创建 | mkdir -p /opt/test
| 递归创建多级目录 |
| 进程查看 | ps aux | grep sshd
| 查找sshd相关进程 |
| 磁盘空间 | df -h /dev/sda1
| 查看指定分区磁盘使用情况 |
| 网络端口 | ss -tuln | grep :80
| 查看监听80端口的进程 |
| 文本搜索 | grep -r "warning" /var/log/
| 在日志目录递归搜索含"warning"的行 |
相关问答FAQs
Q1: 如何查找最近24小时内修改过的.log文件?
A: 使用find
命令结合-mtime
参数,find /var/log -name "*.log" -mtime -1
,其中-mtime -1
表示修改时间在1天(24小时)内。
Q2: Linux中如何将命令输出结果同时保存到文件和终端?
A: 使用tee
命令,ls -l | tee file.txt
,会将ls
的结果同时显示在终端并保存到file.txt中,-a
参数可追加内容而非覆盖。
