Linux C/C++編程之(五)常用命令之文件搜索命令

一、最強大的搜索命令:find

find命令是Linux系統中用來進行文件搜索用的最多的命令,功能特別強大。但是能搜索到的文件特別多,所以儘量少用find命令,就算要搜索也應該儘量的縮小範圍,也不要在服務器使用高峯期進行文件搜索,因爲搜索也是很佔系統資源的。

  • 英文原意:
  • 命令所在路徑:/bin/find
  • 執行權限:所有用戶
  • 功能描述:進行各種花式文件搜索
  • 語法:
    • find 搜索範圍 匹配條件

注意:Linux搜索和windows是有明顯區別的,Linux嚴格區分文件大小寫。

1)根據 文件或目錄名稱 搜索

語法:

  • find 搜索目錄 -name或者-iname 搜索字符
  • -name和-iname的區別一個區分大小寫,一個不區分大小寫
find . -name "*.txt"  (模糊搜索) 

在這裏插入圖片描述
插播兩個通配符:
在這裏插入圖片描述
在這裏插入圖片描述

2)根據 文件大小 搜索

語法:

  • 在根目錄下查找大於 1024 的文件
find / -size +1024c
  • 這裏 +n 表示大於,-n 表示小於,n 表示等於

c 表示字節,k表示千字節,M表示兆字節

在這裏插入圖片描述

3)根據 所有者和所屬組 搜索

語法:

  • 在目錄下查詢所屬組爲 gxl 的文件
find ./ -group gxl
  • 在目錄下查詢所有者爲 gxl 的文件
find ./ -user gxl

在這裏插入圖片描述

4)根據 時間屬性 搜索

語法:

  • find 路徑 選項 時間
  • -amin 按文件訪問時間來查找文件
  • -cmin 按文件創建時間來查找文件
  • -mmin 按文件更改時間來查找文件
  • 時間:+n,-n,n分別表示超過n分鐘,n分鐘以內和n分鐘

例子:

  • 在目錄下查找60分鐘內被修改過屬性的文件和目錄
find ./ -mmin -60

在這裏插入圖片描述

5)根據 文件類型或i節點 搜索

語法:

  • -type 根據文件類型查找:f 表示文件,d 表示目錄,l 表示軟鏈接

例子:

  • 查找 ./ 目錄下文件類型是目錄的 find ./ -type d l f
    在這裏插入圖片描述

6)組合條件 搜索

這裏有兩個參數:

  • -a 表示兩個條件同時滿足(and)
  • -o 表示兩個條件滿足任意一個即可(or)

例子:

  • 查找/etc目錄下大於80MB同時小於100MB的文件
find ./ -size +1024c -a -type d -mmin +100

在這裏插入圖片描述
不加也可以!
在這裏插入圖片描述

二、在文件中搜尋字符串匹配的行並輸出:grep

  • 英文原意:
  • 命令所在路徑:/bin/grep
    在這裏插入圖片描述
  • 執行權限:所有用戶
  • 功能描述:在文件中搜尋字符串匹配的行並輸出
  • 語法:
    • grep -iv 指定字符串 文件
    • -i 不區分大小寫
    • -v 排除指定字符串

例子:

  • 查找文件中包含main字符串的行,並輸出
grep -n main hello

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章