Linux服务器命令是系统管理员和开发人员日常工作中不可或缺的工具,它们通过文本界面高效管理服务器资源、监控系统状态、执行自动化任务等,以下从基础操作、文件管理、进程控制、网络配置及安全防护五个维度,详细解析常用命令及其应用场景。

基础操作与系统信息
用户与权限管理
sudo command:以超级用户权限执行命令,需配置sudoers文件。su - username:切换至指定用户,参数加载目标用户环境变量。chmod 755 file.txt:修改文件权限,7(所有者)、5(组用户)、5(其他用户)分别代表读/写/执行权限组合。
系统信息查询
uname -a:显示内核版本、系统名称等完整信息。top:实时监控CPU、内存使用率,按q退出。df -h:查看磁盘空间使用情况,-h以人类可读格式(如GB、MB)显示。
文件与目录管理
目录操作
ls -l:列出文件详情,包括权限、所有者、大小等。mkdir -p /path/to/dir:递归创建多级目录,-p避免父目录不存在时报错。cp -r source_dir/ target_dir/:递归复制目录,-r保留文件属性。
文件处理

grep "keyword" file.log:在文件中搜索包含关键词的行。tar -czvf archive.tar.gz /path/to/dir:压缩目录,c(创建)、z(gzip)、v(显示过程)、f(指定文件名)。ssh user@server_ip "command":远程执行命令,例如ssh admin@192.168.1.100 "df -h"。
进程与服务管理
进程控制
ps aux:列出所有进程,a(所有用户)、u(显示用户)、x(包含后台进程)。kill -9 PID:强制终止进程,-9为信号码,确保进程立即停止。nohup command &:后台运行命令并忽略挂断信号,输出默认写入nohup.out。
服务管理(Systemd)
systemctl start nginx:启动Nginx服务。systemctl enable --now mysql:开机自启并立即启动MySQL服务。journalctl -u nginx -f:实时查看Nginx服务日志,-f持续跟踪输出。
网络配置与诊断
网络工具
ifconfig或ip addr:查看网络接口IP地址,ip addr show eth0显示指定接口信息。netstat -tuln:监听端口状态,t(TCP)、u(UDP)、l(仅监听)、n(数字形式)。scp file.txt user@remote:/path/:通过SSH安全传输文件。
网络测试

ping -c 4 8.8.8.8:向目标主机发送4个ICMP包测试连通性。traceroute google.com:显示数据包到目标主机的路径 hops。
安全防护与日志分析
防火墙配置(iptables/firewalld)
firewall-cmd --add-service=ssh --permanent:永久允许SSH访问,需--reload生效。iptables -A INPUT -p tcp --dport 80 -j ACCEPT:允许80端口TCP流量。
日志审计
tail -f /var/log/auth.log:实时监控安全认证日志。awk '{print $1}' access.log | sort | uniq -c:统计Apache访问日志中IP访问次数。
常用命令速查表
| 功能分类 | 命令示例 | 说明 |
|---|---|---|
| 文件压缩 | tar -xvf archive.tar.gz |
解压tar.gz文件 |
| 查找文件 | find / -name "*.conf" -type f |
在根目录下查找.conf文件 |
| 磁盘使用分析 | du -sh /var/log |
统计目录总大小,-s仅显示总计 |
| 用户管理 | useradd -m newuser |
创建新用户并创建家目录 |
FAQs
Q1: 如何批量重命名文件?
A: 使用rename命令或结合for循环,将所有.txt文件改为.log:
rename 's/\.txt$/\.log/' *.txt
# 或使用循环
for f in *.txt; do mv "$f" "${f%.txt}.log"; done
Q2: 如何设置定时任务(Cron)?
A: 使用crontab -e编辑任务,格式为分 时 日 月 周 命令,每天凌晨2点备份文件:
0 2 * * * tar -czvf /backup/$(date +\%Y\%m\%d).tar.gz /data
注意:需转义为\%,避免被Cron解析为换行符。
