Linux系統(tǒng)常用命令速查指南
一、Linux常用命令速查
1. 文件與目錄操作
| 命令 | 說明 | 示例 |
|---|---|---|
cp | 復(fù)制文件或目錄 | cp file1.txt file2.txt |
mkdir | 創(chuàng)建目錄 | mkdir /opt/modules |
rm | 刪除文件或目錄 | rm -rf dir |
cat | 查看文件內(nèi)容 | cat app.log |
more | 分頁查看文件 | more large.log |
vim | 編輯文件 | vim config.yml |
cd | 切換目錄 | cd /opt |
pwd | 顯示當(dāng)前路徑 | pwd |
ls | 列出目錄內(nèi)容 | ls -la |
mv | 移動(dòng)或重命名文件 | mv old.txt new.txt |
2. 進(jìn)程與系統(tǒng)管理
| 命令 | 說明 | 示例 |
|---|---|---|
ps -ef | 查看所有進(jìn)程 | ps -ef | grep java |
kill | 終止進(jìn)程 | kill -9 12345 |
top | 動(dòng)態(tài)查看系統(tǒng)負(fù)載 | top |
netstat -nltp | 查看端口占用 | netstat -nltp | grep 8080 |
3. 文件壓縮與解壓
# 解壓tar.gz包 tar -zxvf app.tar.gz # 壓縮目錄 tar -zcvf backup.tar.gz /opt/data
4. 文本處理與搜索
# 查看日志最后200行 tail -200f app.log # 查找文件 find / -name "*.log" # 搜索文件內(nèi)容 grep "ERROR" app.log
5. 遠(yuǎn)程拷貝(SCP)
# 將本地文件拷貝到遠(yuǎn)程主機(jī) scp springboot-water.jar root@192.168.10.92:/opt/modules/ # 從遠(yuǎn)程主機(jī)拉取文件 scp root@192.168.10.92:/opt/modules/app.jar ./
6. 磁盤與內(nèi)存
# 查看磁盤使用情況 df -h # 查看內(nèi)存使用情況 free -m
二、系統(tǒng)部署流程詳解
1. 部署方式對比
| 方式 | 適用場景 | 特點(diǎn) |
|---|---|---|
| 手工部署 | 測試環(huán)境、小規(guī)模應(yīng)用 | 手動(dòng)打包、上傳、啟動(dòng),適合快速驗(yàn)證 |
| 自動(dòng)化部署(CI/CD) | 生產(chǎn)環(huán)境、頻繁發(fā)布 | 通過Jenkins、GitLab CI等工具實(shí)現(xiàn)流水線部署 |
2. 手工部署步驟
本地打包:使用Maven/Gradle構(gòu)建JAR/WAR包
上傳服務(wù)器:通過scp或FTP工具上傳
安裝環(huán)境:安裝JDK、MySQL、Redis等依賴
啟動(dòng)應(yīng)用:
nohup java -jar app.jar > app.log 2>&1 &
驗(yàn)證部署:訪問健康檢查接口,查看日志確認(rèn)啟動(dòng)成功
3. 自動(dòng)化部署流程
代碼提交 → 觸發(fā)CI構(gòu)建 → 單元測試 → 打包 → 上傳制品庫 → 部署到服務(wù)器 → 健康檢查 → 發(fā)送通知
在實(shí)際工作中,測試環(huán)境部署常由開發(fā)負(fù)責(zé),生產(chǎn)環(huán)境則由運(yùn)維或SRE團(tuán)隊(duì)執(zhí)行。
三、進(jìn)程管理:查看與終止
1. 查看Java進(jìn)程
# 方法一:jps(推薦) jps -l # 方法二:ps + grep ps -ef | grep java
2. 殺進(jìn)程
# 正常終止(允許進(jìn)程清理資源) kill 12345 # 強(qiáng)制終止(立即結(jié)束) kill -9 12345
kill與kill -9的區(qū)別
| 命令 | 信號 | 說明 |
|---|---|---|
kill | SIGTERM (15) | 溫和終止,進(jìn)程可捕獲信號并執(zhí)行清理操作(如關(guān)閉文件、釋放資源) |
kill -9 | SIGKILL (9) | 強(qiáng)制終止,進(jìn)程無法捕獲,立即被系統(tǒng)回收,可能導(dǎo)致數(shù)據(jù)丟失或資源未釋放 |
建議:優(yōu)先使用kill,若進(jìn)程無響應(yīng)再使用kill -9。
四、端口占用排查
啟動(dòng)應(yīng)用時(shí)若遇到端口被占用,可通過以下命令定位:
# 查看所有監(jiān)聽端口及對應(yīng)進(jìn)程 netstat -nltp # 過濾指定端口(如8080) netstat -nltp | grep 8080 # 使用lsof(需安裝) lsof -i:8080
輸出示例:
tcp6 0 0 :::8080 :::* LISTEN 12345/java
此時(shí)可確認(rèn)占用進(jìn)程為PID 12345,根據(jù)情況決定是否終止。
五、后臺(tái)運(yùn)行與系統(tǒng)負(fù)載
1. 將程序放到后臺(tái)運(yùn)行
# 方法一:在命令末尾添加 & java -jar app.jar & # 方法二:使用nohup(斷開終端仍運(yùn)行) nohup java -jar app.jar > /dev/null 2>&1 &
nohup:忽略掛斷信號(SIGHUP),終端關(guān)閉后進(jìn)程繼續(xù)運(yùn)行&:將進(jìn)程放入后臺(tái)執(zhí)行
2. 查看系統(tǒng)負(fù)載
top
在top輸出中關(guān)注:
- load average:1分鐘、5分鐘、15分鐘的平均負(fù)載,一般不超過CPU核心數(shù)
- %CPU:進(jìn)程CPU占用率
- %MEM:進(jìn)程內(nèi)存占用率
- zombie:僵尸進(jìn)程數(shù)量
六、系統(tǒng)故障排查思路
1. 核心原則
先恢復(fù)服務(wù),再分析原因
當(dāng)系統(tǒng)出現(xiàn)故障時(shí),首要任務(wù)是讓系統(tǒng)恢復(fù)可用,而非立即定位問題。但在重啟或操作前,務(wù)必保留現(xiàn)場(日志、堆棧、狀態(tài)等)。
2. 排查步驟
查看日志
tail -200f /var/log/app.log
檢查系統(tǒng)資源
top # CPU、內(nèi)存 df -h # 磁盤 free -m # 內(nèi)存
檢查網(wǎng)絡(luò)與端口
ping <ip> netstat -nltp
查看進(jìn)程狀態(tài)
ps -ef | grep java
分析核心轉(zhuǎn)儲(chǔ)或堆棧(如有)
jstack <pid> > thread_dump.txt
3. 常見問題與應(yīng)對
| 問題現(xiàn)象 | 可能原因 | 排查命令 |
|---|---|---|
| 應(yīng)用響應(yīng)慢 | CPU/內(nèi)存不足、GC頻繁 | top, jstat |
| 端口無法綁定 | 端口被占用 | netstat -nltp |
| 服務(wù)突然停止 | OOM、進(jìn)程被殺 | dmesg | grep -i kill |
| 磁盤寫滿 | 日志未清理 | df -h, du -sh * |
七、發(fā)行版與Shell腳本
1. 常用Linux發(fā)行版
在實(shí)際生產(chǎn)環(huán)境中,CentOS 7 是許多企業(yè)的首選,因其穩(wěn)定性、社區(qū)支持及與RHEL的兼容性。近年來,CentOS 8 已停止維護(hù),企業(yè)逐步遷移至:
- Rocky Linux
- AlmaLinux
- Ubuntu Server
2. Shell腳本編寫
Shell腳本用于自動(dòng)化任務(wù),如日志清理、應(yīng)用啟動(dòng)、備份等。
示例:清理7天前的日志
#!/bin/bash
LOG_DIR="/var/log/app"
DAYS=7
find $LOG_DIR -name "*.log" -mtime +$DAYS -exec rm -f {} \;
echo "Logs older than $DAYS days have been removed."
以上就是Linux系統(tǒng)常用命令速查指南的詳細(xì)內(nèi)容,更多關(guān)于Linux常用命令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Gzip在apache2中的設(shè)置和squid對它的處理
gzip可以級大的加速網(wǎng)站.有時(shí)壓縮比率高到80%,近來測試了一下,最少都有40%以上,還是相當(dāng)不錯(cuò)的.在Apache2之后的版本,模塊名不叫g(shù)zip,而叫mod_deflate2011-12-12
詳解Ubuntu16.04安裝nvidia驅(qū)動(dòng)+CUDA+cuDNN的教程
這篇文章主要介紹了Ubuntu16.04安裝nvidia驅(qū)動(dòng)+CUDA+cuDNN教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
詳細(xì)介紹通過配置Apache實(shí)現(xiàn)404頁面替換
這篇文章主要介紹了詳細(xì)介紹通過配置Apache實(shí)現(xiàn)404頁面替換的相關(guān)資料,這里提供實(shí)現(xiàn)方法,希望能幫助到大家,需要的朋友可以參考下2017-08-08
LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程
這篇文章主要介紹了LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程,需要的朋友可以參考下2016-04-04
Linux通過vim修改Jar包并重新發(fā)布過程(Springboot項(xiàng)目)
本文介紹了如何修改Springboot項(xiàng)目的jar包中的單個(gè)文件,包括安裝unzip、修改文件、重新發(fā)布jar包等步驟,并說明了在使用thymeleaf時(shí)清除瀏覽器緩存的必要性2026-04-04
linux下RPM包安裝基于xinetd的服務(wù)的管理
大家好,本篇文章主要講的是linux下RPM包安裝基于xinetd的服務(wù)的管理,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12

