一天一個Linux命令--find

来源:https://www.cnblogs.com/mke2fs/archive/2019/01/14/10269027.html
-Advertisement-
Play Games

文件查找:(以find為主) which:查找命令字所在的位置 locate:模糊匹配(只要包含關鍵字的文件都查找出來) 不是實時的,基於資料庫查找, updatedb升級locate資料庫 查找速度特別快 find:查看文件或目錄的工具 實時查找 精確查找 遍歷整個指定目錄中的文件,速度很慢 支持 ...


文件查找:(以find為主)
  which:查找命令字所在的位置
  locate:模糊匹配(只要包含關鍵字的文件都查找出來)
         不是實時的,基於資料庫查找, updatedb升級locate資料庫
         查找速度特別快

  find:查看文件或目錄的工具
       實時查找
       精確查找
       遍歷整個指定目錄中的文件,速度很慢
       支持多種查找條件(屬主,屬組,許可權,文件名等)
       語法: find [find_path] [條件] [處理動作]
       find_path:如果不寫,預設在當前工作目錄查找
       條件:如果不寫,會查找出該路徑下所有的文件處理動作:預設列印到屏幕上 print

    條件:(匹配標準)

       -name file_name:根據文件名進行查找,區分大小寫
       -iname file_name:根據文件名進行查找,不區分大小寫
       -regex PATTERN:根據正則表達式的模式進行查找
       -user:通過屬主進行查找
       -group:通過屬組進程查找
       -uid UID:通過UID號進行查找
       -gid GID:通過GID號進行查找
       -nouser:查找沒有屬主的文件
       -nogroup:查找沒有屬組的文件
       -type:根據文件類型進行查找
       -b:塊設備
       -c:字元設備
       -d:目錄
       -f:文件
       -p:命名管道
       -s:套接字文件
       -l:鏈接文件
       -size [+ | -] k m g
       -size 5k:精確匹配
       +:大於
       -:小於

 


       根據時間戳進行查找: # stat file_name  //查看文件的時間戳
       

         -atime:時間單位為天,access時間
         -mtime:時間單位為天,modify時間
         -ctime:時間單位為天,change時間
         -mmin:時間單位為分鐘,modify時間
         -amin:時間單位為分鐘,access時間
         -cmin:時間單位為分鐘,change時間

 


       根據許可權查找:
         -perm MODE:
               MODE:644,精確匹配
               /MODE:任意一位匹配
               -MODE:文件許可權能夠完全包含此MODE時才能匹配

       條件組合:
         -a:同時滿足多個條件,比如查找屬主是tom並且許可權為644的文件
         -o:滿足一個條件即可,比如查找屬主是tom或者許可權為包含644的文件
         -not:不滿足條件的被查找出來

       出來動作:
         -print:預設動作,預設查找結果列印到屏幕
         -ls:預設以類似於ls -l的形式顯示結果的信息
         -ok COMMAND {} \;執行動作時提示用戶是否執行,必須以\;結尾,{}代表文件名占位符
         -exec COMMAND {} \;執行動作時不提示用戶直接執行,必須以\;結尾,{}代表文件名占位符


    查找條件通配符:
 *:通配任意個數的任意字元  

# find /etc/ -name "pass*"

# find /etc/ -name "*pass"
?:通配單個的任意字元     

 # find /etc/ -name "passw*"


1、查找/var目錄下屬主為root並且屬組為mail的所有文件;

find /var -user root -a -group mail


2、查找/usr目錄下不屬於root,bin,或student的文件;

find /usr -not -user root -a -not -user bin -a -not -user student
find /usr -not \( -user root -o -user bin -o -user student \)


3、查找/etc目錄下最近一周內內容修改過且不屬於root及student用戶的文件;

find /etc -mtime -7 -not \ ( -user root -o -user student \)
find /etc -mtime -7 -not -user root -a -not -user student

 


4、查找當前系統上沒有屬主或屬組且最近1天內曾被訪問過的文件,並將其屬主屬組均修改為root;

find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \; 



5、查找/etc目錄下大於1M的文件,並將其文件名寫入/tmp/etc.largefiles文件中;

find /etc -size +1M >> /tmp/etc.largefiles



6、查找/etc目錄下所有用戶都沒有寫許可權的文件,顯示出其詳細信息;

find /etc -not -perm /222 -ls    

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Docker的使用初探(二):Docker與.NET Core的結合 [TOC] 在二者的結合上,微軟官方給予了很大的支持,從官方發佈的一些文章和VS 2017在建立.NET Core項目時自帶的Docker選項都可以看出來,這也與Core的跨平臺特性有很大的關係,而Docker正是可以選擇以Lin ...
  • 連著兩天更新敘述性的文章大家可別以為我轉行了!哈哈!今天就繼續講講我們的.NET Core實戰項目之CMS系統的教程吧!這個系列教程拖得太久了,所以今天我就以菜單部分的增刪改查為例來講述下我的項目分層之間的協同工作吧!如果你覺得文中有任何不妥的地方還請留言或者加入DotNetCore實戰千人交流群6 ...
  • 以下代碼隨手寫的 並沒有大量測試 效率也有待提升 如果需要C#的請自行轉換 ...
  • 在學校以及企事業單位里由於各種調查研究的需要,經常會有各種各樣的調查問卷。在傳統的模式下人們不但要花費不少的時間印刷問卷,而且還要消耗大量的人力物力去發放和回收這些問卷,然後對調查問卷進行統計分析。由於人工操作調查問卷隨意性較大,容易產生遺漏問題。所以目前大多數的問卷調查都採用基於網頁的線上調查。 ...
  • 【譯】《C# Tips -- Write Better C#》 《C# 奇淫巧技 -- 編寫更優雅的 C#》 目錄 介紹(Introduction) 第一部分:各種奇淫巧技(Part 1: Assorted Tips) 使用 LINQ 合併 IEnumerable 序列(Merging IEnume ...
  • 數據載入 如下這樣的一個lamda查詢語句,不會立馬去查詢資料庫,只有當需要用時去調用(如取某行,取某個欄位、聚合),才會去操作資料庫,EF中本身的查詢方法返回的都是IQueryable介面。 鏈接:IEnumerable和IQueryable介面說明 其中聚合函數會影響數據載入,諸如:toList ...
  • 安裝過程就不寫了,記得安裝的路徑就行,接下來要用到。 修改配置文件 vim /etc/profile 設置環境變數 寫一個MYSQL_HOME,值為“mysql的安裝路徑” 在PATH後面加上$MYSQL_HOME/bin export後面加上MYSQL_HOME MYSQL_HOME=/usr/l ...
  • Nginx安裝: 一、編譯安裝 1、安裝相應軟體 yum install pcre pcre-devel openssl openssl-devel -y 2、檢查: rpm -aq pcre pcre-devel openssl openssl-devel 3、在網頁中搜索http://nginx ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...