003-博學谷-年度鑽石C++/C-Unix/Linux(2)

3. 經常使用命令

3.1 概述

不少人可能在電視或電影中看到過相似的場景,黑客面對一個黑色的屏幕,上面飄着密密麻麻的字符,梆梆一頓敲,就完成了竊取資料的任務。正則表達式

Linux 剛出世時沒有什麼圖形界面,全部的操做全靠命令完成,就如同電視裏的黑客那樣,充滿了神祕與晦澀。vim

近幾年來,儘管 Linux 發展得很是迅速,圖形界面愈來愈友好,可是在真正的開發過程當中,Linux 命令行的應用仍是佔有很是重要的席位,並且許多Linux功能在命令行界面要比圖形化界面下運行得快。能夠說不會命令行,就不算會 Linux。markdown

Linux 提供了大量的命令,利用它能夠有效地完成大量的工做,如磁盤操做、文件存取、目錄操做、進程管理、文件權限設定等。Linux 發行版本最少的命令也有 200 多個,這裏只介紹比較重要和使用頻率最多的命令。網絡

3.2 命令使用方法

3.2.1 Linux 命令格式

command [-options] [parameter1] …函數

說明:工具

command:命令名,相應功能的英文單詞或單詞的縮寫oop

[-options]:選項,可用來對命令進行控制,也能夠省略,[]表明可選spa

parameter1 …:傳給命令的參數,能夠是零個一個或多個命令行

3.2.2 查看幫助文檔

1) --help3d

通常是 Linux 命令自帶的幫助信息,並非全部命令都自帶這個選項。

如咱們想查看命令 ls 的用法:ls --help

2) man(有問題找男人)

man 是 Linux 提供的一個手冊,包含了絕大部分的命令、函數使用說明。

該手冊分紅不少章節(section),使用 man 時能夠指定不一樣的章節來瀏覽不一樣的內容。

man 中各個 section 意義以下:

Standard commands(標準命令)

System calls(系統調用,如open,write)

Library functions(庫函數,如printf,fopen)

Special devices(設備文件的說明,/dev下各類設備)

File formats(文件格式,如passwd)

Games and toys(遊戲和娛樂)

Miscellaneous(雜項、慣例與協定等,例如Linux檔案系統、網絡協定、ASCII 碼;environ全局變量)

Administrative Commands(管理員命令,如ifconfig)

man使用格式以下:

man [選項] 命令名

man設置了以下的功能鍵:

如,咱們想查看 ls 的用法:man 1 ls ( 1:爲數字"1",表明第 1 個 section,標準命令 )

實際上,咱們不用指定第幾個章節也用查看,如,man ls。可是,有這個一種狀況,假如,命令的名字和函數的名字恰好重名(如:printf),它既是命令,也能夠是庫函數,若是,咱們不指定章節號,man printf,它只查看命令的用法,不會查詢函數的用法,由於 man 是按照手冊的章節號的順序進行搜索的。

因此,使用 man 手冊時,最好指定章節號:

3.2.3 使用技巧

1) 自動補全

在敲出命令的前幾個字母的同時,按下tab鍵,系統會自動幫咱們補全命令。

2) 歷史命令

當系統執行過一些命令後,可按上下鍵翻看之前的命令,history將執行過的命令列舉出來。

3.3 經常使用命令

3.3.1 文件管理

1) 查看文件信息:ls

ls是英文單詞list的簡寫,其功能爲列出目錄的內容,是用戶最經常使用的命令之一,它相似於DOS下的dir命令。

Linux文件或者目錄名稱最長能夠有256個字符,"."表明當前目錄,".."表明上一級目錄,以"."開頭的文件爲隱藏文件,須要用 -a 參數才能顯示。

ls經常使用參數:

圖中列出的信息含義以下圖所示:

與DOS下的文件操做相似,在Unix/Linux系統中,也一樣容許使用特殊字符來同時引用多個文件名,這些特殊字符被稱爲通配符。

2) 輸出重定向命令:>

Linux容許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。

如:ls > test.txt ( test.txt 若是不存在,則建立,存在則覆蓋其內容 )

> 輸出重定向會覆蓋原來的內容, >> 輸出重定向則會追加到文件的尾部。

3) 分屏顯示:more

查看內容時,在信息過長沒法在一屏上顯示時,會出現快速滾屏,使得用戶沒法看清文件的內容,此時可使用more命令,每次只顯示一頁,按下空格鍵能夠顯示下一頁,按下q鍵退出顯示,按下h鍵能夠獲取幫助。

4) 管道:|

管道:一個命令的輸出能夠經過管道做爲另外一個命令的輸入。

管道咱們能夠理解現實生活中的管子,管子的一頭塞東西進去,另外一頭取出來,這裏" | "的左右分爲兩端,左端塞東西(寫),右端取東西(讀)。

5) 清屏:clear

clear做用爲清除終端上的顯示(相似於DOS的cls清屏功能),也可以使用快捷鍵:Ctrl + l ( "l" 爲字母 )。

6) 切換工做目錄: cd

