Linux常用命令(四)
目前已經總結了,文件操作命令,目錄操作命令,查看目錄下的文件及目錄結構,本節我來總結一下Linux另外兩個重要的命令rm刪除命令和find查找命令。
1 rm命令
rm命令是Linux系統中常用的命令,該命令的功能爲刪除一個目中的文件或多個文件或目錄,對於鏈接文件,只是刪除了鏈接,對原始文件沒有影響,rm命令十分危險,新手要特別當心。
1.1 語法
rm [選項] 文件...
1.2 命令參數
-i 每個刪除操作完成前都有確認提示
-I 刪除超過 3 個文件時或遞歸刪除時僅提示一次確認
-d 僅刪除空目錄
-v 顯示當前操作完成時的詳細情況
-f 強制刪除,並沒有提示
-r 遞歸刪除目錄下的所有文件和目錄
1.3 命令實例
-
刪除目錄,無參數時默認有提示
[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
-
運用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]# -
遞歸刪除目錄下的所有文件和目錄
[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. 查找最後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:其他參數大家可以自行進行驗證。
-
根據文件名字查找
[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]#
-
根據類型查找
[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 "." 這個點表示當前目錄
-
按照目錄和權限查找
[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
-
查找當前所有目錄並排序
[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]#
-
按照文件大小查找
[root@ERICSSON ~]# find . -size +1000c -print ./anaconda-ks.cfg ./.bash_history ./.viminfo [root@ERICSSON ~]# note:查找當前目錄大於1K的文件