適合人群:Linux新手 | 運維工程師 | 開發者
目錄
一、Linux常用命令(每天必用)
1. 文件與目錄操作
2. 文件內容查看與編輯
二、次常用命令(按需使用)
1. 系統管理與監控
2. 網絡與通信
3. 權限與用戶管理
三、高階技巧與組合命令
1. 管道符?|
2. 重定向?>?和?>>
3. 后臺運行?&?和?nohup
四、學習資源推薦
一、Linux常用命令(每天必用)
1. 文件與目錄操作
命令 | 作用 | 示例 |
---|---|---|
ls | 列出目錄內容 | ls -l (詳細列表)ls -a (顯示隱藏文件) |
cd | 切換目錄 | cd /home (進入home目錄)cd .. (返回上級目錄) |
cp | 復制文件或目錄 | cp file1.txt dir/ (復制文件到目錄) |
mv | 移動/重命名文件 | mv old.txt new.txt (重命名) |
rm | 刪除文件或目錄 | rm file.txt (刪除文件)rm -rf dir (強制刪除目錄) |
mkdir | 創建目錄 | mkdir project (創建空目錄) |
touch | 創建空文件或更新文件時間戳 | touch newfile.txt |
代碼示例:
# 創建目錄并復制文件
mkdir backup
cp /var/log/syslog backup/ # 將系統日志復制到backup目錄 # 批量重命名日志文件
mv /logs/error.log /logs/error_20231015.log
2. 文件內容查看與編輯
命令 | 作用 | 示例 |
---|---|---|
cat | 查看文件全部內容 | cat config.yml (顯示配置文件) |
more ?/?less | 分頁查看大文件 | less large_file.log (支持上下翻頁) |
head ?/?tail | 查看文件開頭/末尾內容 | tail -f app.log (實時追蹤日志更新) |
grep | 文本搜索 | grep "error" syslog (過濾含error的行) |
vim | 文本編輯器 | vim file.txt (按i 進入編輯,:wq 保存退出) |
代碼示例:
# 查找包含特定關鍵字的日志
grep "Connection refused" /var/log/nginx/error.log # 實時監控日志新增內容
tail -f /var/log/apache2/access.log
二、次常用命令(按需使用)
1. 系統管理與監控
命令 | 作用 | 示例 | |
---|---|---|---|
top ?/?htop | 實時監控系統資源(CPU/內存) | htop (交互式進程管理) | |
ps | 查看進程狀態 | `ps aux | grep nginx`(查找Nginx進程) |
kill | 終止進程 | kill -9 1234 (強制終止PID為1234的進程) | |
df ?/?du | 查看磁盤使用情況 | df -h (人類可讀的磁盤空間)du -sh /home (統計目錄大小) | |
free | 查看內存使用 | free -m (以MB為單位顯示) |
代碼示例:
# 查找并終止占用過高CPU的進程
ps aux | sort -nk 3 | tail -5 # 按CPU使用率排序
kill -15 5678 # 優雅終止PID為5678的進程
2. 網絡與通信
命令 | 作用 | 示例 |
---|---|---|
ping | 測試網絡連通性 | ping google.com |
curl ?/?wget | 下載文件或測試API | curl -O http://example.com/file.zip |
netstat | 查看網絡連接和端口監聽 | netstat -tuln (顯示所有監聽端口) |
ssh | 遠程登錄服務器 | ssh user@192.168.1.100 |
scp | 安全傳輸文件 | scp file.txt user@host:/remote/path |
代碼示例:
# 檢查80端口是否被占用
netstat -tuln | grep ":80" # 從遠程服務器下載文件
scp user@remote:/data/reports.zip ./downloads/
3. 權限與用戶管理
命令 | 作用 | 示例 |
---|---|---|
chmod | 修改文件權限 | chmod 755 script.sh (賦予可執行權限) |
chown | 修改文件所有者 | chown user:group file.txt |
sudo | 以超級用戶權限執行命令 | sudo apt update (更新軟件包列表) |
useradd | 創建新用戶 | useradd -m alice (創建用戶并生成家目錄) |
passwd | 修改用戶密碼 | passwd alice |
代碼示例:
# 將目錄所有權轉移給用戶www-data
chown -R www-data:www-data /var/www/html # 賦予腳本執行權限
chmod +x backup_script.sh
三、高階技巧與組合命令
1. 管道符?|
將前一個命令的輸出作為后一個命令的輸入:
# 統計當前目錄下文件數量
ls -l | grep "^-" | wc -l # 僅統計普通文件
2. 重定向?>
?和?>>
-
>
?覆蓋寫入文件,>>
?追加寫入文件:
echo "Hello Linux" > log.txt # 覆蓋寫入
date >> log.txt # 追加當前時間
3. 后臺運行?&
?和?nohup
# 后臺運行腳本并忽略掛斷信號
nohup python3 server.py > output.log 2>&1 &
四、學習資源推薦
-
在線練習:Linux命令大全(手冊)
-
書籍推薦:《鳥哥的Linux私房菜》
-
實戰平臺:OverTheWire(通過游戲學習命令)