跳到主要內容
當你進入了 Linux 的世界,在下載、安裝 了某個 Linux 發行版,體驗了 Linux 桌面並安裝了一些你喜愛和需要的軟體之後,應該去了解下 Linux 真正的魅力所在:命令列。每一個 Linux 命令其實就是一個程序,藉助這些命令,我們可以辦到非常多的事情。下面將會為大家介紹一下幾個常用的命令。 

如何尋求幫助?

在 Linux 下遇到問題,最重要的是要自己尋求幫助,下面是三種尋求幫助的方法。 

man

man 是 Linux 的幫助手冊,即 manual 。因為大多數程序都會自帶手冊,所以可以通過 man 命令獲取幫助。執行以後,在 man page 頁面中按 q 退出。
獲取 ls 的幫助
  1. $ man ls
檢視有多少(針對不同方面的)同名的手冊
  1. $ man -f ls
  2. ls (1) - list directory contents
  3. ls (1p) - list directory contents
檢視特定的手冊
  1. $ man 1p ls

info

與 man 不同的是,可以像瀏覽網頁一樣在各個節點中跳轉。
從文件首頁開始瀏覽
  1. $ info
獲取特定程序的幫助
  1. $ info program

help

除了上面的兩種方法外,還有一種簡單使用的方法,那就是 --help 引數,一般程序都會有這個引數,會輸出最簡單有用的介紹。
  1. $ man --help ### 獲取 man 的幫助
  2. $ info --help ### 獲取 info 的幫助
  3. $ ls --help ### 獲取 ls 的幫助

如何簡單操作?

在 Terminal(終端) 中,有許多操作技巧,這裡就介紹幾個簡單的。 

游標

  • up(方向鍵上) 可以調出輸入歷史執行記錄,快速執行命令
  • down(方向鍵下) 配合 up 選擇歷史執行記錄
  • Home 移動游標到本行開頭
  • End 移動游標到本行結尾
  • PgUp 向上翻頁
  • PaDN 向下翻頁
  • ctrl + c 終止當前程序

Tab 補全

Tab 補全是非常有用的一個功能,可以用來自動補全命令或文件名,省時準確。
  • 未輸入狀態下連按兩次 Tab 列出所有可用命令
  • 已輸入部分命令名或文件名,按 Tab 進行自動補全,多用你就肯定會喜歡的了。

常用命令 

以下命令按照通常的使用頻度排列。

cd

cd 是開啟某個路徑的命令,也就是開啟某個文件夾,並跳轉到該處。
  1. $ cd path ### path 為你要開啟的路徑。
其中 path 有絕對路徑和相對路徑之分,絕對路徑強調從 / 起,一直到所在路徑。相對路徑則相對於當前路徑來說,假設當前家目錄有etc 文件夾(絕對路徑應為 /home/username/etc),如果直接 cd etc 則進入此文件夾,但若是 cd /etc/ 則是進入系統 etc ,多琢磨一下就可以理解了。另外在 Linux 中, . 代表當前目錄, .. 代表上級目錄,因此返回上級目錄可以 cd .. 。

ls

ls 即 list ,列出文件。
  1. $ ls ### 僅列出當前目錄可見文件
  2. $ ls -l ### 列出當前目錄可見文件詳細資訊
  3. $ ls -hl ### 列出詳細資訊並以可讀大小顯示文件大小
  4. $ ls -al ### 列出所有文件(包括隱藏)的詳細資訊
注意: Linux 中 以 . 開頭的文件或文件夾均為隱藏文件或隱藏文件夾。

pwd

pwd 用於返回當前工作目錄的名字,為絕對路徑名。
  1. $ pwd
  2. /home 

mkdir

mkdir 用於新建文件夾。
  1. $ mkdir folder
  2. $ mkdir -p folder/subfolder ### -p 引數為當父目錄存在時忽略,若不存在則建立,用此引數可建立多級文件夾

rm

rm 即 remove ,刪除文件。
  1. $ rm filename ### 刪除 filename
  2. $ rm -i filename ### 刪除 filename 前提示,若多個文件則每次提示
  3. $ rm -rf folder/subfolder/ ### 遞迴刪除 subfolder 下所有文件及文件夾,包括 subfolder 自身
  4. $ rm -d folder ### 刪除空文件夾

