下面匯總常用的 30 個常用的 Linux 命令,每個都附有簡要說明和典型示例,適合日常開發、服務器維護或系統學習使用。
30 個常用的 Linux 命令匯總
一、文件與目錄操作(基礎)
命令 | 說明 | 示例 |
---|
ls | 列出文件和目錄 | ls -l 顯示詳細信息 |
cd | 切換目錄 | cd /home/user |
pwd | 顯示當前路徑 | pwd |
mkdir | 創建目錄 | mkdir mydir |
rm | 刪除文件或目錄 | rm file.txt , rm -r mydir |
cp | 復制文件或目錄 | cp a.txt b.txt , cp -r dir1 dir2 |
mv | 移動/重命名文件 | mv a.txt b.txt , mv olddir newdir |
touch | 創建空文件 | touch newfile.txt |
cat | 查看文件內容 | cat file.txt |
tree | 樹狀顯示目錄結構(需安裝) | tree /etc |
二、文件內容查看與搜索
命令 | 說明 | 示例 |
---|
less | 分頁查看文件 | less file.txt (用空格翻頁) |
head | 查看前幾行 | head -n 10 file.txt |
tail | 查看末尾內容 | tail -n 20 file.txt , tail -f log.txt 實時追蹤日志 |
grep | 關鍵詞搜索 | grep 'error' log.txt ,配合 -r 可遞歸查找 |
find | 查找文件 | find / -name "*.log" |
wc | 統計字數、行數等 | wc -l file.txt |
三、權限與所有權
命令 | 說明 | 示例 |
---|
chmod | 修改權限 | chmod +x script.sh ,chmod 755 file |
chown | 更改所有者 | chown user:user file.txt |
四、系統管理與進程
命令 | 說明 | 示例 |
---|
ps | 查看當前進程 | ps aux , ps -ef |
top / htop | 實時系統資源監控 | top , htop (需安裝,界面更友好) |
kill | 終止進程 | kill 1234 ,kill -9 1234 |
df | 查看磁盤空間 | df -h (-h: 人類可讀) |
du | 查看目錄空間 | du -sh * |
free | 查看內存使用 | free -h |
uptime | 查看系統運行時間 | uptime |
五、網絡命令
命令 | 說明 | 示例 |
---|
ping | 測試網絡連通性 | ping www.google.com |
curl | 發送 HTTP 請求 | curl https://example.com |
wget | 下載文件 | wget http://example.com/file.zip |
netstat / ss | 查看端口與連接 | ss -tuln 替代 netstat -tuln |
ip | 查看和配置網絡 | ip addr , ip route |
scp | 遠程復制文件 | scp file user@host:/path |
ssh | 遠程登錄 | ssh user@ip_address |
六、軟件包管理(以 Ubuntu 為例)
命令 | 說明 | 示例 |
---|
apt update | 更新軟件包索引 | sudo apt update |
apt install | 安裝軟件 | sudo apt install git |
apt remove | 卸載軟件 | sudo apt remove vim |
七、其他常用技巧
命令 | 說明 | 示例 | |
---|
alias | 設置命令別名 | alias ll='ls -l' | |
history | 查看命令歷史 | `history | grep ssh` |
man | 查看幫助文檔 | man grep | |
echo | 輸出或寫入內容 | echo "Hello" > a.txt | |
date | 查看當前時間 | date '+%Y-%m-%d %H:%M:%S' | |
開發環境配置 和 日志排查 兩個典型場景示例
一、開發環境配置常用命令(系統準備 + 軟件管理)
1. 安裝/升級常用工具
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git vim curl
2. 安裝編程語言(以 Python/C++/Node.js 為例)
sudo apt install python3 python3-pip
sudo apt install g++ cmake
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
3. 虛擬環境管理(Python)
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
4. 配置環境變量(適用于 bash/zsh)
export PATH=$HOME/mybin:$PATH
echo 'export PATH=$HOME/mybin:$PATH' >> ~/.bashrc
source ~/.bashrc
二、項目目錄管理與版本控制
git clone https://github.com/xxx/your-project.git
cd your-project
git status
git log --oneline
快速查看最近的修改內容:
git diff HEAD~1 HEAD
三、日志排查常用命令(系統日志 / 應用日志)
1. 快速查看日志文件內容
tail -n 50 /var/log/syslog
tail -f /var/log/nginx/error.log
less /var/log/myapp.log
2. 搜索特定關鍵詞或錯誤
grep -i 'error' /var/log/myapp.log
grep -C 5 'Exception' app.log
結合 journalctl
(適用于 systemd 系統):
journalctl -u nginx
journalctl -xe
journalctl -u myapp.service --since today
四、排查端口 / 服務是否正常運行
ps -ef | grep myapp
lsof -i :8080
ss -tuln | grep 8000
curl -I http://localhost:8000
五、常用服務管理命令(systemd)
sudo systemctl status myapp.service
sudo systemctl restart myapp.service
sudo systemctl enable myapp.service
六、清理與排障輔助命令
df -h
du -sh * | sort -h
free -h
dmesg | tail
七、完整日志排查腳本示例
#!/bin/bash
echo "------ 最近系統錯誤日志 ------"
journalctl -p err -n 20echo "------ 當前內存狀態 ------"
free -hecho "------ 當前磁盤使用 ------"
df -hecho "------ 我的應用日志(最近50行)------"
tail -n 50 /var/log/myapp.log
推薦工具
工具名 | 用途 |
---|
htop | 動態查看進程狀態(比 top 更友好) |
ncdu | 分析磁盤占用(圖形界面) |
btop | 高性能資源監控工具 |
ngrep | 類似 tcpdump 的網絡包過濾工具 |
strace | 跟蹤程序的系統調用(適用于調試崩潰) |