Linux 常用指令詳解

Linux 操作系統中有大量強大的命令行工具,下面我將分類介紹一些最常用的指令及其用法。

## 文件與目錄操作

### 1. ls - 列出目錄內容
```
ls [選項] [目錄名]
```
常用選項:
- `-l`:長格式顯示(詳細信息)
- `-a`:顯示所有文件(包括隱藏文件)
- `-h`:人類可讀的文件大小(配合 -l 使用)
- `-t`:按修改時間排序
- `-r`:反向排序

示例:
```bash
ls -lah /home ?# 顯示/home目錄下所有文件的詳細信息
```

### 2. cd - 切換目錄
```
cd [目錄路徑]
```
特殊路徑:
- `cd ~` 或 `cd`:返回用戶主目錄
- `cd ..`:返回上級目錄
- `cd -`:返回上一次所在的目錄

### 3. pwd - 顯示當前工作目錄
```
pwd
```

### 4. mkdir - 創建目錄
```
mkdir [選項] 目錄名
```
常用選項:
- `-p`:遞歸創建所需目錄結構
- `-m`:設置目錄權限

示例:
```bash
mkdir -p project/{src,doc,bin} ?# 創建project目錄及其子目錄
```

### 5. cp - 復制文件/目錄
```
cp [選項] 源文件 目標文件
cp [選項] 源文件... 目標目錄
```
常用選項:
- `-r`:遞歸復制目錄
- `-i`:覆蓋前提示
- `-u`:只復制更新的文件
- `-v`:顯示復制過程

示例:
```bash
cp -r /home/user/documents /backup/ ?# 遞歸復制目錄
```

### 6. mv - 移動/重命名文件
```
mv [選項] 源文件 目標文件
mv [選項] 源文件... 目標目錄
```
常用選項:
- `-i`:覆蓋前提示
- `-v`:顯示移動過程

示例:
```bash
mv oldname.txt newname.txt ?# 重命名文件
mv *.txt /target/dir/ ? ? ?# 移動所有txt文件
```

### 7. rm - 刪除文件/目錄
```
rm [選項] 文件...
```
常用選項:
- `-r`:遞歸刪除目錄
- `-f`:強制刪除,不提示
- `-i`:刪除前提示確認

示例:
```bash
rm -rf obsolete_dir/ ?# 強制遞歸刪除目錄(謹慎使用!)
```

### 8. find - 查找文件
```
find [路徑] [表達式]
```
常用表達式:
- `-name "pattern"`:按名稱查找
- `-type f/d`:查找文件/目錄
- `-mtime +n`:查找n天前修改的文件
- `-size +10M`:查找大于10MB的文件
- `-exec command {} \;`:對找到的文件執行命令

示例:
```bash
find /home -name "*.txt" -type f ?# 查找/home下所有txt文件
find . -mtime -7 -exec ls -l {} \; ?# 查找7天內修改的文件并列出詳細信息
```

### 9. grep - 文本搜索
```
grep [選項] 模式 [文件...]
```
常用選項:
- `-i`:忽略大小寫
- `-r`:遞歸搜索目錄
- `-n`:顯示行號
- `-v`:反向匹配(不包含模式的行)
- `-l`:只顯示包含匹配的文件名
- `-E`:使用擴展正則表達式

示例:
```bash
grep -rn "error" /var/log/ ?# 遞歸搜索/var/log/中包含"error"的行
ps aux | grep sshd ? ? ? ? ?# 過濾包含sshd的進程
```

## 文件內容查看與處理

### 10. cat - 連接并顯示文件內容
```
cat [選項] [文件...]
```
常用選項:
- `-n`:顯示行號
- `-b`:顯示非空行行號

示例:
```bash
cat file1 file2 > combined ?# 合并文件
cat -n /etc/passwd ? ? ? ? # 顯示帶行號的文件內容
```

### 11. less/more - 分頁查看文件
```
less [選項] 文件名
more [選項] 文件名
```
常用操作(less中):
- 空格:下一頁
- b:上一頁
- /pattern:搜索
- q:退出

