Linux高频命令
以下分类整理了 Linux 运维和测试工作中最常用的命令,附带简短说明和典型用法,方便快速查阅。
一、文件与目录管理
ls -la # 列出详细信息(含隐藏文件)
cd /path # 切换目录
pwd # 显示当前路径
mkdir -p a/b/c # 递归创建目录
rm -rf file_or_dir # 强制递归删除(谨慎!)
cp -r src dst # 递归复制
mv old new # 移动/重命名
find / -name "*.log" -mtime +7 # 查找7天前的日志文件
grep -rn "error" /var/log/ # 递归搜索含error的行
cat file # 查看文件
less file # 分页查看(支持前后翻页)
head -n 20 file # 查看前20行
tail -f /var/log/app.log # 实时跟踪日志
wc -l file # 统计行数
touch file # 创建空文件或更新时间戳
chmod 755 script.sh # 修改权限(rwxr-xr-x)
chown -R user:group dir # 递归修改属主属组
ln -s target link # 创建软链接
二、系统信息与监控
uname -a # 系统/内核信息
hostname # 主机名
uptime # 运行时间及负载
w # 当前登录用户及活动
date # 系统时间
df -h # 磁盘空间使用(人类可读)
du -sh /dir # 目录占用大小
free -h # 内存使用情况
top / htop # 实时进程与资源(htop更友好)
vmstat 1 # 每秒输出内存、CPU、IO统计
iostat -x 1 # 磁盘IO详细统计
sar -n DEV 1 # 网络接口流量统计(需sysstat)
lscpu # CPU信息
lsblk # 块设备列表
dmesg | tail -20 # 内核环缓冲区最新信息
lsb_release -a # 发行版信息
三、用户与权限
sudo command # 以root权限执行
su - user # 切换用户(带环境变量)
useradd -m user # 创建用户并建立家目录
passwd user # 修改密码
usermod -aG group user # 将用户追加到附加组
chown user:group file # 修改属主属组
chmod +x script # 添加可执行权限
visudo # 安全编辑sudoers
四、进程管理
ps aux # 所有进程详细快照
ps -ef # 标准格式进程列表
pstree -p # 进程树(带PID)
kill -9 PID # 强制杀掉进程
pkill -f "pattern" # 按命令模式杀进程
nohup cmd & # 后台运行,忽略挂断信号
screen -S name # 创建screen会话(或tmux)
tmux new -s name # tmux新会话
jobs # 当前终端后台任务
fg %1 / bg %1 # 前后台切换
五、网络相关
ip a # 查看IP地址(代替ifconfig)
ping -c 4 8.8.8.8 # 发4个ICMP包测试连通性
traceroute / mtr host # 路由跟踪(mtr更直观)
ss -tulnp # 查看监听端口与进程(代替netstat)
dig domain.com # DNS解析详细信息
nslookup domain.com # DNS查询
curl -I https://api.com # 查看HTTP响应头
curl -X POST -d 'key=val' url # 发送POST请求(测试接口)
wget -c http://file # 支持断点续传下载
scp file user@host:/path # 安全拷贝
rsync -avz src/ dst/ # 增量同步(本地或远程)
nc -l 9999 # 临时监听端口
nc host 9999 # 连接端口并收发数据
tcpdump -i eth0 port 80 -w out.pcap # 抓包
nmap -sP 192.168.1.0/24 # 扫描网段存活主机
iptables -L -n # 查看防火墙规则(或firewall-cmd --list-all)
六、压缩与归档
tar -czvf file.tar.gz dir # 打包并gzip压缩
tar -xzvf file.tar.gz # 解压
tar -cjvf file.tar.bz2 dir # bzip2压缩
tar -xjvf file.tar.bz2 # 解压
zip -r file.zip dir # 创建zip
unzip file.zip
gzip file / gunzip file.gz
七、包管理
# Debian/Ubuntu
apt update && apt install pkg
dpkg -i pkg.deb
# RHEL/CentOS/Fedora
yum install pkg # 或 dnf install pkg
rpm -ivh pkg.rpm
# Python(用于测试工具)
pip install package
八、文本处理(日志分析神器)
grep -E "error|fail" file # 扩展正则匹配
awk '{print $1, $NF}' file # 打印第1列和最后1列
sed 's/old/new/g' file # 全局替换
sort -n -k2 file # 按第二列数值排序
uniq -c # 统计重复行数
cut -d: -f1 /etc/passwd # 按分隔符取字段
tr -s ' ' # 压缩连续空格
wc -l / wc -c # 行数/字符数统计
diff file1 file2 # 文件差异
tee file # 同时输出到屏幕和文件
xargs -I {} cmd {} # 将标准输入转为参数执行
实用组合示例:
# 统计Nginx日志中状态码出现次数
awk '{print $9}' access.log | sort | uniq -c | sort -nr
# 查找所有包含“Exception”的文件并显示行号
grep -rn "Exception" /var/log/
# 统计当前TCP各连接状态数量
ss -ant | awk '{print $1}' | sort | uniq -c
九、性能与压力测试工具
# CPU/内存压力
stress --cpu 4 --timeout 60s # 压4核60秒
sysbench cpu --cpu-max-prime=20000 run
# 磁盘IO测试
fio --name=test --rw=randwrite --bs=4k --size=1G \
--ioengine=libaio --direct=1 --numjobs=4 --runtime=60
# 网络吞吐
iperf3 -s # 服务端
iperf3 -c server_ip -t 30 # 客户端测30秒
# HTTP压力测试
ab -n 1000 -c 100 http://domain/path # Apache Bench
wrk -t4 -c100 -d30s http://domain # 更现代的wrk
# 模拟网络延迟/丢包(需tc命令)
tc qdisc add dev eth0 root netem delay 100ms loss 5%
十、定时任务与服务管理
crontab -e # 编辑定时任务(分 时 日 月 周 cmd)
crontab -l # 查看已设任务
# systemd 服务管理
systemctl start/stop/restart/status service
systemctl enable/disable service
journalctl -u service -f # 实时查看服务日志
# 旧版SysV
service service start
chkconfig service on
十一、其他运维利器
lsof -i :80 # 查看占用80端口的进程
strace -p PID # 跟踪进程系统调用
ldd /bin/ls # 查看程序依赖库
history # 命令历史
alias ll='ls -alh' # 设置别名
export VAR=value # 设置环境变量
source ~/.bashrc # 重载配置
# 查找大文件
find / -type f -size +100M -exec ls -lh {} \;
十二、快速帮助
man command # 详细手册
command --help # 简要帮助
whatis command # 一行描述
本文采用 CC BY-NC-SA 4.0 许可协议,转载请标明出处
