文件查找和壓縮
文件查找
在文件系統(tǒng)上查找符合條件的文件
locate命令:模糊查locate,非實時需手動執(zhí)行更新數(shù)據(jù)庫updatedb
-i:不區(qū)分大小寫的搜索 示列l(wèi)ocate -i pasSSWd
-n:只列出查詢出結(jié)果的前三個 示列:locate -n3 passwd
-r:使用基本正則表達式需要加r 示列:locate -r ‘.conf$’
find命令:實時查找工具,通過遍歷指定路徑完成文件查找
-maxdepth:最大搜索目錄深度,指定目錄下的文件為1級
-depth:先處理目錄內(nèi)的文件,再處理指定目錄
示列:find /tmp/ -maxdepth 2 -name wujiancong
-mindepth:查看不小于多深的文件,不低于所限內(nèi)容
示列:find /etc -mindepth 4 -name .conf
-name:“文件名稱” 支持glob函數(shù) ,?,[],[^]
-iname:“文件名稱” 不區(qū)分大小寫查找
-inum:按inode號查找
-samefile name 相同inode號的文件
-regex:以模式匹配整個文件路徑,而非文件名稱
示列:find /etc -regex “..sh$"
根據(jù)屬主、屬組查找
-user username :查找屬主為指定用戶UID的文件
示列:find -user wjc
-group grpname:查找屬組為指定組GID的文件
示列:find -user joe -not -group joe
-uid userID:查找屬主為指定的UID號的文件
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
根據(jù)文件類型查找
-type
f:普通文件 d:目錄文件 l:符號鏈接文件
p:管道文件 s:套接字文件 b:塊設備文件
c:字符設備文件 -empty:空文件或目錄
組合條件:
與:-a 或:-o 非:-not !
德.摩根定律:
(非A)或(非B)=非(A且B)
(非A)且(非B)=非(A或B)
示列:
!A -a !B= (A -o B)
!A -o !B = !(A -a B)
查找/tmp下非用戶root與非F開頭的文件
:find /tmp (-not -user root -a -not -name 'f')
根據(jù)文件大小查找
-size [+|-]#UNIT
常用單位:k, M, G,c(byte)
#UNIT: (#-1, #]如:6k 表示(5k,6k]
-#UNIT:[0,#-1]如:-6k 表示[0,5k]
+#UNIT:(#,∞)如:+6k 表示(6k,∞)
根據(jù)時間戳:
以“天”為單位
-atime [+|-]#, 訪問時間
#: [#,#+1)
+#: [#+1,∞]
-#: [0,#)
-mtime 修改時間 文件內(nèi)容最后被修改時間
-ctime 變更時間 文件最后被變更的時間
find /var -mtime -8 ! ( -user root -o -user postfix )
以“分鐘”為單位
-amin
-mmin
-cmin
根據(jù)權(quán)限查找
find /tmp -perm 755
處理動作
-print:默認的處理動作,顯示至屏幕
-ls:類似于對查找到的文件執(zhí)行“l(fā)s -l”命令
-delete:刪除查找到的文件
-fls file:查找到的所有文件的長格式信息保存至指定文件中
-ok COMMAND {} \; 對查找到的每個文件執(zhí)行由COMMAND指定的命 令,對于每個文件執(zhí)行命令之前,都會交互式要求用戶確認
-exec COMMAND {} \; 對查找到的每個文件執(zhí)行由COMMAND指定的命令
{}: 用于引用查找到的文件名稱自身
find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性
傳遞給后面的命令
?由于很多命令不支持管道|來傳遞參數(shù),xargs用于產(chǎn)生某個命令的參數(shù),xargs
可以讀入 stdin 的數(shù)據(jù),并且以空格符或回車符將 stdin 的數(shù)據(jù)分隔成為參數(shù)
?許多命令不能接受過多參數(shù),命令執(zhí)行可能會失敗,xargs可以解決
?注意:文件名或者是其他意義的名詞內(nèi)含有空格符的情況
?find和xargs的組合:find | xargs COMMAND
?示例:
ls | xargs rm 刪除當前目錄下的大量文件
find /sbin/ -perm +700 | ls -l 這個命令是錯誤的
find /bin/ -perm /7000 | xargs ls -Sl 查找有特殊權(quán)限的文件,并排序
find /bin/ -perm -7000 | xargs ls -Sl 此命令和上面有何區(qū)別?
find -type f -name “.txt” -print0 | xargs -0 rm 以字符nul分隔
find示例
?備份配置文件,添加.orig這個擴展名
find -name “.conf” -exec cp {} {}.orig \; ?提示刪除存在時間超過3天以上的joe的臨時文件
find /tmp -ctime +3 -user joe -ok rm {} \; ?在主目錄中尋找可被其它用戶寫入的文件
find ~ -perm -002 -exec chmod o-w {} \; ?查找/data下的權(quán)限為644,后綴為sh的普通文件,增加執(zhí)行權(quán)限
find /data –type f -perm 644 -name “*.sh” –exec chmod 755 {} \; ?查看/home的目錄
find /home –type d -ls
成都一家集口碑和實力的網(wǎng)站建設服務商,擁有專業(yè)的企業(yè)建站團隊和靠譜的建站技術(shù),10年企業(yè)及個人網(wǎng)站建設經(jīng)驗 ,為成都數(shù)千家客戶提供網(wǎng)頁設計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設等服務,包括成都營銷型網(wǎng)站建設,成都品牌網(wǎng)站建設,同時也為不同行業(yè)的客戶提供成都網(wǎng)站建設、成都做網(wǎng)站的服務,包括成都電商型網(wǎng)站制作建設,裝修行業(yè)網(wǎng)站制作建設,傳統(tǒng)機械行業(yè)網(wǎng)站建設,傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設。在成都做網(wǎng)站,選網(wǎng)站制作建設服務商就選創(chuàng)新互聯(lián)。
壓 縮 解 壓
gzip 壓縮文件 示列:gzip message 壓縮完成之后不保留原文件 默認壓縮.gz后綴
-c:將壓縮結(jié)果輸出,可以使用重定向?qū)⑵浔4鏋閴嚎s文件,從而保留源文件
bzip2 :壓縮完成之后不保留原文件 默認壓縮.gz
-k:壓縮和解壓時都保留源文件
xz:壓縮
歸檔工具
tar [options] file.tar file1
tar -cvf etc.gz /tmp 創(chuàng)建
tar xvf :解壓縮
-c:創(chuàng)建歸檔
-x:展開歸檔
-t:不展開而直接查看被歸檔的文件
-z:使用gzip壓縮
-Z:使用compress進行解壓縮
-j:使用bz2壓縮
-J:使用xz壓縮
-v:顯示解壓縮執(zhí)行過程
-f:指定要處理的文件名