📘 本文使用Butterfly主题特性优化阅读体验:

  • 点击右上角标签图标切换章节
  • 代码块支持一键复制
  • 复杂示例使用折叠功能
  • 命令行参数使用标签页分类
graph TD
    A[Linux命令] --> B[软件管理]
    A --> C[文件操作]
    A --> D[系统监控]
    A --> E[网络管理]
    B --> F[包管理器]
    B --> G[编译安装]
    C --> H[压缩解压]
    C --> I[文本处理]

软件包管理

1
2
3
4
5
6
7
8
9
10
11
12
13
# 更新软件源
sudo apt update

# 安装软件
sudo apt install package-name

# 卸载软件
sudo apt remove package-name # 保留配置文件
sudo apt purge package-name # 完全卸载

# 清理缓存
sudo apt autoremove # 删除无用依赖
sudo apt clean # 清理下载缓存
1
2
3
4
5
6
7
8
9
10
11
# 安装rpm包
sudo rpm -ivh package.rpm

# 查询已安装
rpm -qa | grep -i package-name

# 完全卸载
sudo rpm -e package-name

# 验证签名
rpm --checksig package.rpm
1
2
3
4
5
6
7
8
9
10
11
# 通用编译流程
tar -xvf source.tar.gz
cd source-directory
./configure --prefix=/opt/custom
make -j$(nproc)
sudo make install

# 不同压缩格式解压命令
tar -xvf file.tar # .tar
tar -zxvf file.tar.gz # .tar.gz
tar -jxvf file.tar.bz2 # .tar.bz2
1
2
3
4
5
6
7
8
9
10
11
# 列出已安装
snap list

# 安装应用
sudo snap install package-name --classic

# 更新应用
sudo snap refresh package-name

# 完全卸载
sudo snap remove package-name

文件操作

压缩解压

1
2
3
4
5
6
7
8
# 创建tar包
tar -cvf archive.tar dir/

# 创建gz压缩包
tar -czvf archive.tar.gz dir/

# 创建bz2压缩包
tar -cjvf archive.tar.bz2 dir/
1
2
3
4
5
6
7
8
# 解压到当前目录
tar -xvf archive.tar

# 解压到指定目录
tar -xvf archive.tar -C /target/path

# 列出压缩内容
tar -tf archive.tar.gz

文本处理

grep高级用法
1
2
3
4
5
6
7
8
# 查找Java异常日志
grep -n 'Exception' app.log --color=auto

# 排除注释行
grep -v '^#' config.ini

# 递归搜索代码
grep -r 'main(' src/ --include='*.java'
awk数据处理示例
1
2
3
4
5
6
7
8
# 统计nginx访问IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr

# 计算CSV文件第二列总和
awk -F',' '{sum+=$2} END{print sum}' data.csv

# 格式化输出进程信息
ps aux | awk '{printf "%-10s %5s %s\n",$1,$2,$11}'

系统监控

1
2
3
4
5
6
7
8
# 实时进程监控
top -u www-data

# 查找Java进程
ps aux | grep '[j]ava'

# 结束进程树
pkill -9 -P parent_pid
1
2
3
4
5
6
# 内存使用排行
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

# 磁盘空间分析
du -sh * | sort -hr
df -hT /var

网络管理

1
2
3
4
5
6
# 开放HTTP端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

# 查看开放端口
sudo firewall-cmd --list-all
1
2
3
4
5
6
7
8
# 追踪路由路径
mtr -rw google.com

# 测试端口连通性
nc -zv 192.168.1.100 22

# 抓取HTTP请求
tcpdump -i eth0 -A port 80 | grep 'GET'

进阶应用

日志分析

1
2
3
4
5
6
7
8
# 实时监控日志更新
tail -f /var/log/syslog | grep --line-buffered 'ERROR'

# 分析访问量前10的IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10

# 提取特定时间段日志
sed -n '/23\/Feb\/2025:20:00:00/,/23\/Feb\/2025:21:00:00/p' access.log

批量操作

1
2
3
4
5
6
7
8
# 批量重命名文件
rename 's/\.jpeg$/\.jpg/' *.jpeg

# 批量转换图片尺寸
mogrify -resize 800x600 *.jpg

# 并行处理文件
find . -name '*.log' | parallel gzip {}

完整命令参考

点击查看完整命令列表

系统维护

1
2
3
4
5
6
7
8
# 自动清理缓存
sudo apt autoremove

# 检查系统更新
sudo apt update && sudo apt upgrade -y

# 查看内核版本
uname -r

文件管理

1
2
3
4
5
6
7
8
# 查找大文件
find / -type f -size +100M -exec ls -lh {} \;

# 校验文件完整性
md5sum important-file

# 实时同步目录
rsync -avz --progress source/ destination/

网络工具

1
2
3
4
5
6
7
8
# 查看开放端口
netstat -tulpn

# 测试下载速度
wget -O /dev/null http://speedtest.tele2.net/10GB.zip

# 查看路由表
route -n

✅ 最佳实践建议:

  1. 使用man command查看命令手册
  2. 复杂操作先使用--dry-run参数测试
  3. 生产环境操作前做好备份
  4. 使用版本控制系统管理重要配置文件
  5. 定期检查系统日志(/var/log/)