一、基礎Linux指令
1. 文件與目錄操作
ls -lh # 查看文件詳情(人類可讀格式)
pwd # 顯示當前目錄路徑
cd /path # 切換目錄
mkdir dirname # 創建目錄
rm -rf dirname # 強制刪除目錄
cp -r src dest # 遞歸復制目錄
mv old new # 移動/重命名文件
find / -name "*.log" # 查找文件
chmod 755 file # 修改文件權限
chown user:group file # 修改文件所有者
2. 文本處理
cat file # 查看文件內容
head -n 10 file # 查看文件前10行
tail -f file # 實時查看文件新增內容
grep "pattern" file # 搜索文本
sed -i 's/old/new/g' file # 替換文本
awk '{print $1}' file # 提取文本列
vim file # 編輯文件
3. 系統監控
top # 實時系統監控
htop # 增強版top(需安裝)
free -h # 查看內存使用
df -h # 查看磁盤空間
du -sh dir # 查看目錄大小
ps -ef | grep java # 查看進程
netstat -tunlp # 查看網絡連接
lsof -i:8080 # 查看端口占用
二、Java相關指令
1. JDK管理
java -version # 查看Java版本
javac -version # 查看編譯器版本
update-alternatives --config java # 切換Java版本
2. JVM監控
jps -l # 查看Java進程
jstat -gcutil pid # 查看GC情況
jmap -heap pid # 查看堆內存
jstack pid # 獲取線程堆棧
jcmd pid VM.flags # 查看JVM參數
3. Jar包管理
nohup java -jar app.jar > log.out 2>&1 & # 后臺運行jar包
kill -9 pid # 強制終止Java進程
三、MySQL相關指令
1. 服務管理
systemctl start mysql # 啟動MySQL
systemctl stop mysql # 停止MySQL
systemctl restart mysql # 重啟MySQL
systemctl status mysql # 查看狀態
2. 數據庫操作
mysql -u root -p # 登錄MySQL
mysqldump -u root -p dbname > backup.sql # 備份數據庫
mysql -u root -p dbname < backup.sql # 恢復數據庫
mysqladmin -u root -p status # 查看MySQL狀態
3. 性能監控
show processlist; # 查看當前連接(MySQL內)
show variables like '%max_connections%'; # 查看最大連接數
show global status like 'Threads_connected'; # 查看當前連接數
四、Tomcat相關指令
1. 服務管理
./catalina.sh start # 啟動Tomcat
./catalina.sh stop # 停止Tomcat
./catalina.sh restart # 重啟Tomcat
tail -f ../logs/catalina.out # 查看日志
2. 配置檢查
ps -ef | grep tomcat # 查看Tomcat進程
lsof -i :8080 # 檢查端口占用
3. 內存設置
# 在catalina.sh中添加
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=256m"
五、Redis相關指令
1. 服務管理
redis-server /path/to/redis.conf # 啟動Redis
redis-cli shutdown # 關閉Redis
redis-cli ping # 測試連接
2. 性能監控
redis-cli info # 查看Redis信息
redis-cli info memory # 查看內存使用
redis-cli info clients # 查看客戶端連接
redis-cli --latency # 測試延遲
3. 數據操作
redis-cli keys "*" # 查看所有鍵
redis-cli flushall # 清空所有數據(慎用)
redis-cli bgrewriteaof # 重寫AOF文件
六、Nginx相關指令
1. 服務管理
nginx # 啟動Nginx
nginx -s stop # 快速停止
nginx -s quit # 優雅停止
nginx -s reload # 重載配置
nginx -t # 測試配置
2. 日志分析
tail -f /var/log/nginx/access.log # 實時訪問日志
awk '{print $1}' access.log | sort | uniq -c | sort -nr # 統計IP訪問
3. 性能調優
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' # 查看連接狀態
ab -n 1000 -c 100 http://test.com/ # 壓力測試
七、常用組合命令
- ??查找并殺死Java進程??
ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
- ??批量查找并替換文件內容??
find /path -type f -name "*.xml" -exec sed -i 's/old/new/g' {} \;
- ??查看各進程內存占用??
ps -eo pid,user,%mem,command --sort=-%mem | head
- ??統計日志中404錯誤??
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -nr
- ??監控Redis內存增長??
watch -n 1 "redis-cli info | grep used_memory_human"
八、實用技巧?
??壓縮與解壓??
tar -czvf archive.tar.gz /path/to/dir # 壓縮
tar -xzvf archive.tar.gz # 解壓
希望這份Linux指令大全能幫助您更高效地進行服務器運維工作!根據實際環境,部分命令可能需要適當調整。