熟練Linux ,先從這 26 個命令開始吧

當你進入了 Linux 的世界,在下載、安裝 了某個 Linux 發行版,體驗了 Linux 桌面並安裝了一些你喜好和須要的軟件以後,應該去了解下 Linux 真正的魅力所在:命令行。每個 Linux 命令其實就是一個程序,藉助這些命令,咱們能夠辦到很是多的事情。下面將會爲你們介紹一下幾個經常使用的命令。linux

 

 

如何尋求幫助?

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

 

man

man 是 Linux 的幫助手冊,即 manual 。由於大多數程序都會自帶手冊,因此能夠經過 man 命令獲取幫助。執行之後,在 man page 頁面中按 q 退出。github

獲取 ls 的幫助web

  1. $ man ls正則表達式

查看有多少(針對不一樣方面的)同名的手冊shell

  1. $ man -f lsbash

  2. ls (1) - list directory contents網絡

  3. ls (1p) - list directory contentsapp

查看特定的手冊less

  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.  

  12. $ 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 與 moung 相反,是卸載一個掛載點,即取消該入口。

  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 玩家的第一步!

若是想深刻體驗LINUX系統的新手,也能夠先下載一個方德Linux軟件中心試用一下。

免費下載地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter

相關文章
相關標籤/搜索