最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell查找命令find和grep的具體使用

 更新時(shí)間:2023年03月23日 11:12:50   作者:道教儒佛電磁波  
本文主要介紹了 Shell查找命令find和grep的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

第一節(jié) 文件查找之find命令

語(yǔ)法格式:find [路徑] [選項(xiàng)] [操作]

在這里插入圖片描述

在這里插入圖片描述

常用選項(xiàng)

# - name 查找/etc目錄下以conf結(jié)尾的文件 區(qū)分大小寫
find /etc -name '*conf'
# -iname 查找當(dāng)前目錄下文件名為aa的文件,不區(qū)分大小寫 
find . -iname aa
# -user 查找文件屬主為hdfs的所有文件
find . -user hdfs
# -group 查找文件屬組為yarn的所有文件
find . -group yarn

# -type
# f 文件 find . -type f
# d 目錄 find . -type d
# c 字符設(shè)備文件 find . -type c
# b 塊設(shè)備文件 find . -type b
# l 鏈接文件 find . -type 1
# 管道文件 find . -type p

# -size
# -n 大小小于n的文件
# +n 大小大于n的文件
# n 大小等于n的文件
# 例子1:查找/etc目錄下小于1000字節(jié)的文件
find /etc -size -10000c
# 例子2:查找/etc目錄下大于1M的文件
find /etc -size +1M

# -mtime
# -n天以內(nèi)修改的文件
# +n n天以外修改的文件
# n 正好n天修改的文件
# 例子1:查找/etc目錄下5天之內(nèi)修改且以conf結(jié)尾的文件 
find /etc -mtime -5 -name '*.conf'
# 例子2:查找/etc目錄下10天之前修改且屬主為root的文件
find /etc -mtime +10 -user root 

# -mmin 
# -n n分鐘以內(nèi)修改的文件
# +n n分鐘以外修改的文件
# 例子1:查找/etc目錄下30分鐘之前修改的文件
find /etc -mmin +30
# 例子2:查找/etc目錄下30分鐘之內(nèi)修改的目錄
find /etc -mnin -30 -type d

# -mindepth n 表示從n級(jí)子目錄開始搜索
# 例子:在/etc下的3級(jí)子目錄開始搜索
find /etc -mindepth 3

# -maxdepth n 表示最多搜索到n-1級(jí)子目錄
# 例子1:在/etc下搜索符合條件的文件,但最多搜索到2級(jí)子目錄
find /etc -maxdepth 3 -name '*.conf'
# 例子2:
find ./etc/ -type f -name '*.conf' -size +10k -maxdepth 2

了解選項(xiàng)

# -nouser 查找沒(méi)有屬主的用戶
find . -type f -nouser
# -nogroup 查找沒(méi)有屬組的用戶
find . -type f -nogroup
# -perm 根據(jù)權(quán)限查找
find . -perm 664
# -prune 通常和-path一起使用,用于將特定目錄排除在搜索條件之外
# 例子1:查找當(dāng)前目錄下所有普通文件,但排除etc目錄
find . -path ./etc -prune -o -type f
# 例子2:查找當(dāng)前目錄下所有普通文件,但排除etc和opt目錄
find . -path ./etc -prune -o -path ./opt -prune -o -type f
# 例子3:查找當(dāng)前目錄下所有普通文件,但排除etc和opt目錄,但屬主為hdfs
find . -path ./etc -prune -o -path ./opt -prune -o type f -a -user hdfs
# 例子4:查找當(dāng)前目錄下所有普通文件,但排除etc和opt目錄,但屬主為hdfs,且文件大小必須大于500字
find . -path ./etc -prune -o -path ./opt -prune -o -type f -a -user hdfs -a -size +500c

# -newer file1 比f(wàn)ile1新的文件
find /etc -newer a

對(duì)查找到的文件操作

# -print 打印輸出

# -exec 對(duì)搜索到的文件執(zhí)行特定的操作,格式為-exec 'command'{} \; 
# {} 表示前面搜索到的結(jié)果 固定寫法{} \
# 例子1:搜索/etc下的文件(非目錄),文件名以conf結(jié)尾且大于10k,然后將其刪除
find ./etc/ -type f -name '*.conf' -size +10k -exec rm -f {} \;
# 例子2:將/var/1og/目錄下以1og結(jié)尾的文件,且更改時(shí)間在7天以上的刪除
find /var/log/ -name '*.1og' -mtime +7 -exec rm -rf {} \;
# 例子3:搜索條件和例子1一樣,只是不刪除,而是將其復(fù)制到/root/conf目錄下
find ./etc/ -size +10k -type f -name '*.conf' -exec cp {} /root/conf/ \;

