溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux文件與目錄管理命令總結(jié)

發(fā)布時(shí)間:2020-07-27 19:04:59 來源:網(wǎng)絡(luò) 閱讀:573 作者:willis_sun 欄目:數(shù)據(jù)庫

      在Linux下對(duì)文件和目錄的操作是學(xué)習(xí)linux的基礎(chǔ),文件的操作無非就是增刪改查等等。對(duì)于目錄的操作也是對(duì)目錄的增刪改查以及修改目錄屬性等操作。在了解目錄管理前得先了解目錄的結(jié)構(gòu)。linux下的目錄是樹型結(jié)構(gòu),所有的目錄都從根(/)開始,其他的文件系統(tǒng)以掛載的方式掛載到目錄上去進(jìn)行使用。訪問目錄時(shí)有相對(duì)路徑和絕對(duì)路徑之分。

     相對(duì)路徑:路徑的寫法不是由根寫起的,而是在當(dāng)前路徑的基礎(chǔ)之上的。例如:例如由 /usr/share/doc 要到 /usr/share/man 底下時(shí),可以寫成: cd ../man

     絕對(duì)路徑:路徑從根寫起,例如:/usr/local


1.文件與目錄管理常用命令

     ls / cd / cp / mv /pwd /rm / rmdir / chgrp /chown /chmod / find / ln /          mkdir / whereis / which / file / touch / locate / dd / updatedb / rename

  接下來我將總結(jié)這些命令的常用選項(xiàng)

    1.1  ls 用來顯示目標(biāo)列表,在Linux中是使用率較高的命令。
           -a:顯示所有檔案及目錄(ls內(nèi)定將檔案名或目錄名稱為“.”的視為影藏,不

會(huì)列出);

          -A:顯示除影藏文件“.”和“..”以外的所有文件列表; 

       

           -C:多列顯示輸出結(jié)果。這是默認(rèn)選項(xiàng); 

 

           -l:與“-C”選項(xiàng)功能相反,所有輸出信息用單列格式輸出,不輸出為多列; 

 

           -c:與“-lt”選項(xiàng)連用時(shí),按照文件狀態(tài)時(shí)間排序輸出目錄內(nèi)容,排序的依據(jù)


是文件的索引節(jié)點(diǎn)中的ctime字段。與“-l”選項(xiàng)連用時(shí),則排序的一句是文件的狀


態(tài)改變時(shí)間;        

 

       -d:僅顯示目錄名,而不顯示目錄下的內(nèi)容列表。顯示符號(hào)鏈接文件本身,而


不顯示其所指向的目錄列表; 

 

        -i:顯示文件索引節(jié)點(diǎn)號(hào)(inode)。一個(gè)索引節(jié)點(diǎn)代表一個(gè)文件; --file-


type:與“

 

          -F”選項(xiàng)的功能相同,但是不顯示“*”; 

  

         -k:以KB(千字節(jié))為單位顯示文件大??; 


          -l:以長格式顯示目錄下的內(nèi)容列表。輸出的信息從左到右依次包括文件


名,文件類型、權(quán)限模式、硬連接數(shù)、所有者、組、文件大小和文件的最后修


改時(shí)間等; 


          -m:用“,”號(hào)區(qū)隔每個(gè)文件和目錄的名稱;水平輸出文件列表;


          -r:以文件名反序排列并輸出目錄內(nèi)容列表; 


          -s:顯示文件和目錄的大小,以區(qū)塊為單位; 

 

          -t:用文件和目錄的更改時(shí)間排序; 


          -R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理; 


          --full-time:列出完整的日期與時(shí)間;


          --color[=WHEN]:使用不同的顏色高亮顯示不同類型的。        

          -F:在每個(gè)輸出項(xiàng)后追加文件的類型標(biāo)識(shí)符,可用于按照特殊字符對(duì)文件進(jìn)

行分類
           具體含義:“*”表示具有可執(zhí)行權(quán)限的普通文件,“/”表示目錄,“@”表示符

號(hào)鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當(dāng)文件為普通文件時(shí),