在使用Unix/Linux的時候,常常須要更換工做目錄。cd命令能夠幫助用戶切換工做目錄。Linux全部的目錄和文件名大小寫敏感。

cd後面可跟絕對路徑,也能夠跟相對路徑。若是省略目錄,則默認切換到當前用戶的主目錄。

注意: 若是路徑是從根路徑開始的,則路徑的前面須要加上 " / ",如 " /mnt ",一般進入某個目錄裏的文件夾,前面不用加 " / "。

7) 顯示當前路徑:pwd

使用pwd命令能夠顯示當前的工做目錄,該命令很簡單,直接輸入pwd便可,後面不帶參數。

8) 建立目錄:mkdir

經過mkdir命令能夠建立一個新的目錄。參數-p可遞歸建立目錄。

須要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,而且目錄建立者必須對當前目錄具備寫權限。

9) 刪除目錄:rmdir

可以使用rmdir命令刪除一個目錄。必須離開目錄,而且目錄必須爲空目錄,否則提示刪除失敗。

10) 刪除文件:rm

可經過rm刪除文件或目錄。使用rm命令要當心,由於文件刪除後不能恢復。爲了防止文件誤刪,能夠在rm後使用-i參數以逐個確認要刪除的文件。

經常使用參數及含義以下表所示:

11) 創建連接文件:ln

Linux連接文件相似於Windows下的快捷方式。

連接文件分爲軟連接和硬連接。

軟連接:軟連接不佔用磁盤空間,源文件刪除則軟連接失效。

硬連接:硬連接只能連接普通文件,不能連接目錄。

使用格式:

ln 源文件 連接文件

ln -s 源文件 連接文件

若是沒有-s選項表明創建一個硬連接文件,兩個文件佔用相同大小的硬盤空間,即便刪除了源文件,連接文件仍是存在,因此-s選項是更常見的形式。

注意:若是軟連接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。

12) 查看或者合併文件內容:cat

13) 文本搜索:grep

Linux系統中grep命令是一種強大的文本搜索工具,grep容許對文本文件進行模式查找。若是找到匹配模式, grep打印包含模式的全部行。

grep通常格式爲:

grep [-選項] '搜索內容串'文件名

在grep命令中輸入字符串參數時,最好引號或雙引號括起來。例如:grep'a '1.txt。

經常使用選項說明:

grep搜索內容串能夠是正則表達式。

正則表達式是對字符串操做的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個"規則字符串",這個"規則字符串"用來表達對字符串的一種過濾邏輯。

grep經常使用正則表達式:

14) 計算文件行數或字數:wc

經常使用選項說明:

15) 查找文件:find

find命令功能很是強大,一般用來在特定的目錄下搜索符合條件的文件,也能夠用來搜索特定用戶屬主的文件。

經常使用用法:

16) 拷貝文件:cp

cp命令的功能是將給出的文件或目錄複製到另外一個文件或目錄中,至關於DOS下的copy命令。

經常使用選項說明:

cp vim_configure/ code/ -ivr 把文件夾 vim_configure 拷貝到 code 目錄裏:

17) 移動文件:mv

用戶可使用mv命令來移動文件或目錄,也能夠給文件或目錄重命名。

經常使用選項說明:

18) 獲取文件類型:file

Linux系統文件類型不是根據文件擴展名分類的,經過file命令能夠確認文件具體類型。

19) 歸檔管理:tar

計算機中的數據常常須要備份,tar是Unix/Linux中最經常使用的備份工具,此命令能夠把一系列文件歸檔到一個大文件中,也能夠把檔案文件解開以恢復數據。

tar使用格式

tar [參數] 打包文件名 文件

tar命令很特殊,其參數前面可使用"-",也能夠不使用。

經常使用參數:

注意:除了f須要放在參數的最後,其它參數的順序任意。

20) 文件壓縮解壓:gzip

tar與gzip命令結合使用實現文件打包、壓縮。

tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名通常用xxxx.tar.gz。

gzip使用格式以下:

gzip [選項] 被壓縮文件

經常使用選項:

tar這個命令並無壓縮的功能,它只是一個打包的命令,可是在tar命令中增長一個選項(-z)能夠調用gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程。

壓縮用法: tar cvzf 壓縮包包名 文件1 文件2 ...

例如:tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 壓縮成 test.tar.gz

解壓用法: tar zxvf 壓縮包包名

解壓到指定目錄: -C (大寫字母"C")

例子:tar -xvf new.tar.gz -C ./test/ 將 new.tar.gz 解壓到當前目錄下的 test 目錄下:

21) 文件壓縮解壓:bzip2

tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip同樣)。

tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名通常用xxxx.tar.bz2。

在tar命令中增長一個選項(-j)能夠調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。

壓縮用法:tar cjvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解壓用法:tar xjvf 壓縮包包名 (tar jxvf bk.tar.bz2)

22) 文件壓縮解壓:zip、unzip

經過zip壓縮文件的目標文件不須要指定擴展名,默認擴展名爲zip。

壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件

解壓文件:unzip -d 解壓後目錄文件 壓縮文件

23) 查看命令位置:which

相關文章
相關標籤/搜索