ls是英文單詞list的簡寫,其功能爲列出目錄的內容,是用戶最經常使用的命令之一,它相似於DOS下的dir命令。html
Linux文件或者目錄名稱最長能夠有265個字符,「.」表明當前目錄,「..」表明上一級目錄,以「.」開頭的文件爲隱藏文件,須要用 -a 參數才能顯示。
正則表達式
ls經常使用參數:vim
參數 | 含義 |
---|---|
-a | 顯示指定目錄下全部子目錄與文件,包括隱藏文件 |
-l | 以列表方式顯示文件的詳細信息 |
-h | 配合 -l 以人性化的方式顯示文件大小 |
圖中列出的信息含義以下圖所示:工具
與DOS下的文件操做相似,在Unix/Linux系統中,也一樣容許使用特殊字符來同時引用多個文件名,這些特殊字符被稱爲通配符。3d
通配符 | 含義 |
---|---|
* | 文件表明文件名中全部字符 |
ls te* | 查找以te開頭的文件 |
ls *html | 查找結尾爲html的文件 |
? | 表明文件名中任意一個字符 |
ls ?.c | 只找第一個字符任意,後綴爲.c的文件 |
ls a.? | 只找只有3個字符,前2字符爲a.,最後一個字符任意的文件 |
[] | [」和「]」將字符組括起來,表示能夠匹配字符組中的任意一個。「-」用於表示字符範圍。 |
[abc] | 匹配a、b、c中的任意一個 |
[a-f] | 匹配從a到f範圍內的的任意一個字符 |
ls [a-f]* | 找到從a到f範圍內的的任意一個字符開頭的文件 |
ls a-f | 查找文件名爲a-f的文件,當「-」處於方括號以外失去通配符的做用 |
\ | 若是要使通配符做爲普通字符使用,能夠在其前面加上轉義字符。「?」和「*」處於方括號內時不用使用轉義字符就失去通配符的做用。 |
ls \*a | 查找文件名爲*a的文件 |
Linux容許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。code
如:ls > test.txt ( test.txt 若是不存在,則建立,存在則覆蓋其內容 )htm
注意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部
blog
查看內容時,在信息過長沒法在一屏上顯示時,會出現快速滾屏,使得用戶沒法看清文件的內容,此時可使用more命令,每次只顯示一頁,按下空格鍵能夠顯示下一頁,按下q鍵退出顯示,按下h鍵能夠獲取幫助。遞歸
管道:一個命令的輸出能夠經過管道作爲另外一個命令的輸入。ip
管道咱們能夠理解現實生活中的管子,管子的一頭塞東西進去,另外一頭取出來,這裏「 | 」的左右分爲兩端,左端塞東西(寫),右端取東西(讀)。
clear做用爲清除終端上的顯示(相似於DOS的cls清屏功能),也可以使用快捷鍵:Ctrl + l ( 「l」 爲字母 )。
在使用Unix/Linux的時候,常常須要更換工做目錄。cd命令能夠幫助用戶切換工做目錄。Linux全部的目錄和文件名大小寫敏感
cd後面可跟絕對路徑,也能夠跟相對路徑。若是省略目錄,則默認切換到當前用戶的主目錄。
命令 | 含義 |
---|---|
cd | 切換到當前用戶的主目錄(/home/用戶目錄),用戶登錄的時候,默認的目錄就是用戶的主目錄。 |
cd ~ | 切換到當前用戶的主目錄(/home/用戶目錄) |
cd . | 切換到當前目錄 |
cd .. | 切換到上級目錄 |
cd - | 可進入上次所在的目錄 |
注意:
使用pwd命令能夠顯示當前的工做目錄,該命令很簡單,直接輸入pwd便可,後面不帶參數。
經過mkdir命令能夠建立一個新的目錄。參數-p可遞歸建立目錄。
須要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,而且目錄建立者必須對當前目錄具備寫權限。
可以使用rmdir命令刪除一個目錄。必須離開目錄,而且目錄必須爲空目錄,否則提示刪除失敗。
可經過rm刪除文件或目錄。使用rm命令要當心,由於文件刪除後不能恢復。爲了防止文件誤刪,能夠在rm後使用-i參數以逐個確認要刪除的文件。
經常使用參數及含義以下表所示:
參數 | 含義 |
---|---|
-i | 以進行交互式方式執行 |
-f | 強制刪除,忽略不存在的文件,無需提示 |
-r | 遞歸地刪除目錄下的內容,刪除文件夾時必須加此參數 |
Linux連接文件相似於Windows下的快捷方式。
連接文件分爲軟連接和硬連接。
軟連接:軟連接不佔用磁盤空間,源文件刪除則軟連接失效。
硬連接:硬連接只能連接普通文件,不能連接目錄。
使用格式:
ln 源文件 連接文件 ln -s 源文件 連接文件
若是沒有-s
選項表明創建一個硬連接文件,兩個文件佔用相同大小的硬盤空間,即便刪除了源文件,連接文件仍是存在,因此-s選項是更常見的形式。
注意:若是軟連接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
Linux系統中grep命令是一種強大的文本搜索工具,grep容許對文本文件進行模式查找。若是找到匹配模式, grep打印包含模式的全部行。
grep通常格式爲:
grep [-選項] ‘搜索內容串’文件名
在grep命令中輸入字符串參數時,最好引號或雙引號括起來。例如:grep‘a ’1.txt。
經常使用選項說明:
選項 | 含義 |
---|---|
-v | 顯示不包含匹配文本的全部行(至關於求反) |
-n | 顯示匹配行及行號 |
-i | 忽略大小寫 |
grep搜索內容串能夠是正則表達式。
正則表達式是對字符串操做的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。
grep經常使用正則表達式:
參數 | 含義 |
---|---|
^a | 行首,搜尋以 m 開頭的行;grep -n '^a' 1.txt |
ke$ | 行尾,搜尋以 ke 結束的行;grep -n 'ke$' 1.txt |
[Ss]igna[Ll] | 匹配 [] 裏中一系列字符中的一個;搜尋匹配單詞signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt |
. | (點)匹配一個非換行符的字符;匹配 e 和 e 之間有任意一個字符,能夠匹配 eee,eae,eve,可是不匹配 ee,eaae;grep -n 'e.e' 1.txt |
find命令功能很是強大,一般用來在特定的目錄下搜索符合條件的文件,也能夠用來搜索特定用戶屬主的文件。
經常使用用法:
命令 | 含義 |
---|---|
find ./ -name test.sh | 查找當前目錄下全部名爲test.sh的文件 |
find ./ -name '*.sh' | 查找當前目錄下全部後綴爲.sh的文件 |
find ./ -name "[A-Z]*" | 查找當前目錄下全部以大寫字母開頭的文件 |
find /tmp -size 2M | 查找在/tmp 目錄下等於2M的文件 |
find /tmp -size +2M | 查找在/tmp 目錄下大於2M的文件 |
find /tmp -size -2M | 查找在/tmp 目錄下小於2M的文件 |
find ./ -size +4k -size -5M | 查找當前目錄下大於4k,小於5M的文件 |
find ./ -perm 0777 | 查找當前目錄下權限爲 777 的文件或目錄 |
cp命令的功能是將給出的文件或目錄複製到另外一個文件或目錄中,至關於DOS下的copy命令。
經常使用選項說明:選項
含義 | |
---|---|
-a | 該選項一般在複製目錄時使用,它保留連接、文件屬性,並遞歸地複製目錄,簡單而言,保持文件原有屬性。 |
-f | 已經存在的目標文件而不提示 |
-i | 交互式複製,在覆蓋目標文件以前將給出提示要求用戶確認 |
-r | 若給出的源文件是目錄文件,則cp將遞歸複製該目錄下的全部子目錄和文件,目標文件必須爲一個目錄名。 |
-v | 顯示拷貝進度 |
cp vim_configure/ code/ -ivr 把文件夾 vim_configure 拷貝到 code 目錄裏:
用戶可使用mv命令來移動文件或目錄,也能夠給文件或目錄重命名。
經常使用選項說明:
選項 | 含義 |
---|---|
-f | 禁止交互式操做,若有覆蓋也不會給出提示 |
-i | 確認交互方式操做,若是mv操做將致使對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以免誤覆蓋文件 |
-v | 顯示移動進度 |
計算機中的數據常常須要備份,tar是Unix/Linux中最經常使用的備份工具,此命令能夠把一系列文件歸檔到一個大文件中,也能夠把檔案文件解開以恢復數據。
tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可使用「-」,也能夠不使用。
經常使用參數:
參數 | 含義 |
---|---|
-c | 生成檔案文件,建立打包文件 |
-v | 列出歸檔解檔的詳細過程,顯示進度 |
-f | 指定檔案文件名稱,f後面必定是.tar文件,因此必須放選項最後 |
-t | 列出檔案中包含的文件 |
-x | 解開檔案文件 |
注意:除了f須要放在參數的最後,其它參數的順序任意。
tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名通常用xxxx.tar.gz。
gzip使用格式以下:
gzip [選項] 被壓縮文件
經常使用選項:
|選項|含義| |-d|解壓| |-r|壓縮全部子目錄|
ar這個命令並無壓縮的功能,它只是一個打包的命令,可是在tar命令中增長一個選項(-z)能夠調用gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法:tar cvzf 壓縮包包名 文件1 文件2 ...
z :指定壓縮包的格式爲:file.tar.gz
例如: 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 壓縮包包名
-z:指定壓縮包的格式爲:file.tar.gz
解壓到指定目錄:-C (大寫字母「C」)
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip同樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名通常用xxxx.tar.gz2。
在tar命令中增長一個選項(-j)能夠調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法:tar jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
經過zip壓縮文件的目標文件不須要指定擴展名,默認擴展名爲zip。
壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓後目錄文件 壓縮文件