不輸出任何標(biāo)識(shí)符;


  
 1.2  cd   用來切換工作目錄。 

               cd 進(jìn)入用戶主目錄;


               cd ~ 進(jìn)入用戶主目錄; 


               cd - 返回進(jìn)入此目錄之前所在的目錄; 


               cd .. 返回上級(jí)目錄(若當(dāng)前目錄為“/“,則執(zhí)行完后還在“/";".."為上級(jí)目錄的意思); 


               cd ../.. 返回上兩級(jí)目錄; 


               cd !$ 把上個(gè)命令的參數(shù)作為cd參數(shù)使用

   1.3 cp  復(fù)制命令 

         -a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同; 


         -i:(默認(rèn)選項(xiàng))覆蓋既有文件之前先詢問用戶; 


         -f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;


         -p:保留源文件或目錄的屬性;


         -R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;


         -l:對(duì)源文件建立硬連接,而非復(fù)制文件;


         -s:對(duì)源文件建立符號(hào)連接,而非復(fù)制文件;


         -d:當(dāng)復(fù)制符號(hào)連接時(shí),把目標(biāo)文件或目錄也建立為符號(hào)連接,并指向與源文

件或目錄連接的原始文件或目錄;  


         -u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互

對(duì)應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;


         -b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份; 


         -v:詳細(xì)顯示命令執(zhí)行的操作。
   
   1.4 mv 用來對(duì)文件或目錄重新命名,或者將文件從一個(gè)目錄移到另一個(gè)目錄中。

           -i:(默認(rèn))交互式操作,覆蓋前先行詢問用戶,如果源文件與目標(biāo)文件或目標(biāo)


目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)


文件;輸入”n”,表示取消對(duì)源文件的移動(dòng)。這樣可以避免誤將文件覆蓋。


        -b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;

 

      -f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目

錄;  


        -u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作。


  1.5  rm  可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄


及其下屬的所有文件及其子目錄均刪除掉。對(duì)于鏈接文件,只是刪除整個(gè)鏈接


文件,而原有文件保持不變。

     -d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;


      -f:強(qiáng)制刪除文件或目錄;


      -i:刪除已有文件或目錄之前先詢問用戶; 


      -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理; 


      -v:顯示指令的詳細(xì)執(zhí)行過程。


  1.6  chgrp  用來改變文件或目錄所屬的用戶組。該命令用來改變指定文件所


屬的用戶組。其中,組名可以是用戶組的id,也可以是用戶組的組名。文件名


可以 是由空格分開的要改變屬組的文件列表,也可以是由通配符描述的文件集


合。如果用戶不是該文件的文件主或超級(jí)用戶(root),則不能改變?cè)撐募?/span>


組。


      -R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處


理; 


      -f或--quiet或——silent:不顯示錯(cuò)誤信息;


      -h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不是該其他任何相關(guān)

文件;


      -v或——verbose:顯示指令執(zhí)行過程;

 

    --reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設(shè)成和參

考文件或目錄的所屬群組相同;


    1.7  chown  
改變某個(gè)文件或目錄的所有者和所屬的組,該命令可以向某個(gè)


用戶授權(quán),使該用戶變成指定文件的所有者或者改變文件所屬的組。用戶組可


以是組名或組id。文件名可以使由空格分開的文件列表,在文件名中可以包含


通配符。


     -f或--quite或——silent:不顯示錯(cuò)誤信息;


      -h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不更改其他任何相關(guān)

文件;


      -R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;


      -v或——version:顯示指令執(zhí)行過程;


      --dereference:效果和“-h”參數(shù)相同;  


      --reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬群組全

部設(shè)成和參考文件或目錄的擁有者與所屬群組相同; 

  1.8  chmod 用來變更文件或目錄的權(quán)限。在UNIX系統(tǒng)家族里,文件或目錄


權(quán)限的控制分別以讀取、寫入、執(zhí)行3種一般權(quán)限來區(qū)分,另有3種特殊權(quán)限可


供運(yùn)用。用戶可以使用chmod指令去變更文件與目錄的權(quán)限,設(shè)置方式采用文


字或數(shù)字代號(hào)皆可。符號(hào)連接的權(quán)限無法變更,如果用戶對(duì)符號(hào)連接修改權(quán)


