中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
云計算學(xué)習(xí)路線分享云計算之文件查找

grep: 文件內(nèi)容過濾

find: 文件查找,針對文件名

一、命令文件
# which ls //從PATH環(huán)境變量 (echo $PATH)
# whereis vim

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/htop/bin/:/root/bin

二、任意文件
A. locate (查詢的數(shù)據(jù)庫: /var/lib/mlocate/mlocate.db)
計劃任務(wù):每天自動更新數(shù)據(jù)庫 /etc/cron.daily/mlocate.cron
手動更新數(shù)據(jù)庫:updatedb
# locate ifcfg-eth0
# locate ifcfg-enp0s25
locate

updatedb后才能查找到 非常麻煩 不建議使用
如果沒有 locate 使用YUM直接安裝是不行的。 要查一下在哪個包里 yum provides locate -→ mlocate → 直接YUM mlocate即可
B. find 
find [options] [path...] [expression] [action]

===expression=== 熟用*通配符
按文件名:
[root@tianyun ~]# find /etc -name "ifcfg-eth0" name 名字 后面-print 已省略
[root@tianyun ~]# find /etc -iname "ifcfg-eth0" //-i忽略大小寫
[root@tianyun ~]# find /etc -iname "ifcfg-eth*"

按文件大小:
[root@tianyun ~]# find /etc -size +5M //大于5M
[root@tianyun ~]# find /etc -size 5M
[root@tianyun ~]# find /etc -size -5M
[root@tianyun ~]# find /etc -size +5M -ls //-ls找到的處理動作 不是平時用的ls
ll - h 查看大小

指定查找的目錄深度:
-maxdepth levels
-mindepth levels
[root@tianyun ~]# find / -maxdepth 3 -a -name "ifcfg-eth0" maxdepth 3 最大3層 a要滿足2個條件 并且
時間找(atime,mtime,ctime):
[root@tianyun ~]# find /etc -mtime +5 //修改時間超過5天
[root@tianyun ~]# find /etc -mtime 5 //修改時間等于5天
[root@tianyun ~]# find /etc -mtime -5 //修改時間5天以內(nèi)


按文件類型:
[root@tianyun ~]# find /dev -type f //f普通
[root@tianyun ~]# find /dev -type d //d目錄
[root@tianyun ~]# find /dev -type l //l鏈接
[root@tianyun ~]# find /dev -type b //b塊設(shè)備
[root@tianyun ~]# find /dev -type c //c字符設(shè)備
[root@tianyun ~]# find /dev -type s //s套接字
[root@tianyun ~]# find /dev -type p //p管道文件

按文件權(quán)限:
[root@tianyun ~]# find . -perm 644 -ls .是當(dāng)前目錄 精確查找644 *一般都是精確


[root@tianyun ~]# find . -perm -644 -ls -是包含到意思

帶不帶- 自己對比一下 查看。 帶-表示只要6就可以
[root@tianyun ~]# find . -perm -600 -ls
[root@tianyun ~]# find . -perm -222 -ls //全局可寫
[root@tianyun ~]# find /usr/bin /usr/sbin -perm -4000 -ls //包含set uid
[root@tianyun ~]# find /usr/bin /usr/sbin -perm -2000 -ls //包含set gid
[root@tianyun ~]# find /usr/bin /usr/sbin -perm -1000 -ls //包含sticky



==找到后處理的動作 ACTIONS: (默認(rèn)動作-print)==
-print
-ls
-delete
-exec 后面跟自定義的shell命令
-ok 后面跟自定義的shell命令
[root@tianyun ~]# find /etc -name "ifcfg*" 后可以加|xargs -h
[root@tianyun ~]# find /etc -name "ifcfg*" -print
[root@tianyun ~]# find /etc -name "ifcfg*" -ls

[root@tianyun ~]# find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \;
[root@tianyun ~]# find /etc -name "ifcfg*" -ok cp -rvf {} /tmp \;


exec命令用于調(diào)用并執(zhí)行指令的命令

查找?guī)?/span>root帶文件 復(fù)制到tmp下

find /etc -name “root*” -exec cp -rf {} /tmp \; 復(fù)制到當(dāng)前文件下 /tmp換成.
[root@tianyun ~]# find /etc -name "ifcfg*" -exec rm -rf {} \; exec為執(zhí)行一條shell命令 {}為前面的東西\; 格式
[root@tianyun ~]# find /etc -name "ifcfg*" -delete

擴(kuò)展知識:find結(jié)合xargs
[root@tianyun ~]# find . -name "yang*.txt" |xargs rm -rf !?。。。。。。。。。。?!重點 找到之后刪除處理xargs 參數(shù)傳遞處理找出后刪除
[root@tianyun ~]# find /etc -name "ifcfg-eth0" |xargs -I {} cp -rf {} /var/tmp


