1. 程式人生 > 其它 >檔案管理命令

檔案管理命令

目錄

檔案管理命令

一、複製命令CP

cp:copy該命令的功能是將給出的檔案或目錄拷貝到另外一個檔案或目錄中。

語法: cp [選項] 原始檔或目錄 目標檔案或目錄(預設只能拷貝檔案)

選項:
    #-a:此引數的效果和同時指定"-dpR"引數相同;
    -d:當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目錄;
    -f:強行復制檔案或目錄,不論目標檔案或目錄是否已存在;
   #-i:覆蓋既有檔案之前先詢問使用者;
    -l:對原始檔建立硬連線,而非複製檔案;
   #-p:保留原始檔或目錄的屬性;
   #-R/r:遞迴處理,將指定目錄下的所有檔案與子目錄一併處理;
    -s:對原始檔建立符號連線,而非複製檔案;
    -u:使用這項引數後只會在原始檔的更改時間較目標檔案更新時或是名稱相互對應的目標檔案並不存在時,才複製檔案;
    -S:在備份檔案時,用指定的字尾“SUFFIX”代替檔案的預設字尾;
    -b:覆蓋已存在的檔案目標前將目標檔案備份;
    #-v:詳細顯示命令執行的操作。
    #-t:語法變為:目標路徑 原始檔

用法:

	複製並改名:
      當cp目標檔案已存在有以下兩種情況:
         1)存在,並且是個目錄:將複製檔案放到目標目錄下,並且不改名
         2)存在, 並且是個普通檔案:詢問是否要覆蓋,輸入Y則覆蓋,N則不覆蓋
      
      當cp目標檔案不存在:
         1)複製到目標目錄下,並且進行改名

ps:系統預設cp = cp -i.

當我們需要覆蓋大量檔案時如果一個一個提示是否覆蓋會很麻煩。因此有以下兩個辦法可以解決:

 1.使用轉義符\:讓轉義符後面的內容做它自己
   [root@localhost ~]# \cp -a /etc /tmp
   
 2.使用命令的絕對路徑:
  [root@localhost ~]# /bin/cp -a /etc /tmp
  
    '如果不知道命令在哪 可以使用which+命令'

二、刪除命令RM

​ 在Linux下刪除檔案用rm命令,具體用法如下:

語法:rm[選項] 檔案(預設只能刪除普通檔案)

選項:
	-f    -force     忽略不存在的檔案,強制刪除,無任何提示    
    -i    --interactive  進行互動式地刪除    
    -r | -R  --recursive  遞迴式地刪除列出的目錄下的所有目錄和檔案    
    -v      --verbose    詳細顯示進行的步驟

1.常規刪除a.txt檔案

[root]# rm a.txt

2.強行刪除file.log檔案

[root]# rm -f file.log

3、刪除dirname目錄下的所有東西

[root]# rm -R dir dirname

4.強制刪除目錄以及目錄裡的東西

[root]# rm -rf dirname

需要注意:

使用rm -rf要格外注意,linux中沒有回收站,慎重刪除

三、普通檔案檢視命令Cat:

cat命令用於檢視內容較少的文字檔案,一次性顯示整個檔案,內容多的話建議用more。

可以建立一個檔案,建立的時候可以輸入檔案內容,不可以編輯已有的檔案。(cat > a.txt)

可以向已存在的檔案中追加內容(cat >> a.txt)

可以將多個檔案合併成一個檔案,檔案內容疊加,原始檔不會消失。(cat a.txt b.txt > c.txt)

可以將多個檔案的內容追加到已存在的檔案當中(cat a.txt b.txt >> c.txt)

符號:>建立,>>是追加

語法:cat 【選項】 【檔案】

選項:
        #-n 顯示行數(空行也編號)

        -s 顯示行數(多個空行算一個編號)

        -b 顯示行數(空行不編號)

        #-E 每行結束處顯示$符號

        #-T 將TAB字元顯示為 ^I符號

        -v 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

        -e 等價於”-vE”組合

        -t 等價於”-vT”組合

        #-A 等價於 -vET組合

1.#-n 顯示行數(空行也編號)

[root@localhost ~]# cat -n a.txt
     1    123
     2
     3
     4    789
     5    abc
     6
     7    dfg

2.#-E 每行結束處顯示$符號

root@localhost ~]# cat -E 1.txt
1			$
2		$
3	$
4		7$
5    2          0$
6             9$
7$

3.-T檢視檔案中的製表符

[root@localhost ~]# cat -T 1.txt
1^I^I        
2^I3
4^I^I7
5^I2^I^I^I0
6           9
7

4.建立檔案a.txt,並輸入內容。如果檔案a.txt不存在,直接建立;如果檔案a.txt存在,會直接覆蓋,不會提示。

[root@localhost ~]# cat > a.txt
abc
123
dfe
^C       (Ctrl + C 退出輸入)
[root@localhost ~]# ls
a.txt
[root@localhost ~]# cat a.txt
abc
123
dfe

或者 cat > a.txt << EOF,建立a.txt檔案,輸入內容,以EOF退出輸入。(EOF只是標識,不是固定的)

[root@localhost ~]# cat > a.txt << EOF
> abc
> 123
> EOF     注:以EOF退出輸入
[root@localhost ~]# cat a.txt
abc
123

4.2可以向已存在的檔案中追加內容(cat >> a.txt)

[root@localhost ~]# cat a.txt
abc
123
[root@localhost ~]# cat >> a.txt
ghj
rfg
^C
[root@localhost ~]# cat a.txt
abc
123
ghj
rfg

或者cat >> a.txt << EOF

[root@localhost ~]# cat a.txt
abc
123
[root@localhost ~]# cat >> a.txt << EOF
> rfv
> tgb
> EOF     注:以EOF退出輸入
[root@localhost ~]# cat a.txt
abc
123
rfv
tgb

拓展內容

# moremore 檔名
	 按回車,一行一行向下顯示
	 按空格,一頁一頁向下顯示
	 Ctrl + b:向上檢視
	 Ctrl + f:向下檢視
	 
# lessless 檔名
	 Ctrl + b:向上檢視
	 Ctrl + f:向下檢視
	 按回車,一行一行向下顯示
	 按空格,一頁一頁向下顯示
	 輸入/關鍵字,高亮顯示,所有匹配到的內容
	 按n,查詢下一個關鍵字
	 Shift + n 查詢上一個關鍵字 
	 
# headhead 
	 檔名預設顯示一個檔案的前10行內容
	 選項-n:
	 指定檢視檔案開頭的前N行,n可以省略
	 
#tail 檔名
	 預設顯示一個檔案的後十行內容
	 選項
	 -n:指定檢視檔案末尾的後N行,n可以省略
	 -f:follow,跟蹤,動態跟蹤一個檔案的末尾