限,其改變會(huì)作用在被連接的原始文件。


   權(quán)限范圍的表示法如下: 


       u User,即文件或目錄的擁有者;


       g Group,即文件或目錄的所屬群組;


       o Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個(gè)范

圍; 


       a All,即全部的用戶,包含擁有者,所屬群組以及其他用戶; 


       r 讀取權(quán)限,數(shù)字代號(hào)為“4”; 


       w 寫入權(quán)限,數(shù)字代號(hào)為“2”; 


       x 執(zhí)行或切換權(quán)限,數(shù)字代號(hào)為“1”;


       - 不具任何權(quán)限,數(shù)字代號(hào)為“0”; 


       s 特殊功能說明:變更文件或目錄的權(quán)限。

     -f或--quiet或——silent:不顯示錯(cuò)誤信息;


      -R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;


      -v或——verbose:顯示指令執(zhí)行過程;


      --reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設(shè)成和

參考文件或目錄的所屬群組相同; 


      <權(quán)限范圍>+<權(quán)限設(shè)置>:開啟權(quán)限范圍的文件或目錄的該選項(xiàng)權(quán)限設(shè)置; 


      <權(quán)限范圍>-<權(quán)限設(shè)置>:關(guān)閉權(quán)限范圍的文件或目錄的該選項(xiàng)權(quán)限設(shè)置;


      <權(quán)限范圍>=<權(quán)限設(shè)置>:指定權(quán)限范圍的文件或目錄的該選項(xiàng)權(quán)限設(shè)置;

  1.9  mkdir 建立目錄/文件夾

           -m<目錄屬性> 設(shè)置目錄屬性
           -p 建立父目錄,確定目錄是否存在,不存在則建立
           -parenls 建立父目錄
           -v 顯示詳細(xì)的處理信息


   1.10  whereis 查找文件/查看命令路徑

              -b   定位可執(zhí)行文件。

              -m   定位幫助文件。

              -s   定位源代碼文件。

              -u   搜索默認(rèn)路徑下除可執(zhí)行文件、源代碼文件、幫助文件以外的其它文件。   

              -B   指定搜索可執(zhí)行文件的路徑。

             -M   指定搜索幫助文件的路徑。

              -S   指定搜索源代碼文件的路徑。

                -f 只顯示文件的真實(shí)名稱


   1.11  file - 確定文件類型 

               -b     不輸出文件名 (簡(jiǎn)要模式)

               -z     試圖查看壓縮文件內(nèi)部信息.

               -L     (在支持符號(hào)鏈接的系統(tǒng)上)選項(xiàng)顯示符號(hào)鏈接文件的原文件, 就像 ls(1) 命令的like-named 選項(xiàng).


     1.12  touch 用來更新文件或目錄的時(shí)間,不存在的文件將會(huì)被創(chuàng)建為空文件,除非使用-c 或-h 選項(xiàng)。  如果文件名為"-"則特殊處理,更改與標(biāo)準(zhǔn)輸出相關(guān)的文件的訪問時(shí)間。 

             長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。

              -a              只更改訪問時(shí)間

              -m             只更改修改時(shí)間  

             -c, --no-create       不創(chuàng)建任何文件

             -d, --date=字符串     使用指定字符串表示時(shí)間替代當(dāng)前時(shí)間  

              -r, --reference=文件  使用指定文件的時(shí)間屬性替代當(dāng)前時(shí)間  

              -t STAMP              使用[[CC]YY]MMDDhhmm[.ss] 格式的時(shí)間替代當(dāng)--time=WORD           使用WORD 指定的時(shí)間:access、atime、use 都等于 -a選項(xiàng)的效果,而modify、mtime 等于-m 選項(xiàng)的效果     

 

  1.13  rename 用于 對(duì)文件進(jìn)行命名管理,可進(jìn)行批量命名并支持正則表達(dá)式, rename命令存在兩個(gè)版本用法上有所區(qū)別 一個(gè)是 C語言版本支持通配符,另一個(gè)是 Perl版本.支持正則表達(dá)式

          -n    操作預(yù)覽,在不更改文件名稱情況下,顯示執(zhí)行后的結(jié)果

          -f    強(qiáng)制執(zhí)行  

 【常用通配符說明】

            ?    表示一個(gè)任意字符

            *    表示一個(gè)或一串任意字符 -------------------------------------------------

 【常用正則表達(dá)式符號(hào)說明】

           ^    匹配輸入的開始位置

           $    匹配輸入的結(jié)尾

            .    匹配除換行符外的任意字符

           +    匹配前一個(gè)字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"

           [a-z]    表示某個(gè)范圍內(nèi)的字符,例如,"[a-z]"匹配"a"與"z"之間的任何一個(gè)小寫字母字符。      

           [^m-z]    否定的字符區(qū)間。與不在指定區(qū)間內(nèi)的字符匹配。


  1.14  updatedb命令用來創(chuàng)建或更新slocate命令所必需的數(shù)據(jù)庫文件。updatedb命令的執(zhí)行過程較長,因?yàn)樵趫?zhí)行時(shí)它會(huì)遍歷整個(gè)系統(tǒng)的目錄樹,并將所有的文件信息寫入slocate數(shù)據(jù)庫文件中。 補(bǔ)充說明:slocate本身具有一個(gè)數(shù)據(jù)庫,里面存放了系統(tǒng)中文件與目錄的相關(guān)信息。 

        -o<文件>:忽略默認(rèn)的數(shù)據(jù)庫文件,使用指定的slocate數(shù)據(jù)庫文件; 

        -U<目錄>:更新指定目錄的slocate數(shù)據(jù)庫;  -v:顯示執(zhí)行的詳細(xì)過程。


  1.15 dd轉(zhuǎn)換和拷貝文件

          當(dāng)進(jìn)行非強(qiáng)制的轉(zhuǎn)換的時(shí)候,使用指定的輸入和輸出塊大小拷貝文件 (默認(rèn)是從標(biāo)準(zhǔn)輸入到標(biāo)準(zhǔn)輸出。)
            它每次從輸入讀取指定大小的一個(gè)塊(默認(rèn)是512字節(jié))。 如果使用 bs=bytes 選項(xiàng),并且沒有轉(zhuǎn)換,除了指定 sync, noerror, 或 notrunc 之外, 那么dd將把全部讀到的數(shù)據(jù)(可以比請(qǐng)求讀的少) 寫到獨(dú)立的輸出塊去。 這個(gè)輸出塊的長度和讀到的數(shù)據(jù) 完全一樣,除非指定使用 sync(同步) 轉(zhuǎn)換,那樣的話,數(shù)據(jù)結(jié)尾處將追加NUL字符(或空格,見下)。
            其他情況下,輸入的時(shí)候每次讀一個(gè)塊,然后處理,并將 輸出結(jié)果收集起來,最后寫到指定大小的數(shù)據(jù)塊中去。最 終的輸出塊可能會(huì)比指定的大小短一些。


        if=file     從 file 中讀而不是標(biāo)準(zhǔn)輸入。

       of=file     寫到 file 里去而不是標(biāo)準(zhǔn)輸出。除非指定 conv=notrunc ,否則, dd 將把 file 截為O字節(jié)(或由 seek= 選項(xiàng)指定的大?。?nbsp;

       ibs=bytes     一次讀 bytes 字節(jié)。默認(rèn)是512。

       obs=bytes     一次寫 bytes 字節(jié)。默認(rèn)是512。 

       bs=bytes     一次讀和寫 bytes 字節(jié)。這將覆蓋 ibs 和 obs 設(shè)定的值(并且,設(shè)定 bs 不等于同時(shí)將 ibs 和 obs 設(shè)為同一個(gè)值,至少在 只使用 sync, noerror 或 notrunc 轉(zhuǎn)換時(shí)是這樣的。因?yàn)閎s規(guī)定,每個(gè)輸入塊都應(yīng)作為單獨(dú) 的數(shù)據(jù)塊拷貝到輸出,而不把較短的塊組合到一起)。 

      count=blocks     只拷貝輸入文件的前 blocks 塊(每塊的大小為 ibs-byte 字節(jié)),而不是全部內(nèi)容,直到文件末尾。  conv=轉(zhuǎn)換[,轉(zhuǎn)換]...     將文件按 轉(zhuǎn)換 參數(shù)指定的方式轉(zhuǎn)換(在lq,rq兩邊沒有空格)。 
  

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI