Linux之文件目錄指令(二)

一、touch命令

touch命令有兩個功能:一是創建新的空文件,二是改變已有文件的時間戳屬性

touch命令會根據當前的系統時間更新指定文件的訪問時間和修改時間。如果文件不存在,將會創建新的空文件,除非指定了”-c”或”-h”選項

注意:在修改文件的時間屬性的時候,用戶必須是文件的屬主,或擁有寫文件的訪問權限。

**語法格式:**touch [參數] [文件]

常用參數:

參數 作用
-a 改變檔案的讀取時間記錄
-m 改變檔案的修改時間記錄
-c 不創建新文件
–help 顯示幫助信息
–version 列出版本訊息

參考實例

創建空文件:

[root~]# touch file.txt  

批量創建文件:

[root~]# touch file{1..5}.txt 
[root~]# ls
file1.txt file2.txt file3.txt file4.txt file5.txt 

修改文件的access(訪問)時間:

[root~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2019-04-07 00:25:34.729216500 +0800
 Modify: 2019-04-07 00:25:34.729216500 +0800
 Change: 2019-04-07 00:25:34.729216500 +0800
  Birth: -

[root~]# touch -a file.txt
 
[root~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2019-04-07 00:26:13.004116000 +0800
 Modify: 2019-04-07 00:25:34.729216500 +0800
 Change: 2019-04-07 00:26:13.004116000 +0800
  Birth: -

二、cp命令

cp命令可以理解爲英文單詞copy的縮寫,其功能爲複製文件或目錄

cp命令可以將多個文件複製到一個具體的文件名或一個已經存在的目錄下,也可以同時複製多個文件到一個指定的目錄中

**語法格式:**cp [參數] [文件…] [目錄]

常用參數:

參數 作用
-f 若目標文件已存在,則會直接覆蓋原文件
-p 除複製文件的內容外,還把修改時間和訪問權限也複製到新文件中
-r 若給出的源文件是一個目錄文件,此時將複製該目錄下所有的子目錄和文件
-i 與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋
-d 複製時保留鏈接。這裏所說的鏈接相當於Windows系統中的快捷方式
-l 不復制文件,只是生成鏈接文件
-a 此選項通常在複製目錄時使用,它保留鏈接、文件屬性,並複製目錄下的所有內容。其作用等於dpR參數組合

參考實例

將dir1目錄及其內的文件複製到dir2目錄中:

[root~]# cp -r dir1 dir2/

將文件test1改名爲test2:

[root~]# cp -f test1 test2

複製多個文件到dir目錄中:

[root~]# cp -r file1 file2 file3 dir

將目錄 /usr/linuxcool 中的所有.c文件複製到目錄 dir 中:

[root~]# cp -r /usr/linuxcool/*.c dir

三、rm命令

rm是常用的命令,該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變。

rm也是一個危險的命令,使用的時候要特別當心,尤其對於新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什麼東西,操作時保持高度清醒的頭腦

**語法格式:**rm [參數] [文件]

常用參數:

參數 作用
-f 忽略不存在的文件,強制刪除
-i 刪除前會詢問用戶是否確認刪除
-r 如果文件是目錄,則遞歸刪除文件中的文件
-v 顯示指令的詳細執行過程

參考實例

刪除前逐一詢問確認:

[root~]# rm -i test.txt.bz2 
rm: remove regular file `test.txt.bz2'? 

直接刪除,不會有任何提示:

[root~]# rm -f test.txt.bz2  

遞歸刪除目錄及目錄下所有文件:

[root~]# mkdir /data/log
[root~]# rm -rf /data/log

刪除當前目錄下所有文件:

[root~]# rm -rf *

清空系統中所有的文件(謹慎):

[root~]# rm -rf /*

四、mv命令

mv命令是“move”單詞的縮寫,可以移動文件或對其改名

這是一個使用頻率超高的文件管理命令,我們需要特別留意它與複製的區別:mv與cp的結果不同:mv命令好像文件“搬家”,文件名稱發生改變,但個數並未增加。而cp命令是對文件進行復制操作,文件個數是有增加的

**語法格式:**mv [參數]

常用參數:

參數 作用
-i 若存在同名文件,則向用戶詢問是否覆蓋
-f 覆蓋已有文件時,不進行任何提示
-b 當文件存在時,覆蓋前爲其創建一個備份
-u 當源文件比目標文件新,或者目標文件不存在時,才執行移動此操作

參考實例

將文件file_1重命名爲file_2:

[root~]# mv file_1 file_2

將文件file移動到目錄dir中 :

[root~]# mv file dir

將目錄dir1移動目錄dir2中(前提是目錄dir2已存在,若不存在則改名):

[root~]# mv dir1 dir2

將目錄dir1下的文件移動到當前目錄下:

[root~]# mv /dir1/*  .
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章