1. 文件与目录操作
| 命令 |
说明 |
示例 |
ls |
列出目录内容 |
ls -lah |
cd |
切换目录 |
cd /home/admin |
pwd |
显示当前路径 |
pwd |
mkdir |
创建目录 |
mkdir -p a/b/c |
cp |
复制文件/目录 |
cp -r src/ dest/ |
mv |
移动/重命名 |
mv old.txt new.txt |
rm |
删除文件/目录 |
rm -rf dir/ |
find |
查找文件 |
find . -name "*.java" |
tree |
以树形展示目录结构 |
tree -L 2 |
ln |
创建链接 |
ln -s target link |
du |
查看目录大小 |
du -sh * |
stat |
查看文件元信息 |
stat pom.xml |
2. 文件查看与编辑
| 命令 |
说明 |
示例 |
cat |
查看完整文件 |
cat pom.xml |
less |
分页查看(支持搜索) |
less +F app.log |
head |
查看文件头部 |
head -n 50 app.log |
tail |
查看文件尾部/实时跟踪 |
tail -f -n 200 app.log |
grep |
文本搜索 |
grep -rn "error" /var/log/ |
wc |
统计行数/字数 |
wc -l access.log |
sort |
排序 |
sort -k2 -n file.txt |
uniq |
去重 |
sort file | uniq -c |
awk |
文本处理 |
awk '{print $1, $3}' file |
sed |
流编辑器(替换等) |
sed -i 's/old/new/g' file |
diff |
比较文件差异 |
diff -u a.txt b.txt |
vim |
编辑文件 |
vim config.yaml |
3. 进程管理
| 命令 |
说明 |
示例 |
ps |
查看进程 |
ps -ef | grep java |
top |
实时进程监控 |
top -p 12345 |
htop |
增强版 top |
htop |
kill |
终止进程 |
kill -9 12345 |
killall |
按名终止 |
killall -9 java |
nohup |
后台运行(不挂断) |
nohup ./start.sh & |
& |
后台运行 |
./app & |
jobs |
查看后台任务 |
jobs -l |
fg/bg |
前/后台切换 |
fg %1 |
lsof |
查看打开的文件/端口 |
lsof -i :8080 |
4. 网络与端口
| 命令 |
说明 |
示例 |
curl |
HTTP 请求 |
curl -v http://localhost:8080/health |
wget |
下载文件 |
wget https://example.com/file.tar.gz |
netstat |
网络连接/端口 |
netstat -tlnp |
ss |
替代 netstat |
ss -tlnp |
nslookup |
DNS 查询 |
nslookup google.com |
dig |
DNS 查询(更详细) |
dig google.com |
ping |
测试连通性 |
ping -c 3 10.0.0.1 |
telnet |
测试端口连通 |
telnet 10.0.0.1 8080 |
nc |
端口扫描/连通测试 |
nc -zv host 8080 |
traceroute |
路由追踪 |
traceroute 10.0.0.1 |
tcpdump |
抓包 |
tcpdump -i eth0 port 8080 |
ip |
网络接口信息 |
ip addr |
5. 磁盘与内存
| 命令 |
说明 |
示例 |
df |
磁盘使用情况 |
df -h |
du |
目录大小 |
du -sh /home/admin/ |
free |
内存使用 |
free -h |
vmstat |
虚拟内存统计 |
vmstat 1 5 |
iostat |
IO 统计 |
iostat -x 1 |
fdisk |
磁盘分区 |
fdisk -l |
mount |
挂载磁盘 |
mount /dev/sdb1 /data |
6. 用户与权限
| 命令 |
说明 |
示例 |
chmod |
修改权限 |
chmod 755 start.sh |
chown |
修改所有者 |
chown -R admin:admin /app/ |
sudo |
提权执行 |
sudo vi /etc/hosts |
su |
切换用户 |
su - admin |
whoami |
当前用户 |
whoami |
id |
用户信息 |
id admin |
passwd |
修改密码 |
passwd admin |
7. 压缩与解压
| 命令 |
说明 |
示例 |
tar |
打包/解包 |
tar -czf app.tar.gz app/ / tar -xzf app.tar.gz |
zip/unzip |
zip 压缩/解压 |
zip -r app.zip app/ / unzip app.zip |
gzip/gunzip |
gzip 压缩/解压 |
gzip file.log / gunzip file.log.gz |
8. 系统与服务
| 命令 |
说明 |
示例 |
systemctl |
管理服务 |
systemctl status nginx / systemctl restart nginx |
journalctl |
查看系统日志 |
journalctl -u nginx -f |
crontab |
定时任务 |
crontab -e / crontab -l |
date |
系统时间 |
date "+%Y-%m-%d %H:%M:%S" |
uptime |
系统运行时长 |
uptime |
uname |
系统信息 |
uname -a |
hostname |
主机名 |
hostname -I |
env |
环境变量 |
env | grep JAVA_HOME |
export |
设置环境变量 |
export JAVA_HOME=/usr/java/jdk |
source |
加载配置 |
source ~/.bashrc |
9. Java 开发运维常用
| 命令 |
说明 |
示例 |
java -version |
查看 JDK 版本 |
|
jps |
查看 Java 进程 |
jps -lv |
jstack |
查看线程栈 |
jstack -l 12345 > threadDump.txt |
jmap |
堆内存分析 |
jmap -heap 12345 / jmap -dump:format=b,file=heap.hprof 12345 |
jstat |
GC 统计 |
jstat -gcutil 12345 1000 |
jinfo |
查看 JVM 参数 |
jinfo -flags 12345 |
arthas |
Java 诊断工具 |
java -jar arthas-boot.jar |
10. 实用组合技巧
# 实时查看日志并过滤关键字
tail -f app.log | grep -i "error\|exception"
# 统计日志中各 HTTP 状态码出现次数
awk '{print $9}' access.log | sort | uniq -c | sort -rn
# 查找占用端口 8080 的进程
lsof -i :8080 或 netstat -tlnp | grep 8080
# 批量杀掉某类进程
ps -ef | grep "myapp" | grep -v grep | awk '{print $2}' | xargs kill -9
# 查看某个目录下最大的 10 个文件
du -ah /data | sort -rh | head -10
# 监控磁盘空间,低于阈值告警
df -h | awk 'NR>1 && $5+0 > 80 {print $6, "使用率:", $5}'
# 批量替换文件内容
sed -i 's/old-host/new-host/g' *.conf
# 查找 7 天前的日志并删除
find /var/log -name "*.log" -mtime +7 -delete