# -ok 和exec功能一樣,只是每次操作都會(huì)給用戶提示
# 邏輯運(yùn)算符:
# -a 與
# -o 或
# -not|! 非
# 例子1:查找當(dāng)前目錄下,屬主不是hdfs的所有文件
find . -not -user hdfs | find .! -user hdfs
# 例子2:查找當(dāng)前目錄下,屬主屬于hdfs,且大小大于300字節(jié)的文件
find . -type f -a -user hdfs -a -size +300c
# 例子3:查找當(dāng)前目錄下的屬主為hdfs或者以xm1結(jié)尾的普通文件
find . -type f -a \( -user hdfs -o -name '*.xml')

第二節(jié) find、locate、whereis和which總結(jié)

locate命令介紹:

  • 文件查找命令,所屬軟件包mlocate
  • 不同于find命令是在整塊磁盤中搜索,locate命令在數(shù)據(jù)庫(kù)文件中查找
  • find就會(huì)很影響IO性能,locate會(huì)歸檔到數(shù)據(jù)庫(kù)中,文件查找就會(huì)很快。
  • find是默認(rèn)全部匹配,locate則是默認(rèn)部分匹配

通過(guò)updatedb命令及時(shí)更新locate命令的數(shù)據(jù)庫(kù),做到及時(shí)查到,否則就要等到它自動(dòng)歸檔到數(shù)據(jù)庫(kù)中。

yum -y install mlocate
# 用戶更新/var/lib/mlocate/mlocate.db
# 所使用配置文件/etc/updatedb.conf
# 該命令在后臺(tái)cron計(jì)劃任務(wù)中定期執(zhí)行
updatedb # 會(huì)遍歷整個(gè)文件系統(tǒng) 會(huì)比較慢
locate my.cnf

whereis

  • -b 只返回二進(jìn)制文件
  • -m 只返回幫助文檔文件
  • -s 只返回源代碼文件
whereis mysql
whereis -b mysql
whereis -m mysql

which 作用∶僅查找二進(jìn)制程序文件

-b 只返回二進(jìn)制文件

which mysql

在這里插入圖片描述

第三節(jié) grep和egrep

第一種形式: grep [option] [pattern] [file1,file2...]

第二種形式:command \ grep [option] [pattern]

在這里插入圖片描述

在這里插入圖片描述

# 必須掌握的選項(xiàng):
# -v 最示不匹配pattern的行 排除包含字符的內(nèi)容
# -i 搜索時(shí)忽略大小寫
# -n 顯示行號(hào)
# -E 支持?jǐn)U展的正則表達(dá)式
# -F 不支持正則表達(dá)式,按字符串的字面意思進(jìn)行匹配
# -r 遞歸搜索

# file
i love python
.lovelove 
python lovelove
LOVE PYTHON
Love pYtHoN

grep python file # file文件包含python的行
grep -v python file # file文件不包括python的文件
grep -iv python file # file文件不包括python的文件 忽略大小寫
grep -n python file # file文件包含python的行 并顯示行號(hào)

# 下面的|就是拓展正則表達(dá)式
grep "python | PYTHON" file 
grep -E "python | PYTHON" file 

# -F 不支持正則表達(dá)式,按字符串的字面意思進(jìn)行匹配
grep "py.*" file
grep -F "py.*" file

# 需了解的選項(xiàng):
# -c 只輸出匹配行的數(shù)量,不顯示具體內(nèi)容
# -w 匹配整詞
# -x 匹配整行
# -l 只列出匹配的文件名,不顯示具體匹配行內(nèi)容
grep -c python file
grep -w love file
grep -x "i love python" file

grep和egrep:

  • grep默認(rèn)不支持?jǐn)U展正則表達(dá)式,只支持基礎(chǔ)正則表達(dá)式使用
  • grep -E可以支持?jǐn)U展正則表達(dá)式
  • 使用egrep可以支持?jǐn)U展正則表達(dá)式,與grep -E等價(jià)