cp

cp 即 copy ,複製文件。
  1. $ cp source dest ### 將 source 複製到 dest
  2. $ cp folder/* dest ### 將 folder 下所有文件(不含子文件夾中的文件)複製到 dest
  3. $ cp -r folder dest ### 將 folder 下所有文件(包含子文件夾中的所有文件)複製到 dest

mv

mv 即 move ,移動文件。
  1. $ mv source folder ### 將 source 移動到 folder 下,完成後則為 folder/source
  2. $ mv -i source folder ### 在移動時,若文件已存在則提示 **是否覆蓋**
  3. $ mv source dest ### 在 dest 不為目錄的前提下,重新命名 source 為 dest

cat

cat 用於輸出文件內容到 Terminal 。
  1. $ cat /etc/locale.gen ### 輸出 locale.gen 的內容
  2. $ cat -n /etc/locale.gen ### 輸出 locale.gen 的內容並顯示行號

more

more 與 cat 相似,都可以檢視文件內容,所不同的是,當一個文件太長時, cat 只能展示最後佈滿螢幕的內容,前面的內容是不可見的。這時候可用 more 逐行顯示內容。
  1. $ more /etc/locale.gen
  2. $ more +100 /etc/locale.gen ### 從 100 行開始顯示

less

less 與 more 相似,不過 less 支援上下滾動檢視內容,而 more 只支援逐行顯示。
  1. $ less /etc/locale.gen
  2. $ less +100 /etc/locale.gen

nano

nano 是一個簡單實用的文字編輯器,使用簡單。
  1. $ nano filename ### 編輯 filename 文件,若文件不存在,則新開啟一個文件,若退出時儲存,則建立該文件
編輯完後,ctrl + X 提示是否儲存,按 y 確定儲存即可。
注意:在使用過程中可用 ctrl + G 獲取幫助。

reboot

reboot 為重啟命令。
  1. # reboot ### '$' 和 '#' 的區別在於 '$' 普通使用者即可執行
    ### 而 '#' 為 root 使用者才可執行,或普通使用者使用 'sudo'

poweroff

poweroff 為關機命令。
  1. # poweroff ### 馬上關機 

ping

ping 主要用於測試網路連通,通過對目標機器傳送資料包來測試兩臺主機是否連通,及延時情況。
  1. $ ping locez.com ### 通過域名 ping,若 DNS 未設定好,可能無法 ping 通
  2. $ ping linux.cn
  3. PING linux.cn (211.157.2.94) 56(84) bytes of data.
  4. 64 bytes from 211.157.2.94.static.in-addr.arpa (211.157.2.94): icmp_seq=1 ttl=53 time=41.5 ms
  5. 64 bytes from 211.157.2.94.static.in-addr.arpa (211.157.2.94): icmp_seq=2 ttl=53 time=40.4 ms
  6. 64 bytes from 211.157.2.94.static.in-addr.arpa (211.157.2.94): icmp_seq=3 ttl=53 time=41.9 ms
  7. ^C
  8. --- linux.cn ping statistics ---
  9. 3 packets transmitted, 3 received, 0% packet loss, time 2002ms
  10. rtt min/avg/max/mdev = 40.406/41.287/41.931/0.644 ms
  11. $ ping 211.157.2.94 ### 通過 IP 地址 ping ,若無法 ping 通可能是網路連接出現問題

grep

grep 主要用於返回匹配的專案,支援正則表示式。
  1. $ grep PATTERN filename ### 返回所有含有 PATTERN 的行
  2. $ grep zh_CN /etc/locale.gen ### 返回所有含 zh_CN 的行

mount

mount 用於掛載一個文件系統,需要 root 使用者執行。一個磁碟可分為若干個分割槽,在分割槽上面可以建立文件系統,而掛載點則是提供一個訪問的入口,將一個分割槽的文件系統掛載到某個目錄中,稱這個目錄為掛載點,並且可以通過這個掛載點訪問該文件系統中的內容。
例如一塊硬碟在 Linux 中表示為 /dev/sda 那麼它上面的分割槽應該表示為 /dev/sda1 、/dev/sda2 。
  1. # mount ### 輸出系統目前的掛載資訊
  2. # mount /dev/sda1 /mnt ### 將 sda1 掛載到 /mnt 中
  3. # cd /mnt ### 直接通過 /mnt 訪問內容
  4. # mount -o remount,rw /mnt ### 重新掛載 sda1 到 /mnt 並設定為 可讀寫
  5. # mount -a ### 掛載 fstab 文件配置好的文件系統

umount

umount 與 mount 相反,是解除安裝一個掛載點,即取消該入口。
  1. # umount /mnt ### 解除安裝 /mnt 這個掛載點的文件系統
  2. # umount -a ### 解除安裝所有已掛載的文件系統 

tar

tar 主要用於建立歸檔文件,和解壓歸檔文件,其本身是沒有壓縮功能的,但可以呼叫 gzip 、 bzip2 進行壓縮處理。
引數解釋:
  • -c 建立歸檔
  • -x 解壓歸檔
  • -v 顯示處理過程
  • -f 目標文件,其後必須緊跟 目標文件
  • -j 呼叫 bzip2 進行解壓縮
  • -z 呼叫 gzip 進行解壓縮
  • -t 列出歸檔中的文件
  1. $ tar -cvf filename.tar . ### 將當前目錄所有文件歸檔,但不壓縮,注意後面有個 ’.‘ ,不可省略,代表當前目錄的意思
  2. $ tar -xvf filename.tar ### 解壓 filename.tar 到當前文件夾
  3. $ tar -cvjf filename.tar.bz2 . ### 使用 bzip2 壓縮
  4. $ tar -xvjf filename.tar.bz2 ### 解壓 filename.tar.bz2 到當前文件夾
  5. $ tar -cvzf filename.tar.gz ### 使用 gzip 壓縮
  6. $ tar -xvzf filename.tar.gz ### 解壓 filename.tar.gz 到當前文件夾
  7. $ tar -tf filename ### 只檢視 filename 歸檔中的文件,不解壓

ln

ln 主要用於在兩個文件中建立連結,連結又分為 Hard Links (硬連結)和 Symbolic Links (符號連結或軟連結),其中預設為建立硬連結,使用 -s 引數指定建立軟連結。
  • 硬連結主要是增加一個文件的連結數,只要該文件的連結數不為 0 ,該文件就不會被物理刪除,所以刪除一個具有多個硬連結數的文件,必須刪除所有它的硬連結才可刪除。
  • 軟連結簡單來說是為文件建立了一個類似快捷方式的東西,通過該連結可以訪問文件,修改文件,但不會增加該文件的連結數,刪除一個軟連結並不會刪除源文件,即使源文件被刪除,軟連結也存在,當重新建立一個同名的源文件,該軟連結則指向新建立的文件。
  • 硬連結只可連結兩個文件,不可連結目錄,而軟連結可連結目錄,所以軟連結是非常靈活的。
  1. $ ln source dest ### 為 source 建立一個名為 dest 的硬連結
  2. $ ln -s source dest ### 為 source 建立一個名為 dest 的軟連結

chown

chown 用於改變一個文件的所有者及所在的組。
  1. # chown user filename ### 改變 filename 的所有者為 user
  2. # chown user:group filename ### 改變 filename 的所有者為 user,組為 group
  3. # chown -R root folder ### 改變 folder 文件夾及其子文件的所有者為 root

chmod

chmod 永遠更改一個文件的許可權,主要有 讀取 、 寫入 、 執行 ,三種許可權,其中 所有者 、 使用者組 、 其他 各佔三個,因此 ls -l 可以看到如下的資訊
  1. -rwxr--r-- 1 locez users 154 Aug 30 18:09 filename
其中 r=read , w=write , x=execute
  1. # chmod +x filename ### 為 user ,group ,others 新增執行許可權
  2. # chmod -x filename ### 取消 user , group ,others 的執行許可權
  3. # chmod +w filename ### 為 user 新增寫入許可權
  4. # chmod ugo=rwx filename ### 設定 user ,group ,others 具有 讀取、寫入、執行許可權
  5. # chmod ug=rw filename ### 設定 user ,group 新增 讀取、寫入許可權
  6. # chmod ugo=--- filename ### 取消所有許可權

useradd

useradd 用於新增一個普通使用者。
  1. # useradd -m -g users -G audio -s /usr/bin/bash newuser
  2. ### -m 建立 home 目錄, -g 所屬的主組, -G 指定該使用者在哪些附加組, -s 設定預設的 shell ,newuser 為新的使用者名稱

passwd

passwd 用於改變使用者登入密碼。
  1. $ passwd ### 不帶引數更改當前使用者密碼
  2. # passwd newuser ### 更改上述新建的 newuser 的使用者密碼 

whereis

whereis 用於查詢文件、手冊等。
  1. $ whereis bash
  2. bash: /usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz
  3. $ whereis -b bash ### 僅查詢 binary
  4. bash: /usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout
  5. $ whereis -m bash ### 僅查詢 manual
  6. bash: /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

find

find 也用於查詢文件,但更為強大,支援正則,並且可將查詢結果傳遞到其他命令。
  1. $ find . -name PATTERN ### 從當前目錄查詢符合 PATTERN 的文件
  2. $ find /home -name PATTERN -exec ls -l {} \; # 從 /home 文件查詢所有符合 PATTERN 的文件,並交由 ls 輸出詳細資訊 

wget

wget 是一個下載工具,簡單強大。
  1. $ wget -O newname.md https://github.com/LCTT/TranslateProject/blob/master/README.md ### 下載 README 文件並重命名為 newname.md
  2. $ wget -c url ### 下載 url 並開啟斷點續傳

恭喜你,你已經學習了完了26 個基礎的 Linux 命令。雖然這裡只是一些最基礎的命令,但是熟練使用這些命令就踏出了你從一位 Linux 新手成為 Linux 玩家的第一步!
相關推薦:

留言

這個網誌中的熱門文章

2017通訊大賽「聯發科技物聯網開發競賽」決賽團隊29強出爐!作品都在11月24日頒獎典禮進行展示

2017通訊大賽「聯發科技物聯網開發競賽」決賽團隊29強出爐!作品都在11月24日頒獎典禮進行展示 LIS   發表於 2017年11月16日 10:31   收藏此文 2017通訊大賽「聯發科技物聯網開發競賽」決賽於11月4日在台北文創大樓舉行,共有29個隊伍進入決賽,角逐最後的大獎,並於11月24日進行頒獎,現場會有全部進入決賽團隊的展示攤位,總計約為100個,各種創意作品琳琅滿目,非常值得一看,這次錯過就要等一年。 「聯發科技物聯網開發競賽」決賽持續一整天,每個團隊都有15分鐘面對評審團做簡報與展示,並接受評審們的詢問。在所有團隊完成簡報與展示後,主辦單位便統計所有評審的分數,並由評審們進行審慎的討論,決定冠亞季軍及其他各獎項得主,結果將於11月24日的「2017通訊大賽頒獎典禮暨成果展」現場公佈並頒獎。 在「2017通訊大賽頒獎典禮暨成果展」現場,所有入圍決賽的團隊會設置攤位,總計約為100個,展示他們辛苦研發並實作的作品,無論是想觀摩別人的成品、了解物聯網應用有那些新的創意、尋找投資標的、尋找人才、尋求合作機會或是單純有興趣,都很適合花點時間到現場看看。 頒獎典禮暨成果展資訊如下: 日期:2017年11月24日(星期五) 地點:中油大樓國光廳(台北市信義區松仁路3號) 我要報名參加「2017通訊大賽頒獎典禮暨成果展」>>> 在參加「2017通訊大賽頒獎典禮暨成果展」之前,可以先在本文觀看各團隊的作品介紹。 決賽29強團隊如下: 長者安全救星 可隨意描繪或書寫之電子筆記系統 微觀天下 體適能訓練管理裝置 肌少症之行走速率檢測系統 Sugar Robot 賽亞人的飛機維修輔助器 iTemp你的溫度個人化管家 語音行動冰箱 MR模擬飛行 智慧防盜自行車 跨平台X-Y視覺馬達控制 Ironmet 菸消雲散 無人小艇 (Mini-USV) 救OK-緊急救援小幫手 穿戴式長照輔助系統 應用於教育之模組機器人教具 這味兒很台味 Aquarium Hub 發展遲緩兒童之擴增實境學習系統 蚊房四寶 車輛相控陣列聲納環境偵測系統 戶外團隊運動管理裝置 懷舊治療數位桌曆 SeeM智能眼罩 觸...
你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵   2018-12-19 17:00 209801   人氣       現正熱映中 熱門文章 你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵 2018-12-19 17:00 防堵非洲豬瘟的大功臣!超萌檢疫犬敬業值班「精彩故事多」,奇葩陸客最令人哭笑不得… 中央社 2018-12-17 11:41 機票錢根本花的冤枉⋯又貴、又擠、又騙!世界「六大最雷景點」,不要再輕信網路「照騙」了! 周佳萱 2018-12-14 13:58 活活燒死193人!列車駕駛叫大家「坐好別動」卻拔鑰匙逃跑…韓「大邱地鐵縱火案」離譜內幕 黃瑜敏 2018-12-18 12:34 火鍋的靈魂:湯底的秘密⋯國宴名廚:只要「這樣做」,清湯白水也能煮出好滋味! 食力foodNEXT 2018-12-16 10:00 駭人實驗!失散19年三胞胎感人重逢,意外揭穿「失散真相」是一樁慘無人道的心理實驗… 黃瑜敏 2018-12-17 15:04 誰理你們!從SARS爆發冷血嗆聲,到非洲豬瘟疫情不通報…看見「兩岸一家親」不過是場笑話 潘渝霈   蔡佳妘 2018-12-18 17:47 向老闆提升遷遭拒!3年後他當上主管才看透真相:太認真、太專業、太忠誠都是升遷阻礙... 洪雪珍 2018-12-19 14:34 醫院藥師月薪5萬起跳、只要包藥發藥很好賺?過來人痛揭醫院「領藥得來速」的黑暗真相 時報出版 2018-12-17 14:19 男孩與美洲豹玩耍照片竄紅網絡引發深思 BBC中文網 2018-12-17 12:24 更多文章   熱門分享 你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵 2018-12-19 17:00 ...
哈密瓜、榴槤、棗子、火龍果的英文怎麼說?40 種常見水果單字大集合 31210 2018-07-20 整理‧撰文 陳婉玲 分享 575 Valeriy n Evlakhov via Shutterstock 在台灣,一年四季都能嘗到美味可口的水果,且因水果種類豐富,享譽國際,因此台灣素有「水果王國」之稱,是另類的「台灣之光」。 水果的種類這麼多,它們的英文你會說嗎?當外國朋友問你「What is your favorite fruit?」時,可別只會回答 apple、banana、orange!以下是分別是在四季中盛產與進口的水果英文,一起來看看! 春天 spring 蓮霧 wax apple / jambu fruit / java apple / bell apple 產期是 11 月 ~ 隔年 7 月。含鈣、鐵、維生素 A、維生素 B1、維生素 B2、維生素 C 等營養成分。 枇杷 loquat 產季在 3、4 月。 李子 plum 產季為 3 ~ 8 月。李子未成熟時,果酸含量極高,若腸胃消化不良者,不建議多吃,否則可能導致腹瀉或胃痛。不過,酒醉不醒者若想解酒,可利用其果酸幫助醒腦。 美濃瓜 / 甜瓜 / 香瓜 muskmelon 產季在 6 ~ 9 月。 楊桃 carambola / star fruit 「楊桃」較口語的說法為 star fruit,以它的形狀而得名,產期是 10 月 ~ 隔年 3 月,含蘋果酸、檸檬酸、草酸、維生素 A、維生素 B1、維生素 B2、維生素 C 等成分。 奇異果 kiwi fruit 產季為 9 月至隔年 4 月。奇異果含有豐富維生素 C、β 胡蘿蔔素、維生素 E 多醣、多酚、膳食纖維等。 番茄 tomato 產季通常為 1 ~ 4 月。 甘蔗 sugar cane 產期是 10 月到隔年 5 月。白甘蔗含糖量較高,但因質地較硬,不適合生吃。 梅子 (Asian) plum 原產於中國,後來傳入韓國、日本等地。一般在春末夏初為果實成熟期,可做成梅干、梅子醬、梅酒、酸梅湯、話梅等加工食品。 夏天 summer 桑葚 mulberry 產季在 4 月。 ...