一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深入Linux操作環(huán)境的find和exec用法

如意 ? 來源:良許Linux ? 作者:良許 ? 2020-10-08 14:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux下工作,find命令絕對(duì)是一個(gè)非常高頻的命令。我們可以用find命令來找到符合某些關(guān)鍵詞的文件,找到某些日期的文件,也可以設(shè)定一些正則表達(dá)式,找到一系列滿足該條件的文件。

但是,如果只有一個(gè)find命令的話,我們僅能將文件找出來,列在終端里。僅一個(gè)find命令還不足以再做進(jìn)一步的操作。

比如說,我們想把項(xiàng)目文件夾里的中間文件(*.o文件)找出來,再把它們?nèi)縿h除;再如,我們想把日志文件夾下3天以上的日志全部轉(zhuǎn)移到指定文件夾下;等等諸如此類的需求,還有非常多。

像這樣的,我們想用find命令找到相關(guān)文件,再作進(jìn)一步操作,該如何進(jìn)行呢?這時(shí)候exec命令就派上用場(chǎng)。

我們先來看看exec的基本用法。

-exec參數(shù)后面跟的就是我們想進(jìn)一步操作的命令,比如rm,mv等等。exec是以分號(hào)“;”作為結(jié)束標(biāo)識(shí)符的,考慮到各個(gè)系統(tǒng)平臺(tái)對(duì)分號(hào)的不同解釋,我們?cè)诜痔?hào)前再加個(gè)反斜杠,便于移植。而在分號(hào)前,通常也會(huì)有一對(duì)花括號(hào){},代表前面find命令查找出來的文件各。

我們直接通過幾個(gè)實(shí)例來講解find與exec聯(lián)合用法。為了演示的方便,我們假定有如下的一個(gè)項(xiàng)目文件夾:

深入Linux操作環(huán)境的find和exec用法

實(shí)例1:使用find命令查找相關(guān)文件后,再使用ls命令將它們的詳細(xì)信息列出來

我們現(xiàn)在想把當(dāng)前目錄下所有的.o文件全部找出來,并用 ls -l 命令將它們列出來。實(shí)現(xiàn)這個(gè)需求的命令如下:

find 。 -name “*.o” -type f -exec ls -l {} ;

結(jié)果如下:

深入Linux操作環(huán)境的find和exec用法

在這里,我們用find 命令匹配到了當(dāng)前目錄下的所有.o文件,并在 -exec 選項(xiàng)中使用 ls -l 命令將它們的詳細(xì)信息列出來。

實(shí)例2:使用find命令查找相關(guān)文件后,再使用rm命令將它們刪除

我們現(xiàn)在想把當(dāng)前目錄下所有的.o文件全部找出來,并用rm命令將它們刪除。實(shí)現(xiàn)這個(gè)需求的命令如下:

find 。 -name “*.o” -exec rm {} ;

執(zhí)行完這個(gè)命令后,該目錄下所有的.o文件都被刪除。由于這個(gè)動(dòng)作完成后也不會(huì)有任何提示,所以就沒有截圖的必要了。

實(shí)例3:使用-exec選項(xiàng)的安全模式,將對(duì)每個(gè)匹配到的文件進(jìn)行操作之前提示用戶