### 12. head/tail - 查看文件開頭/結尾
```
head [選項] 文件
tail [選項] 文件
```
常用選項:
- `-n NUM`:顯示NUM行(默認10)
- `-f`:跟蹤文件變化(常用于日志)

示例:
```bash
head -n 20 largefile.log ?# 顯示文件前20行
tail -f /var/log/syslog ? # 實時查看日志更新
```

### 13. wc - 統計文件內容
```
wc [選項] 文件
```
常用選項:
- `-l`:行數
- `-w`:單詞數
- `-c`:字節數
- `-m`:字符數

示例:
```bash
wc -l access.log ?# 統計文件行數
```

### 14. sort - 排序文件內容
```
sort [選項] 文件
```
常用選項:
- `-n`:按數值排序
- `-r`:逆序排序
- `-k N`:按第N列排序
- `-u`:去重

示例:
```bash
sort -nrk 3 data.txt ?# 按第三列數值逆序排序
```

### 15. uniq - 報告或忽略重復行
```
uniq [選項] [輸入文件 [輸出文件]]
```
常用選項:
- `-c`:統計重復次數
- `-d`:只顯示重復行
- `-u`:只顯示不重復行

通常與sort配合使用:
```bash
sort file.txt | uniq -c ?# 統計每行出現次數
```

### 16. cut - 提取文件列
```
cut [選項] 文件
```
常用選項:
- `-d DELIM`:指定分隔符(默認為制表符)
- `-f LIST`:選擇指定字段

示例:
```bash
cut -d: -f1,7 /etc/passwd ?# 提取用戶名和登錄shell
```

### 17. sed - 流編輯器
```
sed [選項] '命令' 文件
```
常用命令:
- `s/pattern/replacement/`:替換
- `d`:刪除行
- `p`:打印行

示例:
```bash
sed 's/foo/bar/g' file.txt ?# 全局替換foo為bar
sed -i.bak 's/old/new/' file ?# 直接修改文件并備份
```

### 18. awk - 文本處理工具
```
awk '模式 {動作}' 文件
```
常用變量:
- `$0`:整行
- `$1,$2,...`:第1,2,...字段
- `NF`:字段數
- `NR`:當前行號

示例:
```bash
awk -F: '{print $1, $7}' /etc/passwd ?# 同cut示例
awk '$3 > 100 {print $0}' data.txt ?# 打印第三列大于100的行
```

## 系統信息與進程管理

### 19. ps - 顯示進程狀態
```
ps [選項]
```
常用選項組合:
- `aux`:顯示所有用戶的所有進程
- `-ef`:全格式列表

示例:
```bash
ps aux | grep nginx ?# 查找nginx進程
```

### 20. top/htop - 動態顯示進程信息
```
top
htop ?# 需要安裝,功能更強大
```
常用操作:
- q:退出
- k:殺死進程(輸入PID)
- M:按內存排序
- P:按CPU排序

### 21. kill - 終止進程
```
kill [選項] PID...
killall [選項] 進程名...
```
常用選項:
- `-9`:強制終止(SIGKILL)
- `-15`:正常終止(SIGTERM,默認)

示例:
```bash
kill -9 1234 ?# 強制終止PID為1234的進程
killall -u username ?# 終止某用戶的所有進程
```

### 22. free - 顯示內存使用情況
```
free [選項]
```
常用選項:
- `-h`:人類可讀格式
- `-m`:以MB為單位

示例:
```bash
free -h ?# 顯示易讀的內存信息
```

### 23. df - 顯示磁盤空間
```
df [選項] [文件...]
```
常用選項:
- `-h`:人類可讀格式
- `-T`:顯示文件系統類型

示例:
```bash
df -hT ?# 顯示所有掛載點的磁盤使用情況
```

### 24. du - 估算文件/目錄空間使用
```
du [選項] [文件...]
```
常用選項:
- `-h`:人類可讀格式
- `-s`:只顯示總計
- `--max-depth=N`:顯示N級子目錄

示例:
```bash
du -sh /var/log/ ?# 顯示/var/log/的總大小
```

### 25. uname - 顯示系統信息
```
uname [選項]
```
常用選項:
- `-a`:顯示所有信息
- `-r`:內核版本
- `-m`:機器硬件名稱

示例:
```bash
uname -a ?# 顯示所有系統信息
```

### 26. uptime - 顯示系統運行時間
```
uptime
```
輸出示例:
```
10:30:45 up 15 days, ?3:25, ?2 users, ?load average: 0.15, 0.10, 0.05
```

## 網絡相關

### 27. ifconfig/ip - 網絡接口配置
```
ifconfig [接口] [選項] ?# 傳統命令
ip addr show ? ? ? ? ?# 現代替代命令
```
示例:
```bash
ifconfig eth0 ?# 顯示eth0接口信息
ip a ? ? ? ? ?# 顯示所有接口信息
```

### 28. ping - 測試網絡連通性
```
ping [選項] 主機名/IP
```
常用選項:
- `-c N`:發送N個包后停止
- `-i N`:設置間隔N秒

示例:
```bash
ping -c 4 google.com ?# 向google.com發送4個ping包
```

### 29. netstat/ss - 網絡統計信息
```
netstat [選項] ?# 傳統命令
ss [選項] ? ? ? # 現代替代命令
```
常用選項:
- `-t`:TCP連接
- `-u`:UDP連接
- `-l`:監聽端口
- `-p`:顯示進程信息
- `-n`:數字形式顯示地址

示例:
```bash
ss -tulnp ?# 顯示所有監聽端口及相關進程
```

### 30. traceroute/tracepath - 跟蹤路由路徑
```
traceroute 主機名/IP
tracepath 主機名/IP ?# 不需要root權限
```

### 31. wget/curl - 下載工具
```
wget [選項] URL
curl [選項] URL
```
常用選項:
- `-O`:保存到文件(wget)
- `-o FILE`:保存到文件(curl)
- `-L`:跟隨重定向

示例:
```bash
wget https://example.com/file.zip
curl -o file.zip https://example.com/file.zip
```

### 32. ssh - 安全遠程登錄
```
ssh [選項] 用戶名@主機 [命令]
```
常用選項:
- `-p 端口`:指定端口
- `-i 密鑰文件`:使用指定密鑰

示例:
```bash
ssh user@example.com
ssh -p 2222 user@example.com 'ls -l /tmp'
```

## 權限管理

### 33. chmod - 更改文件權限
```
chmod [選項] 模式 文件...
```
模式格式:
- 數字模式:如 `755`
- 符號模式:如 `u+x,g-w,o=r`

示例:
```bash
chmod 755 script.sh ?# rwxr-xr-x
chmod +x script.sh ? # 添加執行權限
```

### 34. chown - 更改文件所有者
```
chown [選項] 用戶[:組] 文件...
```
常用選項:
- `-R`:遞歸更改

示例:
```bash
chown user:group file.txt ?# 更改所有者和組
chown -R www-data:www-data /var/www ?# 遞歸更改
```

### 35. passwd - 更改用戶密碼
```
passwd [用戶名] ?# 無參數更改當前用戶密碼
```

## 壓縮與歸檔

### 36. tar - 歸檔工具
```
tar [選項] 文件...
```
常用選項:
- `-c`:創建歸檔
- `-x`:提取歸檔
- `-v`:顯示過程
- `-f FILE`:指定歸檔文件
- `-z`:gzip壓縮/解壓
- `-j`:bzip2壓縮/解壓
- `-J`:xz壓縮/解壓

示例:
```bash
tar -czvf archive.tar.gz dir/ ?# 創建gzip壓縮的歸檔
tar -xzvf archive.tar.gz ? ? ?# 解壓gzip歸檔
```

### 37. gzip/gunzip - 壓縮/解壓
```
gzip [選項] 文件...
gunzip [選項] 文件...
```
常用選項:
- `-d`:解壓(gzip)
- `-k`:保留原文件
- `-9`:最大壓縮

示例:
```bash
gzip -9 largefile.log ?# 最大壓縮
gunzip largefile.log.gz ?# 解壓
```

### 38. zip/unzip - ZIP壓縮/解壓
```
zip [選項] 壓縮包名 文件...
unzip [選項] 壓縮包名
```
常用選項:
- `-r`:遞歸壓縮目錄
- `-d 目錄`:指定解壓目錄

示例:
```bash
zip -r archive.zip dir/
unzip archive.zip -d target_dir/
```

## 系統管理

### 39. sudo - 以超級用戶權限執行命令
```
sudo [選項] 命令
```
常用選項:
- `-i`:切換到root shell
- `-u 用戶`:以指定用戶身份執行

### 40. su - 切換用戶
```
su [選項] [用戶名]
```
無參數時切換到root

### 41. useradd/userdel - 添加/刪除用戶
```
useradd [選項] 用戶名
userdel [選項] 用戶名
```
常用選項:
- `-m`:創建用戶主目錄
- `-G 組`:指定附加組
- `-r`:刪除用戶時同時刪除主目錄

示例:
```bash
useradd -m -G sudo newuser ?# 創建有sudo權限的用戶
userdel -r olduser ? ? ? ? ?# 刪除用戶及其主目錄
```

### 42. groupadd/groupdel - 添加/刪除組
```
groupadd [選項] 組名
groupdel 組名
```

### 43. crontab - 定時任務管理
```
crontab [選項]
```
常用選項:
- `-e`:編輯當前用戶的crontab
- `-l`:列出當前用戶的crontab
- `-r`:刪除當前用戶的crontab

### 44. systemctl - 系統服務管理
```
systemctl [命令] [服務]
```
常用命令:
- `start`:啟動服務
- `stop`:停止服務
- `restart`:重啟服務
- `status`:查看服務狀態
- `enable`:設置開機啟動
- `disable`:禁止開機啟動

示例:
```bash
systemctl status nginx ?# 查看nginx狀態
systemctl restart apache2 ?# 重啟apache
```

## 其他實用命令

### 45. alias - 創建命令別名
```
alias 別名='命令'
```
示例:
```bash
alias ll='ls -alF'
```

### 46. history - 查看命令歷史
```
history [選項]
```
常用選項:
- `-c`:清除歷史
- `-d N`:刪除第N條歷史

常用操作:
- `!N`:執行歷史中第N條命令
- `!!`:執行上一條命令
- `!str`:執行最近以str開頭的命令

### 47. which/whereis - 查找命令位置
```
which 命令
whereis [選項] 命令
```
whereis選項:
- `-b`:只查找二進制文件
- `-m`:只查找手冊頁

### 48. man - 查看命令手冊
```
man [章節] 命令
```
常用章節:
- 1:用戶命令
- 5:文件格式
- 8:管理員命令

### 49. ln - 創建鏈接
```
ln [選項] 源文件 目標文件
```
常用選項:
- `-s`:創建符號鏈接
- `-f`:強制創建

示例:
```bash
ln -s /path/to/file linkname ?# 創建符號鏈接
```

### 50. dd - 磁盤/文件轉換與復制
```
dd [選項]
```
常用選項:
- `if=FILE`:輸入文件
- `of=FILE`:輸出文件
- `bs=N`:塊大小
- `count=N`:復制N個塊

示例:
```bash
dd if=/dev/sda of=disk.img bs=4M ?# 創建磁盤映像
dd if=/dev/zero of=/swapfile bs=1M count=1024 ?# 創建1GB交換文件
```

## 總結

以上是Linux中最常用的50個命令及其主要用法。掌握這些命令可以完成大多數日常系統管理任務。要深入了解每個命令,可以使用`man 命令名`查看完整手冊。隨著使用經驗的積累,你會發現Linux命令行工具的強大和高效。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81822.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81822.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81822.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uv安裝及使用

windows安裝參考: 什么是python uv,如何在windows上安裝uv,基礎的用法有哪些?_windows安裝uv-CSDN博客 https://zhuanlan.zhihu.com/p/6776864377 使用方式 方式1: 創建uv虛擬環境->激活環境->安裝依賴&…

C#實現Socket通信:基于TCP/IP協議的網絡編程

TCP/IP網絡模型 最上層的是應用層,也就是我們日常可以接觸到的,它會給數據添加對應的頭部,并傳輸給傳輸層,應用層是我們日常會接觸到的,比如HTTP,FTP,Telnet,DNS,SMTP。…

哈希算法、搜索算法與二分查找算法在 C# 中的實現與應用

在計算機科學中,哈希算法、搜索算法和二分查找算法是三個非常基礎且常用的概念。它們分別在數據存儲、數據查找、以及高效檢索等場景中起著至關重要的作用。在 C# 中,這些算法的實現和使用也十分簡便。本文將詳細講解這三種算法的原理、應用以及 C# 中的…

AI日報 · 2025年5月05日|雅詩蘭黛與微軟合作成立 AI 創新實驗室,加速美妝產品研發與營銷

1、蘋果與 Anthropic 深化合作,內部測試 AI 驅動的新版 Xcode 據多方報道,蘋果公司正與人工智能初創公司 Anthropic 合作,開發集成 AI 功能的新一代 Xcode 開發平臺。該平臺旨在利用 Anthropic 強大的 Claude Sonnet 模型,為開發…

python celery框架結合django的使用

學習目標: 通過文章了解celery的運行機制以及如何結合django去使用 熟悉celery的運行原理屬性celery在django項目當中的配置如何啟動運行celery框架 學習內容: 熟悉celery的運行原理,簡單來說 Celery 是一個“任務排隊機后臺處理器”。幫你…

滑動窗口leetcode 904

代碼&#xff1a; class Solution { public:int totalFruit(vector<int>& fruits) {int n fruits.size();unordered_map<int,int> window_type_count;int left 0;int ans 0;for(int right 0; right <n;right){while(window_type_count.size() 2 &&…

用可視化學習逆置法

1.逆置法思路 目標&#xff1a;將這個彩色數組向右旋轉3步 &#x1f534;1 → &#x1f7e0;2 → &#x1f7e1;3 → &#x1f7e2;4 → &#x1f535;5 → &#x1f7e3;6 → ?7我們希望得到 &#x1f535;5 → &#x1f7e3;6 → ?7 → &#x1f534;1 → &#x1f7e0;…

Cisco Packet Tracer 選項卡的使用

目錄 設備Config選項卡的使用 Realtime and Simulation模式&#xff08;數據包跟蹤與分析&#xff09; 設備Desktop選項卡的使用 設備Config選項卡的使用 Hostname NVRAM Startup Config----Load 加載 INTERFACE 點擊on Save 如果&#xff0c;不把Running Config保存為Sta…

pyqt寫一個單片機配置界面

已經實現以下功能 1.可以選擇單片機架構 2.選擇完單片機架構后第二個框可以選擇常見單片機型號 3.選擇完常見單片機型號后第三個框可以選擇內部資源如adc等&#xff08;可以選擇多個內部資源&#xff09;4.選擇完內部資源如adc等&#xff08;可以選擇多個內部資源&#xff09;后…

丟失的數字 --- 位運算

目錄 一&#xff1a;題目 二&#xff1a;算法原理 三&#xff1a;代碼實現 一&#xff1a;題目 題目鏈接&#xff1a; 268. 丟失的數字 - 力扣&#xff08;LeetCode&#xff09; 二&#xff1a;算法原理 三&#xff1a;代碼實現 class Solution { public:int missingNumb…

千鋒教育Ansible自動化運維實戰教程從入門到精通

簡介 介紹 Ansible 的基本概念、自動化運維優勢、應用場景及課程目標。 歡迎開啟 Ansible 學習之旅&#xff01; 你好&#xff01;作為一名學習者&#xff0c;你即將通過這個 Ansible 自動化運維實戰 課程&#xff0c;從零開始掌握自動化運維的超能力&#xff01;這個“簡介”…

深入理解 TensorFlow 的模型保存與加載機制(SavedModel vs H5)

