點擊返回 自學Linux命令行與Shell腳本之路html
3.4-文件處理命令touch cp mv rm
1. touch命令
一是用於把已存在文件的時間標籤更新爲系統當前的時間(默認方式),它們的數據將原封不動地保留下來;
二是用來建立新的空文件。
touch(選項)(參數)數組
選項spa
- -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 。
舉例1 touch 文件 這會將 文件 的上次訪問和修改時間設置爲當前日期和時間。若是 文件 不存在,touch 命令就建立一個同名的空文件。3d
舉例2 touch -c 文件 避免建立新文件code
舉例3 touch -c -t 時間 文件名 明確設置訪問和修改時間htm
舉例4 touch -r 文件名1 文件名2 要使用另外一文件的時間戳記而不用當前時間blog
2. CP命令
cp命令主要用於複製文件或目錄。
cp(選項)原文件/目錄 目標文件/目錄
遞歸
選項get
- -a:此選項一般在複製目錄時使用,它保留連接、文件屬性,並複製目錄下的全部內容。其做用等於dpR參數組合。
- -d:複製時保留連接。這裏所說的連接至關於Windows系統中的快捷方式。
- -f:覆蓋已經存在的目標文件而不給出提示。
- -i:與-f選項相反,在覆蓋目標文件以前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。
- -p:除複製文件的內容外,還把修改時間和訪問權限也複製到新文件中。
- -r -R 若給出的源文件是一個目錄文件,此時將複製該目錄下全部的子目錄和文件。
- -l:不復制文件,只是生成連接文件。
舉例1 目標是文件,若不存在,則會新建目標文件(將源內容填充至目標文件中) ; 若目標是已存在文件,會將源內容覆蓋至目標文件中(不提示)
若目標是已存在文件,會將源內容覆蓋至目標文件中,想提示使用-i
舉例2 目標是目錄,則會在目標目錄下新建與源同名的文件,並將源的內容填充至新文件中
舉例3 源是多個文件,則目標必須是目錄且存在,其餘情形均爲出錯
舉例4 源是目錄:需使用-r選項,表示遞歸 ,
- 目標不存在,則會建立指定目錄,只能是單個源目錄。
- 目標存在且是文件則會報錯,不可能把目錄下的全部東西放到一個文件中去
- 目標存在且是目錄,則會將源下全部文件和目錄複製到目標中去
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 將源文件 移動至目標目錄中
舉例2 mv -i :若目標文件已經存在時,就會詢問是否覆蓋
4. rm命令
rm命令能夠刪除一個目錄中的一個或多個文件或目錄,也能夠將某個目錄及其下屬的全部文件及其子目錄均刪除掉。對於連接文件,只是刪除整個連接文件,而原有文件保持不變。
注意:使用rm命令要格外當心。由於一旦刪除了一個文件,就沒法再恢復它。因此,在刪除文件以前,最好再看一下文件的內容,肯定是否真要刪除。rm命令能夠用-i選項,這個選項在使用文件擴展名字符刪除多個文件時特別有用。使用這個選項,系統會要求你逐一肯定是否要刪除。這時,必須輸入y並按Enter鍵,才能刪除文件。若是僅按Enter鍵或其餘字符,文件不會被刪除。
rm (選項)(參數)
參數 文件:指定被刪除的文件列表,若是參數中含有目錄,則必須加上-r
或者-R
選項。