ls是英文單詞list的簡寫,其功能爲列出目錄的內容,是用戶最經常使用的命令之一,它相似於DOS下的dir命令html
Linux文件或者目錄名稱最長能夠有265個字符,「.」表明當前目錄,「..」表明上一級目錄,以「.」開頭的文件爲隱藏文件,須要用 -a 參數才能顯示。
參數 | 含義 |
---|---|
-a | 顯示指定目錄下全部子目錄與文件,包括隱藏文件 |
-l | 以列表方式顯示文件的詳細信息 |
-h | 配合 -l 以人性化的方式顯示文件大小 |
與DOS下的文件操做相似,在Unix/Linux系統中,也一樣容許使用特殊字符來同時引用多個文件名,這些特殊字符被稱爲通配符。
通配符 | 含義 |
---|---|
* | 文件表明文件名中全部字符 |
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容許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。linux
ls > test.txt ( test.txt 若是不存在,則建立,存在則覆蓋其內容 )
注意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。
查看內容時,在信息過長沒法在一屏上顯示時,會出現快速滾屏,使得用戶沒法看清文件的內容,此時可使用more命令,每次只顯示一頁,按下空格鍵能夠顯示下一頁,按下q鍵退出顯示,按下h鍵能夠獲取幫助。正則表達式
more test.txt
管道:一個命令的輸出能夠經過管道作爲另外一個命令的輸入。工具
管道咱們能夠理解現實生活中的管子,管子的一頭塞東西進去,另外一頭取出來,這裏「 | 」的左右分爲兩端,左端塞東西(寫),右端取東西(讀)
ls -alh | more 對ls操做的結果進行more操做
在使用Unix/Linux的時候,常常須要更換工做目錄。cd命令能夠幫助用戶切換工做目錄。Linux全部的目錄和文件名大小寫敏感htm
cd後面可跟絕對路徑,也能夠跟相對路徑。若是省略目錄,則默認切換到當前用戶的主目錄。
命令 | 含義 |
---|---|
cd | 切換到當前用戶的主目錄(/home/用戶目錄),用戶登錄的時候,默認的目錄就是用戶的主目錄。 |
cd ~ | 切換到當前用戶的主目錄(/home/用戶目錄) |
cd . | 切換到當前目錄 |
cd .. | 切換到上級目錄 |
cd - | 可進入上次所在的目錄 |
注意點:教程
() -> 內容爲說明
ln 源文件 連接文件 (硬連接)
ln -s 源文件 連接文件 (軟連接)
硬連接文件,兩個文件佔用相同大小的硬盤空間,即便刪除了源文件,連接文件仍是存在,因此-s選項是更常見的形式。遞歸
注意:若是軟連接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑ip
Linux系統中grep命令是一種強大的文本搜索工具,grep容許對文本文件進行模式查找。若是找到匹配模式, grep打印包含模式的全部行。get
grep [-選項] ‘搜索內容串’文件名
grep 'H' test.txt
選項 | 含義 |
---|---|
-v | 顯示不包含匹配文本的全部行(至關於求反) |
-n | 顯示匹配行及行號 |
-i | 忽略大小寫 |
grep搜索內容串能夠是正則表達式io
參數 | 含義 |
---|---|
^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 ./ -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 | 顯示拷貝進度 |
用戶可使用mv命令來移動文件或目錄,也能夠給文件或目錄重命名
mv 1.txt 2.txt (將1.txt,重命名爲2.txt)
選項 | 含義 |
---|---|
-f | 禁止交互式操做,若有覆蓋也不會給出提示 |
-i | 確認交互方式操做,若是mv操做將致使對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以免誤覆蓋文件 |
-v | 顯示移動進度 |
計算機中的數據常常須要備份,tar是Unix/Linux中最經常使用的備份工具,此命令能夠把一系列文件歸檔到一個大文件中,也能夠把檔案文件解開以恢復數據
tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可使用「-」,也能夠不使用。
參數 | 含義 |
---|---|
-c | 生成檔案文件,建立打包文件 |
-v | 列出歸檔解檔的詳細過程,顯示進度 |
-f | 指定檔案文件名稱,f後面必定是.tar文件,因此必須放選項最後 |
-t | 列出檔案中包含的文件 |
-x | 解開檔案文件 |
tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名通常用xxxx.tar.gz。
gzip [選項] 被壓縮文件
選項 | 含義 |
---|---|
-d | 解壓 |
-r | 壓縮全部子目錄 |
-z | 指定壓縮包的格式爲:file.tar.gz |
tar這個命令並無壓縮的功能,它只是一個打包的命令,可是在tar命令中增長一個選項(-z)能夠調用gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程
tar cvzf 壓縮包包名 文件1 文件2
tar -zcvf test.tar.gz * (將當前路徑下全部的文件和問價夾都打包並壓縮到test.tar.gz文件)
tar zxvf 壓縮包包名
tar -zxvf test.tar.gz (解壓到當前路徑)
tar -zxvf test.tar.gz -C test/ (解壓到指定目錄)