天天看點

Linux檔案管理基礎指令二

一、Linux檔案清單指令 :ls

      ls:list ,列出目錄内容

      用法:ls [-aAdhl]  //ls 的參數很多,以下是常用的幾種

      不加參數,直接 ls ,可列出目錄的内容,包括檔案和子目錄的名稱。

      -a :列出全部的檔案,包括隐藏的目錄和隐藏的檔案(以.開頭的檔案) 

      -A :列出全部的檔案,包括隐藏的目錄和檔案(但不包括 . 與 .. 這兩個目錄)

      -d :僅列出目錄本身,而不是列出目錄内的檔案資料

      -h :将檔案容量以人類較易讀的方式(例如GB、KB等) 列出來

      -l  :列出檔案并顯示檔案的屬性和權限等資訊

Linux檔案管理基礎指令二

 審視上圖可以發現利用ls -h ,很容易就看懂檔案有多大了;

-l會顯示檔案的屬性和權限等資訊,通常和其他參數一起使用,比如ls -ld 、ls -lh,能夠更直覺地觀察到檔案的各項等資訊

二、Linux檔案拷貝指令:cp常見用法

      cp:copy  拷貝

      用法:cp  [-adfilprsu] 源檔案 目标

      不加參數,直接 cp 源檔案 目标 (目标可以是檔案名也可以是目錄名)

      -a :盡可能将檔案狀态、權限等資料都照原狀予以複制。

      -r :若 source 中含有目錄名,則将目錄下之檔案亦皆依序拷貝至目的地。

      -f :若目的地已經有相同檔名的檔案存在,則在複制前先予以删除再行複制。

      在預設的條件中,cp的源檔案與目的檔案的權限是不同的,目的檔案的所有者會是執行指令的使用者。

      -u :差異複制,常用在備份裡面

1.以root身份,将/etc/passwd檔案複制到/tmp下

Linux檔案管理基礎指令二

 2.變換目錄到/tmp,并将/var/log/wtmp 複制到/tmp觀察屬性

Linux檔案管理基礎指令二

實際上,在不加任何選項的情況下直接cp,檔案的某些屬性/權限會發生變化

為了将檔案的所有特性都複制過去怎麼辦,可以加一個 –a 參數,如下圖:

Linux檔案管理基礎指令二

 預設情況下,cp的來源檔和目的檔的權限是不同的,目的檔的擁有者通常會是指令操作者本身,就如上面的看到的一樣,用root身份複制過來的檔案擁有者和群組就變成root所有了。

3.将/etc/這個目錄下的所有内容複制到/tmp底下

Linux檔案管理基礎指令二

 如上圖可以發現,對于目錄不能直接複制,需要加-r參數

4.cp -f 參數 

        若目的地已經有相同檔名的檔案存在,則在複制前先予以删除再行複制,其實就是force的意思,強制複制,預設是需要詢問的

Linux檔案管理基礎指令二

 5.cp -u參數:

      cp -u用于增量備份,當你做備份的時候,cp -u隻會複制那些有新增或者已經有變化的檔案,相同屬性并存在的檔案不會再重新複制,大大的提供了備份速度。

      這裡為了測試,先在/tmp/test 目錄下建立1.txt,2.txt兩個檔案,将其複制到/tmp/123目錄中,然後再次在/tmp/test 目錄下建立3.txt檔案,再次複制到/tmp/123下面,分别用不加 –u參數和用-u參數做對比。

建立test目錄

Linux檔案管理基礎指令二

 /tmp/test 下建立1.txt,2.txt

Linux檔案管理基礎指令二

 建立目錄123,将1.txt,2.txt複制到/tmp/123目錄中,然後再次在/tmp/test 目錄下建立3.txt檔案,再次複制到/tmp/123下面,分别用不加 –u參數和用-u參數做對比。

Linux檔案管理基礎指令二

 當沒用-u參數時,cp會将之前的檔案從新複制,所有會詢問是否覆寫之前的檔案,而當添加了 -u 參數之後,cp隻複制了新增的 3.txt 過去,因為之前目标目錄沒有3.txt檔案,是以并沒有詢問是否替換。即cp -u隻會複制目标目錄中沒有的檔案。

三、檔案移動指令 :mv

      mv:move  移動檔案,還有重命名的作用

      用法:mv [-fiu] source destination

      -f:強制移動,不會出現警告資訊

      -i:互動模式,移動之前詢問你

      -u:目标存在的時候,隻有source比較新才會更新

      用法和cp指令差不多,差別在于一個是複制,一個是剪切。

      切換到/tmp 目錄下,用touch建立一個test.txt,然後用mv 重命名為456.txt

Linux檔案管理基礎指令二

四、檔案或者目錄删除指令:rm

      rm:remove 移除

      用法:rm [-fir] 檔案或目錄

      不加參數,直接用rm 檔案,可以删除檔案

      -f:強制删除,不會出現警告資訊

      -i:互動模式,删除之前詢問你

      -r:遞歸删除,最常用在目錄的删除,很危險的參數

      例:删除我們之前在/tmp/test目錄下建立的1.txt ,2.txt,3.txt 和/tmp/123目錄,分别用以上不同的參數

Linux檔案管理基礎指令二
Linux檔案管理基礎指令二

 如上圖,不加參數直接删除檔案或用rm -i時,會詢問是否删除,rm -f會強制删除,不會詢問。

不加參數不能删除目錄,加-r但沒有-f參數,會詢問是否删除。

注:詢問時,如果不回答y直接回車,将預設no

利用rm -rf 删除test目錄,會發現沒有任何提示:

Linux檔案管理基礎指令二
Linux檔案管理基礎指令二

 注:rm -rf 是很危險的參數,慎用!

五、touch指令:

嚴格來說,它是用來修改檔案的時間記錄的。這裡我們可以用它來建立一個空檔案。

Linux檔案管理基礎指令二

繼續閱讀