一、压缩与解压缩工具
Linux 中压缩工具主要用于打包 / 压缩文件(节省空间)或解压缩,常见格式包括
tar.gz、tar.bz2、tar.xz、zip等。1. tar(打包工具,常与压缩算法结合)
tar本身仅打包文件(不压缩),需配合gzip、bzip2、xz等算法实现压缩,是 Linux 最常用的归档工具。-
核心选项:
-c:创建新归档;-x:提取归档;-v:显示过程(verbose);-f:指定归档文件(必须放最后);-z:用gzip压缩 / 解压(.tar.gz);-j:用bzip2压缩 / 解压(.tar.bz2);-J:用xz压缩 / 解压(.tar.xz)。 -
常用示例:
- 打包并压缩目录(
gzip算法,最常用):tar -czvf archive.tar.gz /path/to/dir # 打包dir并压缩为archive.tar.gz - 解压
tar.gz文件:tar -xzvf archive.tar.gz # 解压到当前目录(可加-C指定路径:-xzvf archive.tar.gz -C /target/dir) - 用
xz压缩(压缩率更高,速度较慢):tar -cJvf archive.tar.xz /path/to/dir # 压缩为.tar.xz tar -xJvf archive.tar.xz # 解压.tar.xz
- 打包并压缩目录(
2. zip与unzip(跨平台压缩,兼容 Windows)
zip是跨平台通用的压缩格式,适合与 Windows 交换文件。-
压缩:
zip -r archive.zip /path/to/dir # -r:递归压缩目录 zip -e archive.zip file1 file2 # -e:加密压缩(需输入密码) -
解压:
unzip archive.zip # 解压到当前目录 unzip archive.zip -d /target/dir # 解压到指定目录 unzip -l archive.zip # 查看压缩包内容(不解压)
3. 其他压缩工具
gzip/gunzip:仅压缩单个文件(不支持目录),压缩后原文件删除(默认):gzip file.txt # 压缩为file.txt.gz(删除原文件) gunzip file.txt.gz # 解压为file.txt(删除.gz文件)bzip2/bunzip2:压缩率比gzip高,用法同gzip:bzip2 file.txt # 压缩为file.txt.bz2 bunzip2 file.txt.bz2 # 解压
二、网络传输工具
用于在本地与远程主机间传输文件,或诊断网络问题。
1. 文件传输工具
-
scp(基于 SSH 的文件复制,简单直接)
功能:通过 SSH 协议传输文件(加密,安全),适合小文件或一次性传输。
用法:# 本地文件 → 远程主机 scp /local/path/file.txt user@remote_ip:/remote/path/ # 远程文件 → 本地 scp user@remote_ip:/remote/path/file.txt /local/path/ # 传输目录(-r递归) scp -r /local/dir user@remote_ip:/remote/path/ # 指定SSH端口(默认22,若远程端口为2222) scp -P 2222 localfile user@remote_ip:/path/ -
sftp(交互式 SSH 文件传输,适合多文件操作)
功能:类似 FTP 的交互式工具,基于 SSH,支持上传、下载、目录操作。
用法:# 连接远程主机 sftp user@remote_ip # 本地 → 远程(上传) put /local/path/file.txt /remote/path/ # 远程 → 本地(下载) get /remote/path/file.txt /local/path/ # 其他操作:ls(远程目录)、lls(本地目录)、cd(远程切换)、lcd(本地切换)、exit(退出) -
rsync(增量同步,适合大文件 / 备份)
功能:仅传输差异内容(增量同步),速度快,支持断点续传,常用于备份或大文件传输。
核心选项:-a(归档模式,保留权限 / 时间等)、-v(显示过程)、-z(传输时压缩)、--delete(删除目标端多余文件,保持完全一致)。
用法:# 本地目录 → 远程目录(增量同步) rsync -avz /local/dir/ user@remote_ip:/remote/dir/ # 远程 → 本地 rsync -avz user@remote_ip:/remote/dir/ /local/dir/ # 备份本地目录到移动硬盘(--delete确保目标与源一致) rsync -avz --delete /home/data/ /mnt/backup/
2. 网络诊断工具
-
ping(检查主机连通性)
功能:向目标主机发送 ICMP 包,测试是否可达。
用法:ping baidu.com # 持续ping(Ctrl+C停止) ping -c 4 baidu.com # 只发4个包 -
traceroute(跟踪路由路径)
功能:显示从本地到目标主机的路由节点(每一跳的 IP),用于定位网络中断点。
用法:traceroute baidu.com # 跟踪到百度的路由 -
ss/netstat(查看网络连接)
功能:查看端口占用、TCP/UDP 连接状态(ss是netstat的现代替代,速度更快)。
用法:# 查看所有监听端口(LISTEN) ss -tuln # -t:TCP,-u:UDP,-l:监听,-n:显示IP而非域名 # 查看指定端口(如80)的占用 ss -tuln | grep 80 # 传统netstat(需安装) netstat -tuln -
curl/wget(下载文件 / 测试 HTTP)curl:支持 HTTP/HTTPS/FTP,可用于测试接口或下载文件。curl https://example.com/file.zip -o localfile.zip # 下载并保存为localfile.zip curl -I https://example.com # 查看HTTP响应头(测试网站是否存活)wget:专注下载,支持断点续传(-c)和后台下载(-b)。wget https://example.com/file.zip # 直接下载 wget -c https://example.com/bigfile.iso # 断点续传大文件 wget -b https://example.com/large.zip # 后台下载(日志存wget-log)
三、系统工具
用于监控系统状态、管理进程、查看硬件信息等。
1. 进程管理
-
ps(查看进程快照)
功能:显示当前系统的进程状态(静态快照)。
常用选项:ps aux # 查看所有用户的所有进程(a:所有用户,u:显示详细信息,x:包括非终端进程) ps aux | grep "nginx" # 过滤包含nginx的进程 -
top/htop(实时监控进程)top:实时显示进程 CPU / 内存占用,按P排序 CPU,M排序内存,q退出。htop:top的增强版(需安装),支持鼠标操作、颜色区分,更直观。htop # 运行后可直接搜索进程(F3)、终止进程(F9)
-
kill(终止进程)
功能:向进程发送信号(默认终止),需知道进程 ID(PID,可通过ps或top获取)。
用法:kill PID # 发送TERM信号(优雅终止,允许进程清理) kill -9 PID # 发送KILL信号(强制终止,不清理,慎用) killall nginx # 终止所有名为nginx的进程(按名称杀进程)
2. 磁盘管理
-
df(查看磁盘空间)
功能:显示挂载点的磁盘使用情况。df -h # -h:人类可读格式(GB/MB),更直观 df -T # 显示文件系统类型(ext4、xfs等) -
du(查看目录 / 文件大小)
功能:计算指定目录或文件的磁盘占用。du -sh /home # -s:仅显示总和,-h:人类可读(查看/home总大小) du -h /var/log/* # 显示/var/log下所有文件的大小 -
fdisk/mkfs(磁盘分区与格式化)fdisk:管理磁盘分区(需 root 权限)。fdisk -l # 列出所有磁盘及分区(如/dev/sda) fdisk /dev/sda # 进入sda磁盘的分区管理界面(按m查看帮助)mkfs:格式化分区(创建文件系统)。mkfs.ext4 /dev/sda1 # 将sda1分区格式化为ext4 mkfs.xfs /dev/sdb1 # 格式化为xfs(常用于CentOS)
3. 系统信息工具
-
uname(内核与系统架构)uname -a # 显示完整系统信息(内核版本、主机名、架构等) uname -r # 仅显示内核版本 -
free(内存使用情况)free -h # 显示内存(总容量、已用、空闲)和交换分区,-h人类可读 -
uptime(系统运行时间与负载)uptime # 输出:当前时间 运行时间 登录用户数 1/5/15分钟负载(负载<CPU核心数为正常) -
lsb_release(发行版信息)lsb_release -a # 显示Linux发行版(如Ubuntu 20.04、CentOS 7) -
free/vmstat(内存与系统统计)free -h:查看内存使用;vmstat 2:每 2 秒输出一次系统统计(CPU、内存、IO 等)。
总结
- 压缩:优先用
tar(结合-z/-j/-J),跨平台用zip; - 传输:小文件用
scp,多文件交互用sftp,大文件 / 备份用rsync; - 系统管理:进程用
ps/htop,磁盘用df/du,网络用ss/ping,系统信息用uname/free。