天天看點

自學Linux Shell3.4-檔案處理指令touch cp mv rm

3.4-檔案處理指令touch cp mv rm

​1. touch指令​

  • ​一是用于把已存在檔案的時間标簽更新為系統目前的時間(預設方式),它們的資料将原封不動地保留下來;​

  • ​二是用來建立新的空檔案。​

   touch(選項)(參數)

   選項

  • -a:或--time=atime或--time=access或--time=use 隻更改存取時間;
  • -c:或--no-create 不建立任何檔案;如果檔案不存在,則不要進行建立。
  • -d:<時間日期> 使用指定的日期時間,而非現在的時間;
  • -f:嘗試強制 touch 運作,而不管檔案的讀和寫許可權;
  • -m:或--time=mtime或--time=modify 隻更該變動時間;
  • -r:<參考檔案或目錄> 把指定檔案或目錄的日期時間,統統設成和參考檔案或目錄的日期時間相同;
  • -t:<日期時間> 使用指定的日期時間,而非現在的時間;
  • --help:線上幫助;
  • --version:顯示版本資訊。

  參數

       檔案:指定要設定時間屬性的檔案清單。

注:

  • touch 指令調用 utime () 子例程來更改所涉及檔案的修改和通路時間。當沒有真正擁有該檔案,即使對檔案有寫許可權,使用标志時也可能使 touch 指令失敗。
  • 當使用 touch 指令時,如果接收到錯誤消息,不要指定完整路徑名 /usr/bin/touch 。

touch 指令就建立一個同名的空檔案。

自學Linux Shell3.4-檔案處理指令touch cp mv rm
自學Linux Shell3.4-檔案處理指令touch cp mv rm

  舉例2   touch -c 檔案     避免建立新檔案

自學Linux Shell3.4-檔案處理指令touch cp mv rm

舉例3 touch -c  -t  時間  檔案名           明确設定通路和修改時間

自學Linux Shell3.4-檔案處理指令touch cp mv rm

舉例4 touch -r  檔案名1 檔案名2           要使用另一檔案的時間戳記而不用目前時間

自學Linux Shell3.4-檔案處理指令touch cp mv rm

​2. CP指令​

cp指令主要用于複制檔案或目錄。

cp(選項)原檔案/目錄  目标檔案/目錄

選項

  • -a:此選項通常在複制目錄時使用,它保留連結、檔案屬性,并複制目錄下的所有内容。其作用等于dpR參數組合。
  • -d:複制時保留連結。這裡所說的連結相當于Windows系統中的快捷方式。
  • -f:覆寫已經存在的目标檔案而不給出提示。
  • -i:與-f選項相反,在覆寫目标檔案之前給出提示,要求使用者确認是否覆寫,回答"y"時目标檔案将被覆寫。
  • -p:除複制檔案的内容外,還把修改時間和通路權限也複制到新檔案中。
  • -r    -R   若給出的源檔案是一個目錄檔案,此時将複制該目錄下所有的子目錄和檔案。
  • -l:不複制檔案,隻是生成連結檔案。

舉例1    目标是檔案,若不存在,則會建立目标檔案(将源内容填充至目标檔案中) ;  若目标是已存在檔案,會将源内容覆寫至目标檔案中(不提示)

自學Linux Shell3.4-檔案處理指令touch cp mv rm
自學Linux Shell3.4-檔案處理指令touch cp mv rm

           若目标是已存在檔案,會将源内容覆寫至目标檔案中,想提示使用-i

自學Linux Shell3.4-檔案處理指令touch cp mv rm

舉例2   目标是目錄,則會在目标目錄下建立與源同名的檔案,并将源的内容填充至新檔案中

自學Linux Shell3.4-檔案處理指令touch cp mv rm

舉例3  源是多個檔案,則目标必須是目錄且存在,其他情形均為出錯

自學Linux Shell3.4-檔案處理指令touch cp mv rm

舉例4  源是目錄:需使用-r選項,表示遞歸 ,

  • 目标不存在,則會建立指定目錄,隻能是單個源目錄。
  • 目标存在且是檔案則會報錯,不可能把目錄下的所有東西放到一個檔案中去
  • 目标存在且是目錄,則會将源下所有檔案和目錄複制到目标中去
自學Linux Shell3.4-檔案處理指令touch cp mv rm

3. mv指令

用于移動檔案或者将檔案改名

mv [選項] 源檔案或目錄 目标檔案或目錄

  • -b :若需覆寫檔案,則覆寫前先行備份。
  • -f :force 強制的意思,如果目标檔案已經存在,不會詢問而直接覆寫;
  • -i :若目标檔案 (destination) 已經存在時,就會詢問是否覆寫!
  • -u :若目标檔案已經存在,且 source 比較新,才會更新(update)
  • -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目錄,該選項适用于移動多個源檔案到一個目錄的情況,此時目标目錄在前,源檔案在後。

mv指令中第二個參數類型的不同(是目标檔案還是目标目錄),mv指令将檔案重命名或将其移至一個新的目錄中。

  • 當第二個參數類型是檔案時,mv指令完成檔案重命名,此時,源檔案隻能有一個(也可以是源目錄名),它将所給的源檔案或目錄重命名為給定的目标檔案名。
  • 當第二個參數是已存在的目錄名稱時,源檔案或目錄參數可以有多個,mv指令将各參數指定的源檔案均移至目标目錄中。在跨檔案系統移動檔案時,mv先拷貝,再将原有檔案删除,而鍊至該檔案的連結也将丢失。

舉例1   将源檔案 移動至目标目錄中

自學Linux Shell3.4-檔案處理指令touch cp mv rm

舉例2   mv  -i :若目标檔案已經存在時,就會詢問是否覆寫

自學Linux Shell3.4-檔案處理指令touch cp mv rm

​4. rm指令​

rm指令可以删除一個目錄中的一個或多個檔案或目錄,也可以将某個目錄及其下屬的所有檔案及其子目錄均删除掉。對于連結檔案,隻是删除整個連結檔案,而原有檔案保持不變。

注意:使用rm指令要格外小心。因為一旦删除了一個檔案,就無法再恢複它。是以,在删除檔案之前,最好再看一下檔案的内容,确定是否真要删除。rm指令可以用-i選項,這個選項在使用檔案擴充名字元删除多個檔案時特别有用。使用這個選項,系統會要求你逐一确定是否要删除。這時,必須輸入y并按Enter鍵,才能删除檔案。如果僅按Enter鍵或其他字元,檔案不會被删除。

rm (選項)(參數)      
  • -d:直接把欲删除的目錄的硬連接配接資料删除成0,删除該目錄;
  • -f:強制删除檔案或目錄;
  • -i:删除已有檔案或目錄之前先詢問使用者;
  • -r或-R:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理;       
rm -r *     删除目前目錄下除隐含檔案外的所有檔案和子目錄      
  • --preserve-root:不對根目錄進行遞歸操作;
  • -v:顯示指令的詳細執行過程。

  參數      檔案:指定被删除的檔案清單,如果參數中含有目錄,則必須加上​

​-r​

​或者​

​-R​

​選項。

自學Linux Shell3.4-檔案處理指令touch cp mv rm

繼續閱讀