歡迎來到linux基礎命令大全!Linux,作為一款強大而穩定的操作系統,無論是服務器管理、軟件開發,還是日常的個人使用,都扮演着越來越重要的角色。對於初學者而言,掌握Linux命令行(CLI)是邁向精通的第一步。命令行界面雖然初看起來有些高冷,但它卻是高效管理系統、自動化任務以及解決複雜問題的核心工具。
本篇文章旨在為您提供一份詳盡、具體且易於理解的linux基礎命令大全。我們將從最常用的文件與目錄操作開始,逐步深入到文件內容查看、權限管理、系統信息獲取乃至進程控制等核心領域。無論您是Linux新手,還是希望系統性地鞏固基礎知識,這份指南都將是您不可或缺的資源。讓我們一起,通過實踐,徹底掌握這些Linux的「基石」命令吧!
文件與目錄操作:Linux世界的基石
在Linux中,一切皆文件。理解如何創建、查看、移動和刪除文件與目錄,是您使用Linux的第一步。
導航與查看
熟悉當前所處位置以及周圍的文件和目錄,是進行任何操作的前提。
pwd (Print Working Directory)
作用: 顯示當前「工作目錄」的完整路徑。
範例:
pwd
輸出: /home/yourusername/Documents (示例)
ls (List)
作用: 列出指定目錄下的文件和子目錄。這是最常用的命令之一,它能幫助您了解目錄結構。
常用選項:
-
-l(long format): 以長格式顯示文件和目錄的詳細信息,包括權限、所有者、大小、創建日期等。 -
-a(all): 顯示所有文件和目錄,包括以.開頭的隱藏文件。 -
-h(human readable): 與-l結合使用,以人類可讀的格式(如KB, MB, GB)顯示文件大小。 -
-F(classify): 在目錄名后添加/,可執行文件后添加*,符號鏈接后添加@等,方便識別文件類型。 -
-R(recursive): 遞歸地列齣子目錄中的內容。
範例:
ls
列出當前目錄下的非隱藏文件和目錄。
ls -l
以長格式顯示當前目錄內容。
ls -alh
顯示所有文件(包括隱藏文件),以長格式和人類可讀的大小顯示。
ls /etc
列出/etc目錄下的內容。
cd (Change Directory)
作用: 切換當前工作目錄。掌握cd命令是Linux導航的關鍵。
常用用法:
-
cd 目錄名: 進入指定目錄。 -
cd ..: 返回上一級目錄。 -
cd ~或cd(不帶參數): 返回當前用戶的主目錄。 -
cd /: 進入根目錄。 -
cd -: 返回上次所在的目錄。
範例:
cd Documents
進入名為Documents的子目錄。
cd ../../
向上返回兩級目錄。
cd /var/log
進入/var/log目錄。
創建、刪除與移動
這些命令讓您能夠管理文件和目錄的生命周期。
mkdir (Make Directory)
作用: 創建新的目錄。
常用選項:
-
-p(parents): 遞歸創建目錄,如果父目錄不存在也會一併創建。
範例:
mkdir my_new_folder
在當前目錄下創建一個名為my_new_folder的目錄。
mkdir -p project/src/main
創建project目錄,並在其下創建src/main子目錄(如果project或src不存在,也會一併創建)。
rmdir (Remove Directory)
作用: 刪除空目錄。請注意,此命令只能刪除空目錄。
範例:
rmdir empty_folder
刪除名為empty_folder的空目錄。
注意: 如果目錄不為空,rmdir會報錯。要刪除非空目錄及其內容,請使用rm -r命令。
touch (Create Empty File / Update Timestamp)
作用: 創建一個空文件,或者更新現有文件的訪問/修改時間戳。
範例:
touch my_file.txt
如果my_file.txt不存在,則創建一個空的my_file.txt文件;如果存在,則更新其時間戳。
cp (Copy)
作用: 複製文件或目錄。
常用選項:
-
-r或-R(recursive): 遞歸複製目錄及其所有內容。 -
-i(interactive): 覆蓋前提示用戶。 -
-v(verbose): 顯示複製過程。
範例:
cp file1.txt file2.txt
複製file1.txt並將其命名為file2.txt。
cp document.pdf ~/backup/
將document.pdf複製到用戶主目錄下的backup目錄中。
cp -r my_folder /tmp/
將my_folder目錄及其所有內容複製到/tmp/。
mv (Move / Rename)
作用: 移動文件或目錄,也可以用於文件或目錄的重命名。
範例:
mv old_name.txt new_name.txt
將old_name.txt重命名為new_name.txt。
mv report.docx /home/user/reports/
將report.docx移動到/home/user/reports/目錄。
rm (Remove)
作用: 刪除文件或目錄。這是一個非常強大的命令,請務必謹慎使用,因為刪除的文件通常無法恢復。
常用選項:
-
-r(recursive): 遞歸刪除目錄及其所有內容。 -
-f(force): 強制刪除,不進行任何提示(即使文件是只讀的)。與-r結合使用時尤其危險。 -
-i(interactive): 刪除前進行提示確認。
範例:
rm unwanted_file.txt
刪除名為unwanted_file.txt的文件。
rm -r useless_folder/
刪除名為useless_folder的目錄及其所有內容。
rm -rf /path/to/very/important/data/
!!!極其危險的命令!!! 這將不經提示地強制刪除指定路徑下的所有文件和目錄。
文件內容查看與編輯:探索文件內部
在Linux中,您無需圖形界面即可輕鬆查看和修改文本文件。
查看文件內容
cat (Concatenate and Display)
作用: 連接文件並打印到標準輸出(通常是屏幕)。主要用於查看短小文件的內容。
範例:
cat my_notes.txt
顯示my_notes.txt文件的全部內容。
cat file1.txt file2.txt > combined.txt
將file1.txt和file2.txt的內容合併到combined.txt中。
less
作用: 分頁查看文件內容。對於大型文件,less比cat更實用,因為它允許您向上或向下滾動,並且不會一次性加載整個文件。
基本操作:
-
Space或Page Down: 向下翻頁。 -
b或Page Up: 向上翻頁。 -
/關鍵詞: 向下搜索關鍵詞。 -
n: 繼續下一個搜索結果。 -
N: 返回上一個搜索結果。 -
g: 跳轉到文件開頭。 -
G: 跳轉到文件結尾。 -
q: 退出less。
範例:
less /var/log/syslog
分頁查看系統日誌文件。
head
作用: 顯示文件的開頭幾行(默認是前10行)。
常用選項:
-
-n 數字: 指定顯示多少行。
範例:
head server_logs.txt
顯示server_logs.txt的前10行。
head -n 5 important_config.conf
顯示important_config.conf的前5行。
tail
作用: 顯示文件的末尾幾行(默認是后10行)。在查看實時更新的日誌文件時非常有用。
常用選項:
-
-n 數字: 指定顯示多少行。 -
-f(follow): 實時跟蹤文件的新增內容。當文件有新內容寫入時,tail -f會立即顯示出來。
範例:
tail access.log
顯示access.log的最後10行。
tail -n 20 error.log
顯示error.log的最後20行。
tail -f /var/log/apache2/access.log
實時跟蹤Apache訪問日誌,當有新訪問時會立即顯示。按Ctrl+C可退出。
基礎文本編輯
nano (Nano Text Editor)
作用: 一個簡單易用的文本編輯器,非常適合命令行新手。它在屏幕底部會顯示常用的操作快捷鍵。
基本操作:
-
nano 文件名: 打開或創建一個文件進行編輯。 -
Ctrl+O: 保存文件(Write Out)。 -
Ctrl+X: 退出編輯器。 -
Ctrl+K: 剪切行。 -
Ctrl+U: 粘貼行。
範例:
nano my_config.conf
使用Nano編輯器打開my_config.conf文件。
權限管理:保障系統安全
Linux是一個多用戶系統,文件和目錄權限是其安全機制的核心。理解並能修改權限至關重要。
理解文件權限
使用ls -l命令時,您會看到類似-rwxr-xr--的字符串。這代表了文件或目錄的權限:
-
第一個字符:文件類型(
-表示文件,d表示目錄,l表示符號鏈接等)。 -
接下來的九個字符:分為三組,每組三個字符。
- 所有者(owner)權限: 第2-4個字符。
- 所屬組(group)權限: 第5-7個字符。
- 其他用戶(others)權限: 第8-10個字符。
-
每組的三個字符分別代表:
-
r(read): 讀權限。 -
w(write): 寫權限。 -
x(execute): 執行權限(對於目錄意味着可以進入)。 -
-: 對應權限未設置。
-
權限也可以用數字(八進制)表示:r=4, w=2, x=1。將每組權限的數字相加,得到一個三位或四位數字。例如:
-
rwx= 4+2+1 = 7 -
rw-= 4+2+0 = 6 -
r-x= 4+0+1 = 5
所以,-rwxr-xr--對應的數字權限是754。
chmod (Change Mode)
作用: 改變文件或目錄的權限。
常用用法(數字模式):
-
chmod 755 文件/目錄名: 所有者可讀寫執行,組用戶和其他用戶只讀執行。這是常見的目錄權限設置。 -
chmod 644 文件名: 所有者可讀寫,組用戶和其他用戶只讀。這是常見的文本文件權限設置。
常用用法(符號模式):
-
u: 所有者 (user) -
g: 所屬組 (group) -
o: 其他用戶 (others) -
a: 所有用戶 (all) -
+: 添加權限 -
-: 移除權限 -
=: 設置權限(覆蓋現有權限)
範例:
chmod 755 script.sh
將script.sh設置為所有者可讀寫執行,組用戶和其他用戶可讀可執行。
chmod +x my_program
給my_program添加執行權限(對所有用戶)。
chmod u=rw,go=r file.txt
設置file.txt:所有者讀寫,組用戶和其他用戶只讀。
chown (Change Owner)
作用: 改變文件或目錄的所有者和/或所屬組。通常需要sudo權限才能執行。
範例:
sudo chown newuser file.txt
將file.txt的所有者改為newuser。
sudo chown -R newuser:newgroup my_folder/
遞歸地將my_folder及其內容的所有者改為newuser,所屬組改為newgroup。
sudo (Superuser Do)
作用: 以超級用戶的權限(root)執行命令。在Linux中,為了系統安全,通常不直接使用root用戶操作,而是通過sudo來臨時提升權限。
範例:
sudo apt update
以root權限更新軟件包列表。
sudo nano /etc/hosts
以root權限編輯/etc/hosts文件。
重要提示: 使用sudo時要格外小心,因為您可以執行任何操作,包括損壞系統。
系統信息與進程管理:洞悉系統狀態
了解系統的運行狀況、磁盤使用情況以及管理正在運行的程序(進程)對於系統維護至關重要。
系統信息查看
df (Disk Free)
作用: 顯示文件系統的磁盤空間使用情況。
常用選項:
-
-h(human readable): 以人類可讀的格式(GB, MB等)顯示。
範例:
df -h
顯示所有掛載的文件系統的磁盤空間使用情況。
du (Disk Usage)
作用: 估算文件或目錄的磁盤空間使用量。
常用選項:
-
-h(human readable): 以人類可讀的格式顯示。 -
-s(summarize): 只顯示總計大小,而不是每個文件/子目錄的詳細列表。
範例:
du -sh my_project/
顯示my_project/目錄的總大小。
du -h Documents/
顯示Documents/目錄下所有文件和子目錄的大小。
top
作用: 實時顯示系統中正在運行的進程,以及它們的CPU、內存佔用情況,類似於Windows的任務管理器。
基本操作:
-
q: 退出top。 -
k: 殺死進程(按K后輸入PID,再按回車)。
範例:
top
啟動top界面。
ps (Process Status)
作用: 顯示當前系統中的進程快照。與top的實時性不同,ps是某個時間點的靜態信息。
常用選項:
-
aux: 最常用的組合,顯示所有用戶(a)、包含沒有控制終端的進程(x),並顯示詳細信息(u)。 -
ef: 顯示所有進程,並以全格式顯示命令。
範例:
ps aux | grep firefox
查找所有與Firefox相關的進程(grep用於過濾輸出)。
uname
作用: 顯示系統信息,如內核名稱、主機名、內核版本、操作系統等。
常用選項:
-
-a(all): 顯示所有系統信息。 -
-r: 顯示內核版本。 -
-m: 顯示硬件架構。
範例:
uname -a
顯示所有系統信息。
進程管理
kill
作用: 終止一個正在運行的進程。通常通過進程ID(PID)來指定。
常用信號:
-
-9(SIGKILL): 強制終止進程,不給進程清理資源的機會。慎用。 -
-15(SIGTERM): 正常終止進程,給進程時間清理資源。默認信號。
範例:
kill 12345
向PID為12345的進程發送終止信號(SIGTERM)。
kill -9 54321
強制終止PID為54321的進程。
killall firefox
終止所有名為firefox的進程。
快捷鍵: 在終端中,可以使用Ctrl+C來中斷當前正在運行的命令或進程。
搜索與幫助:高效定位信息
當您需要查找文件或在文件中查找特定內容時,這些命令會派上用場。
find
作用: 在文件系統中搜索文件和目錄。它功能強大,可以通過各種條件進行搜索。
常用選項:
-
.: 在當前目錄及子目錄中搜索。 -
/: 在根目錄及所有子目錄中搜索。 -
-name "文件名": 按名稱搜索(支持通配符,如*.txt)。 -
-type d: 搜索目錄。 -
-type f: 搜索文件。 -
-size +1M: 搜索大於1MB的文件。 -
-user 用戶名: 搜索屬於指定用戶的文件。
範例:
find . -name "*.log"
在當前目錄及其子目錄中查找所有以.log結尾的文件。
find /home/user -type f -name "report_*.pdf"
在/home/user目錄下查找所有以report_開頭且以.pdf結尾的文件。
grep (Global Regular Expression Print)
作用: 在文件中搜索匹配指定模式(通常是文本字符串或正則表達式)的行。
常用選項:
-
-i(ignore case): 忽略大小寫進行搜索。 -
-r(recursive): 遞歸搜索目錄下的所有文件。 -
-n(line number): 顯示匹配行的行號。 -
-l(files with matches): 只顯示包含匹配項的文件名。
範例:
grep "error" /var/log/syslog
在/var/log/syslog文件中查找所有包含「error」的行。
grep -rni "password" /etc/
在/etc/目錄下遞歸、不區分大小寫地查找包含「password」的行,並顯示行號。
man (Manual)
作用: 顯示命令的聯機幫助手冊(manual page)。這是學習和理解Linux命令最權威的來源。
基本操作:
-
man 命令名: 顯示指定命令的幫助手冊。 -
在
man頁面中,可以使用Page Up/Page Down或上下箭頭滾動,按/關鍵詞搜索,按q退出。
範例:
man ls
查看ls命令的幫助手冊。
學習Linux命令的最佳實踐
僅僅了解這些命令還不夠,掌握它們需要持續的練習和正確的學習方法:
- 多加練習: 理論知識需要通過實踐來鞏固。在虛擬機、Docker容器或雲服務器上搭建一個Linux環境,放心地進行操作。
-
利用Tab鍵自動補全: 這是命令行中最實用的功能之一。輸入命令或文件名的前幾個字母,然後按
Tab鍵,系統會自動補全或顯示可能的選項。 -
善用歷史命令: 使用向上/向下箭頭鍵可以瀏覽之前輸入的命令。
history命令可以查看您所有輸入過的命令列表。Ctrl+R可以反向搜索歷史命令。 - 閱讀錯誤信息: 當命令執行失敗時,系統通常會給出錯誤提示。仔細閱讀這些信息,它們往往能指出問題所在。
-
從
man手冊中學習:man命令是您的最佳伴侶,它提供了最詳細、最準確的命令信息。 -
從簡單開始,逐步深入: 熟練掌握這些linux基礎命令大全中的命令后,您可以嘗試學習管道(
|)、重定向(>,>>,<)、通配符、環境變量以及Shell腳本編程等更高級的主題。
常見問題 (FAQ)
如何記住這麼多Linux命令?
記住所有Linux命令確實具有挑戰性,但您可以通過以下方法提高效率:理解而非死記硬背,掌握命令的邏輯和作用;分類學習,將命令按功能(如文件操作、系統管理)分組;多加實踐,在日常使用中不斷重複使用命令;利用man手冊,不確定時查閱幫助;使用Tab鍵自動補全,減少記憶壓力。
為何我的Linux命令不起作用或顯示「權限不足」?
這通常是由於權限問題。您可能正在嘗試修改一個您沒有寫入權限的文件,或者在沒有足夠權限的目錄中創建文件。解決方法通常是:使用sudo命令,在命令前加上sudo以超級用戶權限執行(例如:sudo nano /etc/hosts);檢查文件或目錄的所有者和權限(使用ls -l),並根據需要使用chmod或chown命令進行調整(通常需要sudo權限來修改這些)。
Linux命令是大小寫敏感的嗎?
是的,Linux命令和文件/目錄名是嚴格區分大小寫的。 例如,cd Documents和cd documents是兩個完全不同的命令,如果您有一個名為Documents的文件夾,但輸入了cd documents,系統將提示找不到該目錄。同樣,Ls不是一個有效的命令,必須是ls。
Windows和Linux的命令行操作有什麼主要區別?
Windows(CMD/PowerShell)和Linux(Bash/Zsh等)在命令行操作上有顯著區別。語法不同,例如Windows使用dir列出文件,Linux使用ls;Windows使用反斜杠作為路徑分隔符,Linux使用正斜杠/。此外,設計哲學不同,Linux更強調一切皆文件,強大的管道(|)和重定向使得命令組合異常靈活;權限模型也不同,Linux的權限系統(rwx、所有者/組/其他)更為精細和安全。學習Linux命令后,您會發現其在自動化和系統管理方面的強大優勢。
通過這份linux基礎命令大全,您已經掌握了進入Linux世界的鑰匙。請記住,學習永無止境,實踐是最好的老師。從現在開始,就打開您的終端,運用這些命令,探索Linux的無限可能吧!祝您學習愉快,在Linux的命令行世界中遨遊!

