find 查詢檔案

pingley發表於2012-03-03
find 查詢檔案
[root@zeng ~]# find / -name inittab
/etc/inittab
/root/inittab
-name指定要查詢的檔名。
[oracle@zeng ~]$ find /opt  -name alert*.log     
/opt/oracle11g/product/11.2.0/dbhome_1/log/diag/rdbms/dbua0/DBUA0/trace/alert_DBUA0.log
/opt/oracle11g/diag/rdbms/oracl/oracl/trace/alert_oracl.log
如果你要查詢的目錄或者檔案你沒有權利訪問將會提示錯誤:Permission denied
[oracle@zeng /]$ find .  -name "alert*.log" 2>/dev/null
./opt/oracle11g/product/11.2.0/dbhome_1/log/diag/rdbms/dbua0/DBUA0/trace/alert_DBUA0.log
./opt/oracle11g/diag/rdbms/oracl/oracl/trace/alert_oracl.log
可以使用錯誤資訊從定向來消除這些錯誤資訊。
[root@zeng ~]# find /tmp -type s
/tmp/.esd-501/socket
/tmp/pulse-4Yn0kZgmYNIj/native
-type 指定要查詢的檔案的型別.正規檔案f,裝置檔案(b,c),目錄d,連線檔案l,套接字檔案s,管道檔案p。
[root@zeng ~]# find /home -user oracle
-user 指定檔案的屬主.相應的還有 -group 指定檔案的使用者組.
-nouser 尋找檔案的所有者不存在於/etc/passwd中的檔案。
-nogroup 尋找檔案的使用者組不存在於/etc/group。
-nouser與-nogroup 可以用來查詢系統中存在的莫名其妙的檔案,這些以後是刪除了的使用者與使用者組建立的,也有可能是網路中下載下來的檔案。
上面的命令是將/home 目錄下屬於 oracle使用者的所有的檔案都找出來。
[oracle@zeng ~]$ find . -mmin -60
.
./inittab
./.viminfo
./test_file.txt
./test_file
-mmin 表示修改時間(modified minutes)。
上面執行的命令的意思是在當前目錄下查詢出過去60分鐘內修改過的檔案。
[oracle@zeng ~]$ find . -mmin +60
上面執行的命令用於查詢現在開始算起60分鐘以前修改過的檔案,類似的選項還有。
-amin  根據檔案的訪問時間來查詢。以 分鐘來計算。
-atime 根據檔案的訪問時間來查詢。以天來計算。
-cmin  根據檔案的狀態改變時間來查詢。以分鐘為單位。
-ctime 根據檔案的狀態改本時間來查詢。以天來計算。
-mtime 根據檔案的修改時間來查詢。以天為單位。
-newer  比的修改時間還要新的檔案。
執行下面的命令找出240分鐘以前到現在那些檔案被訪問過。
[oracle@zeng ~]$ find . -amin -240
.
./inittab
./.viminfo
./test_file.txt
./test_file
下面找出當前目錄下過去24小時內訪問過的檔案。並且把這些檔案使用長格式列出來。
[oracle@zeng ~]$ find . -atime 0  -exec ls -l {} \;
還可以使用find把10天前修改過的檔案都刪除掉。這個命令千萬別用,除非你知道自己在幹什麼。不過下面的這個命令非常使用用來刪除oracle ADR下面的陳舊的trace files 因為這些老舊的檔案已經沒有什麼價值,可以把他們刪除,不讓他們一直佔用著空間。
[oracle@zeng ~]$ find . -type f -mtime +10 -exec rm -f {} \;
還可以透過檔案的大小來查詢檔案。
[oracle@zeng opt]$ find . -size +500000k
./oracle11g/oradata/oracl/sysaux01.dbf
./oracle11g/oradata/oracl/system01.dbf
./oracle11g/oradata/oracle/oracle/sysaux01.dbf
./oracle11g/oradata/oracle/oracle/system01.dbf
-size 表示按照檔案的大小來查詢,其中+表示大於後面的數值,-表示小於後面的數值。
單位是K(1024 bytes)。上面的執行的命令是檢視在當前目錄以及其子目錄中容量為500000KB以上的檔案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-717594/,如需轉載,請註明出處,否則將追究法律責任。

相關文章