案例1: 分別找出file5 和除了file5的文件
[root@tianyun ~]# mkdir dir1
[root@tianyun ~]# touch dir1/file{1..20}

[root@tianyun ~]# find /root/dir1 -name "file5"
[root@tianyun ~]# find /root/dir1 ! -name "file5" !為取反

[root@tianyun ~]# find /root/dir1 -name "file5" -o -name "file9" 即是file5又是file9
/root/dir1/file5
/root/dir1/file9

擴(kuò)展 不常用

[root@tianyun ~]# find /root/dir1 -name "file5" -o -name "file9" -ls
1466515 0 -rw-r--r-- 1 root root 0 6月 5 11:15 /root/dir1/file9

[root@tianyun ~]# find /root/dir1 -name "file5" -ls -o -name "file9" -ls
1466499 0 -rw-r--r-- 1 root root 0 6月 5 11:15 /root/dir1/file5
1466515 0 -rw-r--r-- 1 root root 0 6月 5 11:15 /root/dir1/file9

[root@tianyun ~]# find /root/dir1 \( -name "file5" -o -name "file9" \) -ls \為轉(zhuǎn)譯 不加會報錯
1466499 0 -rw-r--r-- 1 root root 0 6月 5 11:15 /root/dir1/file5
1466515 0 -rw-r--r-- 1 root root 0 6月 5 11:15 /root/dir1/file9

[root@localhost ~]# find /root/dir1 \( -name "file5" -o -name "file9" \) -exec rm -rvf {} \;
removed ‘/root/dir1/file5’
removed ‘/root/dir1/file9’

-exec和xargs的區(qū)別
 


2010-11-27 星期六 晴朗當(dāng)你在命令行執(zhí)行:
$find . -name 'core' -type f -exec rm {} /;
時,find -exec 命令會對每個匹配的文件執(zhí)行一個單獨的rm操作(execute a separate rm for each one), 正如你手動敲入下面命令:
rm ./bin/core
rm ./source/shopping_cart/core
rm ./backups/core
...但是使用這種方式,如果有100個文件匹配了,那么就需要啟100個進(jìn)程,一個進(jìn)程處理一個rm命令。一般來說,其越多進(jìn)程,意味著越耗性能。我們可以換個思路,我們將要刪除文件當(dāng)作參數(shù)傳遞給rm不就可以了嗎?也就是說:
rm ./bin/core
rm ./source/shopping_cart/core
rm ./backups/core
...改成:
rm ./bin/core ./source/shopping_cart/core ./backups/core但是前提是后面的命令必須支持多參數(shù)。相有些命令,比如unzip,就不支持輸入多個jar包,所以必須用-exec。
xargs,顧名思義,是對參數(shù)進(jìn)行處理的命令。它的任務(wù)就是將輸入行轉(zhuǎn)換成下一個命令的參數(shù)列表。因此上面的find -exec命令可以改寫成:
find . -name 'core' -type f -print | xargs rmWith this approach, xargs bundles together as many filename arguments as possible for submission to each invocation of rm that's needed, in compliance with the OS's maximum allowed size for an argument list. This means xargs is guaranteed not only to handle all the arguments, but also to use the smallest possible number of processes in doing so. For example, if each command can handle 100 arguments, and there are 110 filenames to process, there will be two invocations of the command, respectively handling 100 and 10 arguments.
其中操作系統(tǒng)允許的最大參數(shù)長度由如下命令得到:
forrest@ubuntu:~$ getconf ARG_MAX
2097152這意味著xargs保證不會因為參數(shù)過多而掛掉。所以目前看來唯一需要保證的就是后面的命令支持多參數(shù)。比如前面說過的unzip,就不支持多參數(shù),如果你使用xargs xxx.jar

相比之下,也不難看出各自的缺點
1、exec 每處理一個文件或者目錄,它都需要啟動一次命令,效率不好; 
2、exec 格式麻煩,必須用 {} 做文件的代位符,必須用 \; 作為命令的結(jié)束符,書寫不便。
3、xargs 不能操作文件名有空格的文件;

綜上,如果要使用的命令支持一次處理多個文件,并且也知道這些文件里沒有帶空格的文件,
那么使用 xargs比較方便; 否則,就要用 exec了。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
云計算面試常見問題,怎么理解shell?
軟件測試:快速學(xué)會操作目錄和文件的Linux命令(必讀一)
Linux find 強大的文件查找工具
命令2
云計算學(xué)習(xí)路線教程大綱課件:文件鏈接
[cygwin]cygwin常用命令及find命令說明
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服