今天繼續給大家介紹Linux基礎知識,本文主要內容是Linux四劍客之一的find,Linux四劍客是指find、grep、sed和awk,這些命令可以單獨作為命令使用,但是更廣泛的是應用于Linux的shell腳本中,利用這幾條命令可以使得shell腳本更加靈活,從而實作一些復雜腳本的撰寫,
一、find命令使用和引數
find命令主要是用于查找檔案,find可以根據檔案名、檔案屬性查找檔案,其中檔案屬性包括檔案大小、型別、時間、屬主(組)等,find命令在查找檔案時支持通配符,其主要引數如下:
-name 表示要查找的檔案名
-type 表示要查找的檔案型別,b表示塊檔案、d表示目錄、l表示鏈接檔案,f表示普通檔案
-size 表示要查找的檔案大小,+表示大于,-表示小于,單位可以為K、M和G
-user 表示要查找的檔案屬主
-group 表示要查找的檔案屬組
-mtime -atime -ctime 分別表示按照檔案的更改時間、訪問時間和創建時間來查找檔案,+表示大于,-表示小于,單位為天
-mmin -amin -cmin 分別表示按照檔案的更改時間、訪問時間和創建時間來查找檔案,+表示大于,-表示小于,單位為分鐘
-exec 后面跟bash命令,表示在查找到檔案后進行的操作
二、find命令使用示例
下面,我通過幾個find的命令示例,來給大家介紹一下find的用法
find /var -name *.log
find /root -ctime -1
find /root -size +1M -size -10M
上述三條命令含義依次為:
1、表示查找/var目錄下名字結尾是.log的檔案
2、表示查找/root目錄下創建時間在1天以內的檔案
3、表示查找/root目錄下大于1M但是小于10M的檔案
這幾條命令執行效果如下:



三、find命令與命令執行
上一章第一條命令,我們實作了查找所有的.log檔案,如果我們想把這些檔案都復制到某一檔案夾下,我們可以有兩種做法,
一種是使用管道符,后面跟xargs命令
find /var -name *.log | xargs -i cp {} /root/log_backup
另一種是使用find命令自帶的-exec引數,命令如下所示:
find /var -name *.log /root/log_backup \;
這兩種方式都可以實作將查找出來的檔案執行某寫命令,但是在執行順序上卻有所不同,-exec引數的方式是find命令自帶引數,每次找到指定的檔案,就會執行-exec后面的命令,但是采用xarfs的方式,則會等到find命令全部執行完畢后,再去執行相關命令,相比較而言,使用find引數自帶的-exec引數比較多,
原創不易,轉載請說明出處:https://blog.csdn.net/weixin_40228200
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/325863.html
標籤:其他
上一篇:怎么快速上手python機器學習,OpenCV、OpenGL、Pandas、Matplotlib、scikit—learn五大工具庫的參考手冊
