RM新时代网站-首页

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

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

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

7種Linux中Find命令的高級(jí)用法

dyquk4xk2p3d ? 來源:良許Linux ? 2023-03-31 09:27 ? 次閱讀

可以很肯定地說,find命令是 Linux 后臺(tái)開發(fā)人員必須熟知的操作之一,除非您使用的是 Windows Server。

對(duì)于技術(shù)面試,它也是一個(gè)熱門話題。讓我們看一道真題:

如果你的 Linux 服務(wù)器上有一個(gè)名為logs的目錄,如何刪除該目錄下最后一次訪問時(shí)間超過一年的日志文件呢?

這種情況很常見,但令人驚訝的是,并非每個(gè)開發(fā)人員都能在面試中清楚地寫出這個(gè)命令。

答案:首先我們需要使用cd命令進(jìn)入對(duì)應(yīng)的目錄,然后,命令如下:

find.-typef-atime+365-execrm-rf{};

如果你還沒有完全理解上面的命令,完全不用擔(dān)心。本文將介紹find命令的 7 個(gè)實(shí)際用途,您最終會(huì)掌握它。如果您已經(jīng)知道了,那么閱讀這篇文章對(duì)您來說將是一個(gè)很好的回顧。

1. 按名稱或正則表達(dá)式查找文件

讓我們從最簡(jiǎn)單的用法開始。要按特定名稱搜索文件,命令如下:

find.-nametest.txt

如何查找所有格式為 pdf 的書籍?使用正則表達(dá)式:

find./yang/books-name"*.pdf"

默認(rèn)情況下,find 命令會(huì)搜索常規(guī)文件,但最好進(jìn)行指定(-type f)以使所有內(nèi)容更清晰:

find./yang/books-typef-name"*.pdf"

2. 查找不同類型的文件

除了搜索常規(guī)文件外,我們還可以通過指定-type選項(xiàng)來搜索其他類型的文件。

例如目錄:

find.-typed-name"yang*"

或者符號(hào)鏈接:

find.-typel-name"yang*"

3.按指定的時(shí)間戳查找文件

要按指定的時(shí)間戳搜索文件,我們需要知道 Linux 系統(tǒng)中的 3 個(gè)不同的時(shí)間戳:

訪問時(shí)間戳(atime):最后一次讀取文件的時(shí)間。

修改時(shí)間戳 (mtime):文件內(nèi)容最后一次被修改的時(shí)間。

更改時(shí)間戳 (ctime):上次更改文件元數(shù)據(jù)的時(shí)間(如,所有權(quán)、位置、文件類型和權(quán)限設(shè)置)

所以,正如開頭提到的面試題,要搜索atime超過一年的文件,我們可以編寫如下命令:

find.-typef-atime+365

如果我們需要查找mtime正好是 5 天前的文件,請(qǐng)不要包含+,因?yàn)樗囊馑际恰按笥凇薄?/p>

find.-typef-mtime5

顯然,+表示“大于”,-表示“小于”。所以我們可以搜索ctime在 5~10 天前的文件:

find.-typef-ctime+5-ctime-10

4. 按大小查找文件

-size選項(xiàng)使我們能夠按指定大小查找文件。我們可以將其計(jì)量單位指定為以下約定:

b:512 字節(jié)塊(默認(rèn))

c:字節(jié)

w:雙字節(jié)字

k:千字節(jié)

M:兆字節(jié)

G:千兆字節(jié)

類似于按時(shí)間戳查找文件,+表示“大于”,-表示“小于”。例如,要查找大小為 10 MB ~ 1 GB 的文件:

find.-typef-size+10M-size-1G

5. 按權(quán)限查找文件

合理控制文件的權(quán)限是 Linux 管理員的一項(xiàng)重要任務(wù)。find命令的-perm選項(xiàng)可以幫助我們按指定權(quán)限查找文件:

find.-typef-perm777

例如,上面的命令會(huì)搜索所有具有 777 權(quán)限的文件,這意味著一個(gè)文件對(duì)其持有者、組和所有用戶具有所有的讀、寫和可執(zhí)行權(quán)限。

6. 按所有權(quán)查找文件

這個(gè)任務(wù)很簡(jiǎn)單。我們可以使用-user選項(xiàng)指定用戶名。例如,以下命令將查找所有屬于yang的文件:

find-typef-useryang

7. 在找到文件后執(zhí)行命令

在大多數(shù)情況下,我們希望在找到我們需要的文件后進(jìn)行后續(xù)操作。例如將其刪除,或檢查它們的詳細(xì)信息等等。-exec命令使這些所有事情變得更加容易。