在實(shí)例2中,我們匹配到文件后就立刻執(zhí)行rm命令,這樣操作有些危險(xiǎn),因?yàn)槿绻坏┱`操作,有可能會(huì)引起災(zāi)難性的后果。

exec的安全模式就是為了避免這個(gè)問題而產(chǎn)生。它會(huì)在匹配到某個(gè)文件后,在進(jìn)行操作之前會(huì)先問一下你,經(jīng)過你的確認(rèn)它才會(huì)進(jìn)行相應(yīng)操作。

同樣的實(shí)例2的需求,如果采用安全模式的話,命令是這樣的:

find 。 -name “*.o” -ok rm {} ;

執(zhí)行結(jié)果如下:

深入Linux操作環(huán)境的find和exec用法

實(shí)例4:搜索匹配到的文件中的關(guān)鍵內(nèi)容

假如我現(xiàn)在有個(gè)很大型的項(xiàng)目(如Linux內(nèi)核),我想在里面搜索一個(gè)含有某關(guān)鍵字的文件。我們可以使用grep命令檢索所有的文件。這樣做肯定是可以的,但如果項(xiàng)目很大的話,這樣太耗時(shí)了,效率太低。

我們可以先用find命令找到所以相關(guān)文件,然后再用grep命令檢索那些文件即可。因?yàn)橐呀?jīng)使用find過濾一遍了,所以這樣操作會(huì)節(jié)約很多時(shí)間,提高效率。

命令如下:

find 。 -name “*.h” -exec grep -rns “hello” {} ;

結(jié)果如下:

深入Linux操作環(huán)境的find和exec用法

實(shí)例5:查找文件并移動(dòng)到指定目錄

這個(gè)需求就比較簡(jiǎn)單了。比如我現(xiàn)在想把所有的.o文件找出來,然后新他們mv到buil目錄。命令如

下:

find 。 -name “*.o” -exec cp {} build ;

結(jié)果如下:

深入Linux操作環(huán)境的find和exec用法

責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213845
  • Find
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    11866
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    372

    瀏覽量

    24221
  • 操作環(huán)境
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7138
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux find命令的用法

    可以很肯定地說,find 命令是 Linux 后臺(tái)開發(fā)人員必須熟知的操作之一,除非您使用的是 Windows Server。
    發(fā)表于 10-12 11:27 ?647次閱讀

    Linux find命令詳解

    find 命令是我們?nèi)粘9ぷ髦斜容^常用的Linux命令。全面的掌握這個(gè)命令可以使很多操作達(dá)到事半功倍的效果。如果對(duì)find命令有以下這些疑惑,本文都能幫你解決。
    發(fā)表于 11-30 10:11 ?1800次閱讀

    掌握find命令的這幾種用法,就沒有找不到的文件!

    今天浩道跟大家分享linux下關(guān)于find命令的幾種經(jīng)典用法,讓你在linux茫茫的文件海洋中可以找出任何想要的文件!
    發(fā)表于 12-06 14:19 ?963次閱讀

    #硬聲創(chuàng)作季 Linux云計(jì)算運(yùn)維:08 Find之-Exec和-Ok用法

    Linux操作系統(tǒng)exe
    Mr_haohao
    發(fā)布于 :2022年09月27日 23:05:29

    linuxfind命令用法 linux學(xué)習(xí)心得

    find命令用來在指定目錄下查找文件的命令,和locate不同,find命令是實(shí)時(shí)精確查找,不做模糊匹配,但是可以使用通配符查找,相對(duì)更精確。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果
    發(fā)表于 01-23 15:30

    [轉(zhuǎn)]find命令結(jié)合exec和xargs使用的區(qū)別

    使用的區(qū)別:使用-exec選項(xiàng)命令操作示例及結(jié)果如下:[code][root@oldboy ~]# find . -type f -exec echo oldboyedu { } \
    發(fā)表于 09-03 15:26

    深入理解SQLite3之sqlite3_exec及回調(diào)函數(shù)sqlite3

    深入理解SQLite3之sqlite3_exec及回調(diào)函數(shù)sqlite3:深入理解sqlite3_stmt 機(jī)制sqlite3: sqlite3_step 函數(shù)sqlite3
    發(fā)表于 11-04 07:11

    詳談Linuxfind命令

    findLinux 下最有用的命令之一,熟練的使用它對(duì)于提高工作效率很有幫助。下面介紹它的一些用法
    的頭像 發(fā)表于 06-23 09:43 ?3303次閱讀
    詳談<b class='flag-5'>Linux</b>的<b class='flag-5'>find</b>命令

    嵌入式Linux開發(fā)學(xué)習(xí)如何入門、如何深入?

    嵌入式Linux開發(fā)學(xué)習(xí)如何入門、如何深入?學(xué)習(xí)步驟如下:1、Linux 基礎(chǔ)安裝Linux操作系統(tǒng)Li
    發(fā)表于 10-21 10:21 ?10次下載
    嵌入式<b class='flag-5'>Linux</b>開發(fā)學(xué)習(xí)如何入門、如何<b class='flag-5'>深入</b>?

    17個(gè)linux高效運(yùn)維操作技巧

    今天浩道跟大家分享17個(gè)linux高效運(yùn)維操作技巧 ! 1、查找當(dāng)前目錄下所有以.tar結(jié)尾的文件然后移動(dòng)到指定目錄: ? find?.?-name?“*.tar”?-exec?mv
    的頭像 發(fā)表于 11-01 09:40 ?1519次閱讀

    find exec命令實(shí)例教程

    Linux find命令是根據(jù)指定條件搜索文件和目錄的絕佳工具。exec允許您對(duì)找到的文件執(zhí)行指定操作。
    的頭像 發(fā)表于 12-06 17:08 ?3266次閱讀

    7種LinuxFind命令的高級(jí)用法

    可以很肯定地說,find 命令是 Linux 后臺(tái)開發(fā)人員必須熟知的操作之一,除非您使用的是 Windows Server。
    的頭像 發(fā)表于 03-31 09:27 ?1377次閱讀

    linuxfind用法詳解

    Linux中, find 命令是一個(gè)非常強(qiáng)大的工具,用于在指定目錄下查找文件和目錄。下面是 find 命令的用法和詳細(xì)解釋: 語法: find
    的頭像 發(fā)表于 11-08 14:29 ?1087次閱讀

    linux常用命令及用法

    Linux是一種開源的操作系統(tǒng),它以穩(wěn)定、高效和安全的特點(diǎn)受到廣大用戶的喜愛。掌握Linux的常用命令及其用法對(duì)于操作系統(tǒng)的管理和開發(fā)都至關(guān)
    的頭像 發(fā)表于 11-17 09:47 ?979次閱讀

    Linux lsof命令的基本用法

    linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件、目錄,還可以查看進(jìn)程監(jiān)聽的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令的基本用法,本文中 demo 的演示
    的頭像 發(fā)表于 10-23 11:52 ?1318次閱讀
    <b class='flag-5'>Linux</b> lsof命令的基本<b class='flag-5'>用法</b>