整理一份 Linux 服务器常用命令的清单,涵盖系统管理、文件操作、网络调试等场景:
一、系统信息与监控
命令 | 说明 | 示例 |
---|---|---|
top | 实时监控系统资源(CPU/内存/进程) | top |
htop | 增强版资源监控工具(需安装) | htop |
uptime | 查看系统运行时间与负载 | uptime |
free -h | 查看内存使用情况(人类可读格式) | free -h |
df -h | 查看磁盘空间使用情况 | df -h |
uname -a | 查看内核和系统信息 | uname -a |
lscpu | 查看CPU信息 | lscpu |
lsblk | 查看磁盘分区和挂载信息 | lsblk |
vmstat | 查看虚拟内存统计 | vmstat 1 5 (每1秒刷新,共5次) |
二、文件与目录操作
命令 | 说明 | 示例 |
---|---|---|
ls | 列出目录内容 | ls -lha (显示详细信息) |
cd | 切换目录 | cd /var/log |
pwd | 显示当前路径 | pwd |
cp | 复制文件/目录 | cp -r src_dir dest_dir (递归复制) |
mv | 移动或重命名文件 | mv old.txt new.txt |
rm | 删除文件/目录 | rm -rf dir (强制递归删除,慎用!) |
mkdir | 创建目录 | mkdir -p parent/child (创建多级目录) |
touch | 创建空文件或更新文件时间戳 | touch file.txt |
find | 搜索文件 | find /home -name "*.log" |
grep | 文本搜索工具 | grep "error" /var/log/syslog |
tar | 打包/解压文件 | tar -czvf archive.tar.gz dir/ (压缩) tar -xzvf archive.tar.gz (解压) |
rsync | 高效文件同步 | rsync -avz src/ user@remote:/dest/ |
三、网络配置与管理
命令 | 说明 | 示例 |
---|---|---|
ifconfig | 查看/配置网络接口(旧版) | ifconfig eth0 |
ip addr | 新版网络配置工具 | ip addr show |
ping | 测试网络连通性 | ping google.com |
netstat | 查看网络连接和端口 | netstat -tulnp (查看监听端口) |
ss | 替代 netstat 的工具 | ss -tunlp |
curl | 数据传输工具 | curl -O http://example.com/file.zip |
wget | 下载文件 | wget http://example.com/file.zip |
traceroute | 跟踪数据包路径 | traceroute google.com |
dig | DNS查询工具 | dig example.com |
nmap | 端口扫描工具 | nmap -p 80 192.168.1.1 |
四、进程管理
命令 | 说明 | 示例 |
---|---|---|
ps | 查看进程状态 | ps aux grep nginx |
kill | 终止进程 | kill -9 1234 (强制终止PID 1234) |
pkill | 按进程名终止 | pkill -f "python script.py" |
nohup | 后台运行进程 | nohup ./script.sh & |
systemctl | 服务管理(Systemd系统) | systemctl start nginx systemctl enable nginx |
五、权限管理
命令 | 说明 | 示例 |
---|---|---|
chmod | 修改文件权限 | chmod 755 script.sh chmod +x script.sh |
chown | 修改文件所有者 | chown user:group file.txt |
sudo | 以管理员权限执行命令 | sudo apt update |
passwd | 修改用户密码 | passwd username |
六、软件包管理
Debian/Ubuntu (APT)
sudo apt update # 更新软件源列表
sudo apt upgrade # 升级所有软件
sudo apt install nginx # 安装软件
sudo apt remove nginx # 卸载软件
CentOS/RHEL (YUM/DNF)
sudo yum update # 更新系统
sudo dnf install httpd # 安装软件(CentOS 8+)
sudo yum remove httpd # 卸载软件
七、日志查看
命令 | 说明 |
---|---|
tail -f /var/log/syslog | 实时跟踪日志文件 |
journalctl | 查看Systemd日志(Systemd系统) |
grep "ERROR" /var/log/* | 在所有日志中搜索关键词 |
八、SSH 相关
ssh user@192.168.1.100 # 连接远程服务器
scp file.txt user@remote:/path/ # 上传文件到远程服务器
scp -r dir/ user@remote:/path/ # 上传目录
九、Shell 快捷操作
!! # 重复上一条命令
!$ # 使用上一条命令的最后一个参数
Ctrl + R # 搜索命令历史记录
Ctrl + C # 终止当前命令
Ctrl + Z # 暂停当前进程(可用 `fg` 恢复)
十、安全相关
sudo lsof -i :80 # 查看占用80端口的进程
sudo ufw status # 查看防火墙状态(Ubuntu)
sudo iptables -L -n -v # 查看防火墙规则
last # 查看登录历史
whoami # 查看当前用户
实用技巧
-
快速清空文件内容
> filename.log
-
统计文件行数
wc -l file.txt
-
定时任务(Crontab)
crontab -e # 编辑定时任务 */5 * * * * /path/script.sh # 每5分钟执行一次
-
查看命令手册
man ls # 查看ls命令的详细手册
提示:
- 使用
Tab
键自动补全路径或命令 - 谨慎使用
rm -rf
,操作前先备份重要数据! - 组合命令时善用管道符
|
(例如cat file.txt | grep "error"
)