国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux find命令的使用技巧

2020-02-25 21:05:17
字體:
來源:轉載
供稿:網友

我們在使用linux系統的時候經常會使用到find命令,但是有很多人不會操作find命令,那么我們要如何使用linux系統中的find命令呢?現在就一起去看看Linux find命令的使用技巧吧。

find命令的工作方式是沿著文件層次結構向下遍歷,匹配符合條件的文件,并執行相應的操作。

1、根據文件名或正則表達式匹配搜索

選項-name的參數指定了文件名所必須匹配的字符串,我們可以將通配符作為參數使用,“*.txt”匹配所有以.txt結尾的文件名。

?

復制代碼
代碼如下:

[root@localhost test]# touch {data,log,file,File,LOG}_{1,2,3,4,5,6}_{.txt,.pdf,.log,.conf}
[root@localhost test]# find . -name "*.txt" –print

?

如果想匹配多個條件中的一個,可以使用-o參數。
?

復制代碼
代碼如下:
[root@localhost test]# find . /( -name "*.txt" -o -name "*.log" /)


選項-iname忽略字母大小寫
選項-path的參數可以使用通配符來匹配文件路徑或文件。

?

2、否定參數

find 用 “!”來否定參數,匹配所有不以.txt結尾的文件名。

?

復制代碼
代碼如下:

[root@localhost test]# find . ! -name "*.txt" –print

?

3、基于目錄深度的搜索

find命令在使用時會遍歷所有的子目錄,我們可以采用-maxdepth和-mindepth來限制find命令遍歷的深度。
-maxdepth: 指定最大深度;
-mindepth:指定最小深度。

?

復制代碼
代碼如下:
[root@localhost ~]# find . -maxdepth 1 -type f

?

列出當前目錄的所有普通文件,這兩個命令要緊跟在目標路徑之后。

4、根據文件類型搜索

?

復制代碼
代碼如下:
find . –type d –print

?

?

文件類型 類型參數
普通文件 f
符號文件 l
目錄 d
字符設備 c
塊設備 b
套接字 s
fifo p

?

5、根據文件時間進行搜索

Linux文件系統中每一個文件都有三種時間戳
訪問時間(-atime):用戶最近一次訪問文件的時間;
修改時間(-mtime):文件內容最后一次被修改的時間。
變化時間(-ctime):文件元數據(metadata,例如權限或所有權)最后一次改變的時間。
-atime,-mtime,-ctime作為時間參數,單位是天,可以使用+表示大于,-表示小于。

?

復制代碼
代碼如下:

[root@localhost ~]# find . -type f -atime 7
#打印出正好在7天前被訪問過的文件
[root@localhost ~]# find . -type f -mtime +7
#打印修改時間大于7天的文件
[root@localhost ~]# find . -type f -ctime -7
#打印出修改時間小于7天的文件

?

類似的參數還有,-amin(訪問時間),-mmin(修改時間),-cmin(變化時間),以分鐘為單位。
find另一個漂亮的特性是-newer參數,我們可以指定一個用于比較時間戳的參數文件,然后找出比參數文件更新的所有文件。
find . –type f –newer file.txt
p? 在當前目錄找出比file.txt修改時間更長的所有文件。
6、基于文件大小的搜索
搜索可以使用的單位
b——塊(512字節); c——字節;????? w——字(2字節);
k——千字節 ;?????? M——兆字節;?? G——吉字節。

?

復制代碼
代碼如下:
[root@localhost tmp]# find . -type f -size 2k
#等于2k的文件
[root@localhost tmp]# find . -type f -size +2k
#大于2k的文件
[root@localhost tmp]# find . -type f -size -2k
#小于2k的文件

?

7、刪除匹配的文件

-delete可以用來刪除find查找到的匹配文件。
?

復制代碼
代碼如下:
[root@localhost tmp]# find . -type f -name ".sWp" –delete
#刪除當前目錄下所有的.swp文件

?

8、基于文件權限和所有權的匹配

?

復制代碼
代碼如下:
[root@localhost tmp]# find . -type f -perm 644
#查找當前目錄權限為644的文件
[root@localhost tmp]# find . -type f -user reed
#查找當前目錄文件所有者為reed的文件

?

9、結合find 執行命令或動作

find命令可以借助選項-exec與其他命令進行結合。
?

復制代碼
代碼如下:

[root@localhost tmp]# find . -type f -user reed -exec chown cathy {} /;
#將當前目錄文件擁有者為reed的文件改為cathy

?

{ }是一個特殊的字符串,對于每一個匹配的文件,{ }會被替換成相應的文件名。
?

復制代碼
代碼如下:
[root@localhost test]# find . -type f -mtime +10 -name "*.log" -exec cp {} /data/bk_log /;
#將當前目錄大于10天的log文件復制到/data/bk_log目錄
[root@localhost test]# find /tmp/test/ -type f -name "*.txt" -exec printf "Text file: %s/n" {} /;
Text file: /tmp/test/File_6_.txt
Text file: /tmp/test/file_4_.txt
Text file: /tmp/test/data_3_.txt
Text file: /tmp/test/data_1_.txt
#列出目錄的所有txt文件

?

10、跳過指定的目錄

有時間我們查找時需要跳過一些子目錄
?

復制代碼
代碼如下:
[root@localhost test]# find . /( -name "jump_dir" -prune /) -o /( -type f -print /)
# /( -name "jump_dir" -prune /) 指定要跳過的子目錄的名字

以上就是Linux find命令的使用技巧,看完后你是否學會了呢?希望能對您有所幫助,小伙伴們有空可以來武林技術頻道,我們的網站上還有許多其它的資料等著小伙伴來挖掘哦!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘南县| 米林县| 珠海市| 莒南县| 嵊泗县| 息烽县| 河池市| 鹤山市| 宁陵县| 小金县| 石门县| 重庆市| 金阳县| 吴桥县| 伊吾县| 从江县| 荣昌县| 抚远县| 罗定市| 丹棱县| 屏东市| 甘南县| 土默特左旗| 巴里| 万荣县| 施甸县| 武隆县| 巴青县| 清苑县| 洛隆县| 淮阳县| 高安市| 鹿泉市| 昌江| 五峰| 巍山| 高尔夫| 行唐县| 德格县| 唐河县| 邵阳市|