Linux命令_文件相關

最好的命令: <命令> --help

1. 查看文件信息:ls

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的文件

2. 輸出重定向命令:>

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

ls > test.txt ( test.txt 若是不存在,則建立,存在則覆蓋其內容 )
注意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。

3. 分屏顯示:more

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

more test.txt

4. 管道:|

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

管道咱們能夠理解現實生活中的管子,管子的一頭塞東西進去,另外一頭取出來,這裏「 | 」的左右分爲兩端,左端塞東西(寫),右端取東西(讀)
ls -alh | more 對ls操做的結果進行more操做

5. 切換工做目錄: cd

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

cd後面可跟絕對路徑,也能夠跟相對路徑。若是省略目錄,則默認切換到當前用戶的主目錄。
命令 含義
cd 切換到當前用戶的主目錄(/home/用戶目錄),用戶登錄的時候,默認的目錄就是用戶的主目錄。
cd ~ 切換到當前用戶的主目錄(/home/用戶目錄)
cd . 切換到當前目錄
cd .. 切換到上級目錄
cd - 可進入上次所在的目錄
  • 注意點:教程

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

6. 創建連接文件:ln

  • Linux連接文件相似於Windows下的快捷方式。
  • 連接文件分爲軟連接和硬連接。
  • 軟連接:軟連接不佔用磁盤空間,源文件刪除則軟連接失效。
  • 硬連接:硬連接只能連接普通文件,不能連接目錄。
() -> 內容爲說明
ln 源文件 連接文件 (硬連接)
ln -s 源文件 連接文件 (軟連接)

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

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

7. 文本搜索:grep

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

8. 查找文件: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 的文件或目錄

9. 拷貝文件:cp

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

選項 含義
-a 該選項一般在複製目錄時使用,它保留連接、文件屬性,並遞歸地複製目錄,簡單而言,保持文件原有屬性。
-f 已經存在的目標文件而不提示
-i 交互式複製,在覆蓋目標文件以前將給出提示要求用戶確認
-r 若給出的源文件是目錄文件,則cp將遞歸複製該目錄下的全部子目錄和文件,目標文件必須爲一個目錄名。
-v 顯示拷貝進度

10. 移動文件(也可用於重命名):mv

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

mv 1.txt 2.txt (將1.txt,重命名爲2.txt)
選項 含義
-f 禁止交互式操做,若有覆蓋也不會給出提示
-i 確認交互方式操做,若是mv操做將致使對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以免誤覆蓋文件
-v 顯示移動進度

11. 歸檔管理:tar

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

tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可使用「-」,也能夠不使用。
參數 含義
-c 生成檔案文件,建立打包文件
-v 列出歸檔解檔的詳細過程,顯示進度
-f 指定檔案文件名稱,f後面必定是.tar文件,因此必須放選項最後
-t 列出檔案中包含的文件
-x 解開檔案文件
  • 注意: 除了 f 須要放在參數的最後,其它參數的順序任意。

12. 文件壓縮解壓:gzip

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/ (解壓到指定目錄)

ps: () -> 括號中的內容爲說明

參考:

菜鳥教程

相關文章
相關標籤/搜索