深入理解 TensorFlow 的模型保存與加載機制&#xff08;SavedModel vs H5&#xff09; 在使用 TensorFlow 進行模型訓練后&#xff0c;模型的保存與加載是部署、復用和遷移學習的重要環節。TensorFlow 提供了兩種主要的保存格式&#xff1a;SavedModel 和 HDF5 (.h5)。本篇文章…

C++之特殊類設計及類型轉換

目錄 一、設計一個不能被拷貝的類 二、設計一個只能在堆上創建對象的類 三、設計一個只能在棧上創建對象的類 四、設計一個不能被繼承的類 五、設計一個只能創建一個對象的類(單例模式) 六、C語言中的類型轉換 七、C中的三類類型轉換 八、C強制類型轉換 8.1、為什么C需…

制作一款打飛機游戲36:調度編輯器

我們正在創建一個調度編輯器。嗯&#xff0c;這個名字聽起來可能有點奇怪&#xff0c;對吧&#xff1f;但如果你了解射擊游戲中的“調度”&#xff0c;那就是敵人出現的時間表。 你可能已經看到了&#xff0c;我們有一個可以滾動的關卡。現在&#xff0c;我想增加一些交互性&a…

wordperss AI插件:AI圖文+視頻+長尾關鍵詞自動生成,已內置deepseek、kimi全模型,支持簡單一鍵接入更多自定義API

【2.17最新版】Linkreate wordperss AI插件&#xff1a;AI圖文視頻長尾關鍵詞自動生成&#xff0c;已內置deepseek、kimi全模型。 支持自定義接入其它API&#xff0c;包括但不限于騰訊云API和它的deepseek模型 后臺只需要設置對應的API url 、模型 、API key,就可以讓插件調用…

從零開始學Python:開啟編程新世界的大門

在當今數字化時代&#xff0c;Python作為一門簡潔、高效且功能強大的編程語言&#xff0c;受到了越來越多人的喜愛與追捧。無論是數據科學、人工智能、Web開發&#xff0c;還是自動化腳本編寫&#xff0c;Python都展現出了卓越的能力。本文將帶領大家踏上Python學習之旅&#x…

【PostgreSQL數據分析實戰:從數據清洗到可視化全流程】3.2 缺失值檢測與處理(NULL值填充/刪除策略)

&#x1f449; 點擊關注不迷路 &#x1f449; 點擊關注不迷路 &#x1f449; 點擊關注不迷路 文章大綱 缺失值檢測與處理全攻略&#xff1a;NULL值填充與刪除策略實戰3.2 缺失值檢測與處理3.2.1 缺失值類型與業務影響3.2.1.1 缺失值的三種形態3.2.1.2 業務影響分級 3.2.2 缺失值…

Java求職面試:Spring Boot與微服務的幽默探討

Java求職者面試&#xff1a;技術與幽默的碰撞 場景概述 在某互聯網大廠的面試現場&#xff0c;面試官嚴肅認真&#xff0c;程序員則是一個搞笑的水貨角色。面試者名叫張偉&#xff0c;年齡28歲&#xff0c;碩士學歷&#xff0c;擁有5年的Java開發經驗。以下是面試的詳細過程。…

使用 NGINX 實現 HTTP Basic 認證ngx_http_auth_basic_module 模塊

一、前言 在 Web 應用中&#xff0c;對部分資源進行訪問控制是十分常見的需求。除了基于 IP 限制、JWT 驗證、子請求校驗等方式外&#xff0c;最經典也最簡單的一種方式便是 HTTP Basic Authentication。NGINX 提供的 ngx_http_auth_basic_module 模塊支持基于用戶名和密碼的基…

map和set的設計以及紅黑樹的設計

1.map和set的底層是紅黑樹 2.map和set在STL是容器&#xff0c;在我看來&#xff0c;不過也是封裝了平衡二叉搜索樹紅黑樹的適配器 我們先看紅黑樹的設計&#xff0c;看完后map和set的封裝易如反掌 #pragma once #include<utility> #include<iostream> using name…