Linux常用命令(四)

Linux常用命令(四)

目前已經總結了,文件操作命令,目錄操作命令,查看目錄下的文件及目錄結構,本節我來總結一下Linux另外兩個重要的命令rm刪除命令和find查找命令。

1 rm命令

rm命令是Linux系統中常用的命令,該命令的功能爲刪除一個目中的文件或多個文件或目錄,對於鏈接文件,只是刪除了鏈接,對原始文件沒有影響,rm命令十分危險,新手要特別當心。

1.1 語法

rm [選項] 文件... 

1.2 命令參數

-i 每個刪除操作完成前都有確認提示
-I 刪除超過 3 個文件時或遞歸刪除時僅提示一次確認
-d 僅刪除空目錄
-v 顯示當前操作完成時的詳細情況
-f 強制刪除,並沒有提示
-r 遞歸刪除目錄下的所有文件和目錄

1.3 命令實例

  1. 刪除目錄,無參數時默認有提示

    [root@ERICSSON usr]# ls
    bin games lib libexec sbin src tmp
    etc include lib64 local share TestUsr
    [root@ERICSSON usr]# rm -r TestUsr/
    rm: remove directory ‘TestUsr/’? y
    [root@ERICSSON usr]#

2.強制刪除,無任何提示

[root@ERICSSON /]#
[root@ERICSSON /]# cd SherwinTest/
[root@ERICSSON SherwinTest]# ls
3file.txt  5file.txt  7file.txt  9file.txt  typescript
4file.txt  6file.txt  8file.txt  Test
[root@ERICSSON SherwinTest]# rm -f 3file.txt
[root@ERICSSON SherwinTest]# ls
4file.txt  6file.txt  8file.txt  Test
5file.txt  7file.txt  9file.txt  typescript
  1. 運用I參數,刪除超過三個以上或者遞歸刪除時有提示

    [root@ERICSSON SherwinTest]#
    [root@ERICSSON SherwinTest]# ls
    4file.txt 6file.txt 8file.txt Test
    5file.txt 7file.txt 9file.txt typescript
    [root@ERICSSON SherwinTest]#
    [root@ERICSSON SherwinTest]# rm -I 4file.txt 5file.txt
    [root@ERICSSON SherwinTest]# ls
    6file.txt 7file.txt 8file.txt 9file.txt Test typescript
    [root@ERICSSON SherwinTest]# rm -I 6file.txt 7file.txt 8file.txt 9file.txt
    rm: remove 4 arguments? y
    [root@ERICSSON SherwinTest]# ls
    Test typescript
    [root@ERICSSON SherwinTest]#

  2. 遞歸刪除目錄下的所有文件和目錄

    [root@ERICSSON /]# rm -r SherwinTest/
    rm: descend into directory ‘SherwinTest/’? y
    rm: remove regular empty file ‘SherwinTest/typescript’? y
    rm: remove directory ‘SherwinTest/Test’? y
    rm: remove regular empty file ‘SherwinTest/test1.log’? y
    rm: remove regular empty file ‘SherwinTest/test2.log’? y
    rm: remove regular empty file ‘SherwinTest/test3.log’? y
    rm: remove regular empty file ‘SherwinTest/test4.log’? y
    rm: remove regular empty file ‘SherwinTest/test5.log’? y
    rm: remove regular empty file ‘SherwinTest/test6.log’? y
    rm: remove regular empty file ‘SherwinTest/test7.log’? y
    rm: remove regular empty file ‘SherwinTest/test8.log’? y
    rm: remove regular empty file ‘SherwinTest/test9.log’? y
    rm: remove regular empty file ‘SherwinTest/test10.log’? y
    rm: remove directory ‘SherwinTest/’? y
    [root@ERICSSON /]#

    note:有提示

2 find命令

find命令是linux中最有用的命令之一。find命令用於:在一個目錄(及子目錄)中搜索文件,你可以指定一些匹配條件,如按文件名、文件類型、用戶甚至是時間戳查找文件。

2.1 語法

find [pathname] -options [-print -exec -ok ...]

2.2 命令參數

-name 按照文件名查找文件
-perm 按照文件的權限查找文件
-user 按照文件屬主來查找文件
-grup 按照文件所屬組來查找文件
-mtime 按照文件的更改時間來查找文件, -n表示文件更改時間距現在n天以內,+n表示文件更改時間距現在n天以前
-type  查找某一類型的文件,諸如:
    b - 塊設備文件。
    d - 目錄。 
    c - 字符設備文件。 
    p - 管道文件。       
    l - 符號鏈接文件。     
    f - 普通文件。

note:另外請注意下面三個的區別:

-amin n   查找系統中最後N分鐘訪問的文件
-atime n  查找系統中最後n*24小時訪問的文件

-cmin n   查找系統中最後N分鐘被改變文件狀態的文件
-ctime n  查找系統中最後n*24小時被改變文件狀態的文件

-mmin n   查找系統中最後N分鐘被改變文件數據的文件
-mtime n  查找系統中最後n*24小時被改變文件數據的文件

2.3 命令實例

  1. 查找在指定範圍內修改過的文件

    1. 查找最後N分鐘訪問的文件
    
    [root@ERICSSON ~]# find . -atime -1
    .
    ./.bash_profile
    ./.bashrc
    ./.bash_history
    ./.pki
    ./.pki/nssdb
    ./.viminfo
    [root@ERICSSON ~]#
    
    2. 查找系統N分鐘被修改文件數據的文件
    [root@ERICSSON ~]# find . -mtime -1
    .
    ./.viminfo
    [root@ERICSSON ~]#
    
    note:其他參數大家可以自行進行驗證。
  2. 根據文件名字查找

    [root@ERICSSON SherwinTest]# ls
    3file.txt  5file.txt  7file.txt  9file.txt  typescript
    4file.txt  6file.txt  8file.txt  Test
    [root@ERICSSON SherwinTest]# find -name "3file.txt"
    ./3file.txt
    [root@ERICSSON SherwinTest]#
  3. 根據類型查找

    [root@ERICSSON SherwinTest]#
    [root@ERICSSON SherwinTest]# ls
    3file.txt  5file.txt  7file.txt  9file.txt  typescript
    4file.txt  6file.txt  8file.txt  Test
    [root@ERICSSON SherwinTest]# find . -type f -name "*file.txt"
    ./4file.txt
    ./5file.txt
    ./6file.txt
    ./7file.txt
    ./8file.txt
    ./9file.txt
    ./3file.txt
    [root@ERICSSON SherwinTest]#
    
    note: find "." 這個點表示當前目錄
  4. 按照目錄和權限查找

    [root@ERICSSON test]# find /opt/soft/test/ -perm 777
    /opt/soft/test/log_link.log
    /opt/soft/test/test4
    /opt/soft/test/test5/test3
    /opt/soft/test/test3
  5. 查找當前所有目錄並排序

    [root@ERICSSON SherwinTest]# ls
    3file.txt  5file.txt  7file.txt  9file.txt  typescript
    4file.txt  6file.txt  8file.txt  Test
    [root@ERICSSON SherwinTest]# find . -type f | sort
    ./3file.txt
    ./4file.txt
    ./5file.txt
    ./6file.txt
    ./7file.txt
    ./8file.txt
    ./9file.txt
    ./typescript
    [root@ERICSSON SherwinTest]#
  6. 按照文件大小查找

    [root@ERICSSON ~]# find . -size +1000c -print
    ./anaconda-ks.cfg
    ./.bash_history
    ./.viminfo
    [root@ERICSSON ~]#
    
    note:查找當前目錄大於1K的文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章