到此這篇關(guān)于 Shell查找命令find和grep的具體使用的文章就介紹到這了,更多相關(guān) Shell查找命令find和grep內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • shell語(yǔ)言date的用法實(shí)例

    shell語(yǔ)言date的用法實(shí)例

    這篇文章主要介紹了shell語(yǔ)言關(guān)于date的一些用法,幫助大家更好的理解和學(xué)習(xí)shell語(yǔ)言,感興趣的朋友可以了解下
    2020-11-11
  • 一文詳解Linux權(quán)限的相關(guān)知識(shí)

    一文詳解Linux權(quán)限的相關(guān)知識(shí)

    Linux權(quán)限是用來(lái)管理文件和目錄訪問(wèn)權(quán)限的機(jī)制,每個(gè)文件和目錄都有一個(gè)所有者和一個(gè)所屬組,同時(shí)也有針對(duì)所有者、所屬組和其他用戶的權(quán)限設(shè)置,本篇文章將講授Linux的權(quán)限相關(guān)的知識(shí),需要的朋友可以參考下
    2023-09-09
  • 詳解systemctl?和?service?區(qū)別及命令

    詳解systemctl?和?service?區(qū)別及命令

    systemctl和service都是管理Linux系統(tǒng)服務(wù)的工具,但systemctl更加先進(jìn),可以方便地管理systemd服務(wù),而service適用于管理傳統(tǒng)的SysV服務(wù),這篇文章主要介紹了systemctl和service區(qū)別及命令,需要的朋友可以參考下
    2023-07-07
  • Linux BASH多進(jìn)程并行處理的方法實(shí)現(xiàn)

    Linux BASH多進(jìn)程并行處理的方法實(shí)現(xiàn)

    Linux下BASH多進(jìn)程并行處理的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2013-01-01
  • shell腳本測(cè)試某網(wǎng)段內(nèi)主機(jī)連通性

    shell腳本測(cè)試某網(wǎng)段內(nèi)主機(jī)連通性

    這篇文章主要介紹了shell腳本測(cè)試某網(wǎng)段內(nèi)主機(jī)連通性,需要的朋友可以參考下
    2017-10-10
  • Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問(wèn)題)

    Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問(wèn)題)

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問(wèn)題),本文給出3個(gè)Shell腳本和一個(gè)Python腳本解決亂序排列文件內(nèi)容問(wèn)題,需要的朋友可以參考下
    2015-01-01
  • 詳解adb shell 常用命令

    詳解adb shell 常用命令

    這篇文章主要介紹了詳解adb shell 常用命令,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • shell腳本5種執(zhí)行方式及腳本不同的執(zhí)行方法和區(qū)別詳解

    shell腳本5種執(zhí)行方式及腳本不同的執(zhí)行方法和區(qū)別詳解

    我們都知道bash?shell?腳本的方法有多種,下面這篇文章主要給大家介紹了關(guān)于shell腳本5種執(zhí)行方式及腳本不同的執(zhí)行方法和區(qū)別的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng)

    Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng)

    本篇文章給大家介紹Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng),主要設(shè)計(jì)到linux下安裝run文件格式nvidia顯卡驅(qū)動(dòng)方面的知識(shí)點(diǎn),對(duì)linux下安裝run文件格式nvidia顯卡驅(qū)動(dòng)感興趣的朋友可以參考下本文
    2015-10-10
  • Linux 命令expect使用詳解

    Linux 命令expect使用詳解

    expect是由Don Libes基于Tcl語(yǔ)言開發(fā)的,是一種腳本語(yǔ)言,主要應(yīng)用于自動(dòng)化交互式操作的場(chǎng)景,借助Expect處理交互的命令,本文給大家介紹Linux 命令expect使用詳解,感興趣的朋友一起看看吧
    2023-11-11

最新評(píng)論

渭南市| 伊宁县| 沅江市| 平山县| 广德县| 威海市| 太湖县| 榆社县| 时尚| 景宁| 九龙县| 延吉市| 楚雄市| 漯河市| 浮山县| 永平县| 凤阳县| 永兴县| 来宾市| 偃师市| 丹江口市| 台中县| 永兴县| 德江县| 松阳县| 福鼎市| 桂东县| 和平县| 张家界市| 富川| 济南市| 长顺县| 望都县| 蚌埠市| 高碑店市| 卫辉市| 祁门县| 海门市| 上高县| 新邵县| 太和县|