現(xiàn)在,要了解如何使用它,讓我們回到之前提到的面試問題:

find.-typef-atime+365-execrm-rf{};

上述命令在-exec選項(xiàng)后是rm -rf,其用于刪除文件。{}是用于查找結(jié)果的占位符。

注意:占位符{}非常重要,尤其是在您想刪除文件時(shí)。因?yàn)椋绻皇褂盟?,該命令將?duì)所有文件執(zhí)行(而不是您剛剛通過 find 命令找到的文件)。

做一個(gè)嘗試,請(qǐng)?jiān)诮K端上執(zhí)行以下兩個(gè)命令,并檢查它們的結(jié)果有何不同:

一個(gè)使用占位符:

find.-typef-atime+5-execls{};

另一個(gè)不使用:

find.-typef-atime+5-execls;

-exec 選項(xiàng)后面的命令必須以分號(hào)(;)結(jié)束。眾所周知,轉(zhuǎn)義字符用于去除單個(gè)字符的特殊含義。在 Linux 中,反斜杠用作轉(zhuǎn)義字符。所以我們將它用于分號(hào)字符。

總結(jié)

看完find命令的 7 種用法后,開始提到的面試題現(xiàn)在好像很容易解決了。你現(xiàn)在可以直接寫下它的答案并將其解釋清楚嗎?

find.-typef-atime+365-execrm-rf{};

審核編輯:湯梓紅

聲明:本文內(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

    文章

    11290

    瀏覽量

    209291
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9119

    瀏覽量

    85312
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3541

    瀏覽量

    88609
  • Find
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    11649
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    683

    瀏覽量

    22011
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux find命令用法

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

    Linux find命令詳解

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

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

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

    linuxcomm命令用法

    linux系統(tǒng)comm命令用法詳解 linux系統(tǒng)下的comm命令是一個(gè)非常實(shí)用的文件對(duì)比
    發(fā)表于 07-04 08:22

    Linux文件查找命令find,xargs詳述

    Linux文件查找命令find,xargs詳述 前言:關(guān)于find命令 由于find具有強(qiáng)大的功
    發(fā)表于 11-07 11:17 ?0次下載

    Linux的35個(gè)find命令用法

    Linux查找命令Linux系統(tǒng)中最重要和最常用的命令之一。查找用于根據(jù)與參數(shù)匹配的文件指定的條件來搜索和查找文件和目錄列表的命令
    的頭像 發(fā)表于 02-02 16:53 ?3661次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b>的35個(gè)<b class='flag-5'>find</b><b class='flag-5'>命令</b><b class='flag-5'>用法</b>

    詳談Linuxfind命令

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

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

    Linux下工作,find命令絕對(duì)是一個(gè)非常高頻的命令。我們可以用find命令來找到符合某些關(guān)
    的頭像 發(fā)表于 10-08 14:50 ?5435次閱讀
    深入<b class='flag-5'>Linux</b>操作環(huán)境的<b class='flag-5'>find</b>和exec<b class='flag-5'>用法</b>

    Ping命令7個(gè)基礎(chǔ)用法

    IT行業(yè)ping命令經(jīng)常被用到,今天整理了一下關(guān)于網(wǎng)絡(luò)基礎(chǔ)知識(shí)的網(wǎng)絡(luò)命令ping命令在項(xiàng)目中是使用頻率最高的,一般我們用的都是它的基本功
    的頭像 發(fā)表于 10-12 09:16 ?3933次閱讀

    find命令查找技巧

    find命令是我們?nèi)粘9ぷ髦斜容^常用的Linux命令。全面的掌握這個(gè)命令可以使很多操作達(dá)到事半功倍的效果。如果對(duì)
    的頭像 發(fā)表于 03-20 09:33 ?791次閱讀

    Linuxfind命令7用法

    如果你的 Linux 服務(wù)器上有一個(gè)名為 logs 的目錄,如何刪除該目錄下最后一次訪問時(shí)間超過一年的日志文件呢?   這種情況很常見,但令人驚訝的是,并非每個(gè)開發(fā)人員都能在面試清楚地寫出這個(gè)命令。
    發(fā)表于 03-31 09:27 ?536次閱讀

    Linux系統(tǒng)維護(hù)命令用法

    Linux有很多命令,每個(gè)命令基本可以用一篇文章介紹,本文僅簡(jiǎn)單總結(jié)一些常用系統(tǒng)維護(hù)命令用法
    的頭像 發(fā)表于 04-17 14:57 ?1035次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)維護(hù)<b class='flag-5'>命令</b>的<b class='flag-5'>用法</b>

    linuxfind用法詳解

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

    linux常用命令用法

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

    Linux lsof命令的基本用法

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