檔案的三種時間:
(1)atime:通路時間(access time),指的是檔案最後被讀取的時間,可以使用touch指令更改為目前時間;
(2)ctime:變更時間(change time),指的是檔案本身最後被變更的時間,變更動作可以使chmod、chgrp、mv等等;
(3)mtime:修改時間(modify time),指的是檔案内容最後被修改的時間,修改動作可以使echo重定向、vi等等;
find :查找目錄和檔案
find 路徑 -指令參數 [輸出形式]
參數說明:
路徑:告訴find在哪兒去找你要的東西,.表示目前目錄,/表示根目錄
指令參數:
-name 按照檔案名查找檔案。
-perm 按照檔案權限來查找檔案。
-prune 使用這一選項可以使find指令不在目前指定的目錄中查找,如果同時使用了- depth選項,那麼-prune選項将被find指令忽略。
-user 按照檔案屬主來查找檔案。
-group 按照檔案所屬的組來查找檔案。
-mtime -n +n 按照檔案的更改時間來查找檔案, -n表示檔案更改時間距現在n天以内,+n表示檔案更改時間距現在n天以前。find指令還有-atime和-ctime選項,但它們都和-mtime選項
相似,是以我們在這裡隻介紹-mtime選項。
-nogroup 查找無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。
-nouser 查找無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改時間比檔案file1新但比檔案file2舊的檔案。
-type 查找某一類型的檔案,諸如:
b - 塊裝置檔案。
d - 目錄。
c - 字元裝置檔案。
p - 管道檔案。
l - 符号連結檔案。
f - 普通檔案。
s - socket檔案
-size n[c] 查找檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。
-depth 在查找檔案時,首先查找目前目錄中的檔案,然後再在其子目錄中查找。
-maxdepth 查找最大目錄層數 如 1,即隻查找一層目錄
-fstype 查找位于某一類型檔案系統中的檔案,這些檔案系統類型通常可以在配置檔案
/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。
-mount 在查找檔案時不跨越檔案系統mount點。
-follow 如果find指令遇到符号連結檔案,就跟蹤至連結所指向的檔案。
-cpio 對比對的檔案使用cpio指令,将這些檔案備份到錄音帶裝置中。
輸出形式:輸出形式很多,-print,-printf,-print0,-exec,-ok,-ls
-print 将查找到的檔案輸出到标準輸出
-exec: find指令對比對的檔案執行該參數所給出的shell指令。相應指令的形式為'command' { } ;,注意{ }和;之間的空格。
-ok:和-exec的作用相同,隻不過以一種更為安全的模式來執行該參數所給出的shell指令,在執行每一個指令之前,都會給出提示,讓使用者來确定是否執行。
檢視系統過去24小時變更過的内容:
find / -mtime 0
查找/etc底下的檔案,如果比/etc/passwd新就列出:
查找該目錄過去24小時變更的内容:
搜尋/home下屬于funs的檔案:
find /home -user funs
找出名為code的文檔:
找出/var目錄下檔案類型為socket類型的檔案:
搜尋文檔中含有SGID或SUID或SBIT屬性的檔案:
将上個指令用ls列出來:
找出/etc下大于1000k的檔案:
查找目前目錄下的目錄:
查找/home下以a開頭的檔案:
将find /var -name ap*查到的檔案寫到file1中:
查找/var下以ap開頭或m開頭的檔案:
找出/var下以ap開頭并且類型為目錄的檔案:
查找find /home/funs/learn/test目錄下一天内被存取過的檔案:
查找/home/funs/learn下60分鐘前改動過的檔案
查找在系統中屬于 funs的檔案:
find / -group funs