Linux 软件资源管理命令全解析
下面详细解析 Linux 系统中软件资源管理的核心命令,涵盖包管理、压缩解压、网络传输、编译安装和服务管理等关键操作:
包管理工具
1. rpm - RPM 包管理(RHEL/CentOS/openEuler)
# 安装软件包
sudo rpm -ivh package.rpm
# 升级软件包
sudo rpm -Uvh package.rpm
# 查询已安装包
rpm -qa | grep nginx
# 查询包文件
rpm -ql httpd
# 验证包完整性
rpm -V httpd
# 卸载软件包
sudo rpm -e package_name2. yum - 高级包管理(RHEL/CentOS/openEuler)
# 安装软件
sudo yum install nginx
# 更新所有软件
sudo yum update
# 搜索软件包
yum search python3
# 查看软件信息
yum info docker
# 删除软件
sudo yum remove httpd
# 清理缓存
sudo yum clean all3. apt-get - Debian/Ubuntu 包管理
# 更新软件列表
sudo apt-get update
# 安装软件
sudo apt-get install nginx
# 升级所有软件
sudo apt-get upgrade
# 删除软件(保留配置)
sudo apt-get remove package
# 完全删除(含配置)
sudo apt-get purge package
# 自动清理
sudo apt-get autoremove压缩与解压
4. tar - 打包归档工具
# 创建压缩包(gzip)
tar -czvf archive.tar.gz /path/to/dir
# 解压(gzip)
tar -xzvf archive.tar.gz
# 创建压缩包(bzip2)
tar -cjvf archive.tar.bz2 /path/to/dir
# 查看压缩包内容
tar -tf archive.tar.gz
# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/dir5. gzip / bzip2 - 文件压缩
# gzip 压缩
gzip file.txt # 生成 file.txt.gz
# gzip 解压
gzip -d file.txt.gz
# bzip2 压缩
bzip2 file.log # 生成 file.log.bz2
# bzip2 解压
bzip2 -d file.log.bz26. zip / unzip - ZIP 压缩格式
# 创建 ZIP 压缩包
zip -r archive.zip /path/to/dir
# 解压 ZIP 文件
unzip archive.zip
# 解压到指定目录
unzip archive.zip -d /target/dir
# 加密压缩
zip -e secure.zip sensitive.doc网络传输
7. wget - 命令行下载工具
# 下载文件
wget https://example.com/file.iso
# 断点续传
wget -c https://example.com/large.file
# 限速下载(100KB/s)
wget --limit-rate=100k https://example.com/bigfile
# 镜像整个网站
wget -mk https://example.com/
# 后台下载
wget -b https://example.com/large.iso8. curl - 多功能传输工具
# 下载文件
curl -O https://example.com/file.txt
# 发送 POST 请求
curl -X POST -d 'param1=value' https://api.example.com
# 设置请求头
curl -H "Content-Type: application/json" https://api.example.com
# 使用代理
curl -x http://proxy:8080 https://example.com
# 测试网站响应时间
curl -s -o /dev/null -w "%{time_total}\n" https://google.com9. rz/sz - Zmodem 文件传输(需安装 lrzsz)
# 发送文件到本地(终端)
sz filename
# 从终端接收文件
rz # 弹出文件选择对话框10. jar - Java 归档管理
# 创建 JAR 包
jar cvf app.jar *.class
# 查看 JAR 内容
jar tf app.jar
# 解压 JAR 包
jar xvf app.jar
# 运行可执行 JAR
java -jar app.jar服务管理
11. service - SysV 服务管理(旧系统)
# 启动服务
sudo service nginx start
# 停止服务
sudo service nginx stop
# 重启服务
sudo service nginx restart
# 查看状态
sudo service nginx status12. systemctl - systemd 服务管理
# 启动服务
sudo systemctl start nginx
# 设置开机启动
sudo systemctl enable nginx
# 查看服务状态
systemctl status nginx
# 重启服务
sudo systemctl restart nginx
# 查看所有服务
systemctl list-unit-files --type=service13. chkconfig - 服务启动管理(SysV)
# 查看服务状态
chkconfig --list
# 设置开机启动
sudo chkconfig httpd on
# 禁用开机启动
sudo chkconfig nginx off编译安装
14. make - 源代码构建工具
# 配置编译选项
./configure --prefix=/usr/local
# 编译源代码
make
# 安装软件
sudo make install
# 清理构建文件
make clean
# 卸载软件
sudo make uninstall15. cmake - 跨平台构建工具
# 创建构建目录
mkdir build && cd build
# 生成 Makefile
cmake ..
# 编译安装
make && sudo make install
# 指定构建选项
cmake -DCMAKE_INSTALL_PREFIX=/opt/app ..实用技巧与场景
软件源管理
# 添加 EPEL 源(CentOS)
sudo yum install epel-release
# 添加 PPA 源(Ubuntu)
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update下载安装示例
# 下载并安装二进制包
wget https://example.com/app.tar.gz
tar -xzvf app.tar.gz
cd app
./configure
make
sudo make install服务管理场景
# 查看服务日志
sudo journalctl -u nginx -f
# 修改服务配置
sudo systemctl edit nginx.service
# 重载服务配置
sudo systemctl daemon-reload编译优化
# 多核编译加速
make -j$(nproc)
# 最小化安装
./configure --prefix=/usr --disable-static命令对比表
| 命令 | 类别 | 主要功能 | 典型使用场景 |
|---|---|---|---|
rpm | 包管理 | 管理 RPM 格式软件包 | CentOS/RedHat 系统安装 |
yum | 包管理 | 自动解决依赖关系 | 批量安装/更新软件 |
apt-get | 包管理 | Debian 系软件管理 | Ubuntu/Debian 系统维护 |
tar | 压缩归档 | 打包/解压目录 | 备份/迁移数据 |
wget | 网络传输 | 命令行下载文件 | 自动化脚本下载资源 |
curl | 网络传输 | 数据传输/API 调用 | 测试 RESTful 接口 |
systemctl | 服务管理 | 管理系统服务 | 服务启停/自启动配置 |
make | 编译安装 | 构建源代码 | 从源码安装软件 |
jar | Java 管理 | 创建/管理 Java 归档文件 | Java 应用打包部署 |
最佳实践指南
包管理原则:
# 定期更新系统 sudo yum update # RHEL系 sudo apt-get upgrade # Debian系 # 清理无用包 sudo yum autoremove # RHEL系 sudo apt autoremove # Debian系编译安装规范:
# 使用标准安装路径 ./configure --prefix=/usr/local # 分离构建目录 mkdir build && cd build cmake ..服务管理安全:
# 限制服务权限 sudo systemctl edit nginx添加:
[Service] User=nginx Group=nginx网络传输安全:
# 验证下载文件完整性 wget https://example.com/file.iso wget https://example.com/file.iso.sha256 sha256sum -c file.iso.sha256
提示:使用man 命令名(如man tar)查看完整手册。对于生产环境,建议使用配置管理工具(Ansible/SaltStack)批量管理软件资源。掌握这些命令是 Linux 系统管理员的核心技能,建议在测试环境中充分练习后再应用于生产环境。
评论 (0)