系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux find命令

Linux find命令常見用法匯總(2)

時間:2014-12-04 10:34:34 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141204/31867.html 手機查看 評論

  查當(dāng)前目錄下的所有普通文件

  # find 。 -type f -exec ls -l {} \;

  -rw-r–r– 1 root root 34928 2003-02-25 。/conf/httpd.conf

  -rw-r–r– 1 root root 12959 2003-02-25 。/conf/magic

  -rw-r–r– 1 root root 180 2003-02-25 。/conf.d/README

  查當(dāng)前目錄下的所有普通文件,并在- e x e c選項中使用ls -l命令將它們列出

  =================================================

  在/ l o g s目錄中查找更改時間在5日以前的文件并刪除它們:

  $ find logs -type f -mtime +5 -exec -ok rm {} \;

  =================================================

  查詢當(dāng)天修改過的文件

 。踨oot@book class]# find 。/ -mtime -1 -type f -exec ls -l {} \;

  =================================================

  查詢文件并詢問是否要顯示

 。踨oot@book class]# find 。/ -mtime -1 -type f -ok ls -l {} \;

  《 ls … 。/classDB.inc.php 》 ? y

  -rw-r–r– 1 cnscn cnscn 13709 1月 12 12:22 。/classDB.inc.php

 。踨oot@book class]# find 。/ -mtime -1 -type f -ok ls -l {} \;

  《 ls … 。/classDB.inc.php 》 ? n

  [root@book class]#

  =================================================

  查詢并交給awk去處理

 。踨oot@book class]# who | awk ’{print $1”\t“$2}’

  cnscn pts/0

  =================================================

  awk—grep—sed

 。踨oot@book class]# df -k | awk ‘{print $1}’ | grep -v ’none’ | sed s”/\/dev\///g“

  文件系統(tǒng)

  sda2

  sda1

 。踨oot@book class]# df -k | awk ‘{print $1}’ | grep -v ’none’

  文件系統(tǒng)

  /dev/sda2

  /dev/sda1

  1)在/tmp中查找所有的*.h,并在這些文件中查找“SYSCALL_VECTOR”,最后打印出所有包含“SYSCALL_VECTOR”的文件名

  A) find /tmp -name “*.h” | xargs -n50 grep SYSCALL_VECTOR

  B) grep SYSCALL_VECTOR /tmp/*.h | cut -d’:‘ -f1| uniq 》 filename

  C) find /tmp -name “*.h” -exec grep “SYSCALL_VECTOR” {} \; -print

  2)find / -name filename -exec rm -rf {} \;

  find / -name filename -ok rm -rf {} \;

  3)比如要查找磁盤中大于3M的文件:

  find 。 -size +3000k -exec ls -ld {} ;

  4)將find出來的東西拷到另一個地方

  find *.c -exec cp ‘{}’ /tmp ‘;’

  如果有特殊文件,可以用cpio,也可以用這樣的語法:

  find dir -name filename -print | cpio -pdv newdir

  6)查找2004-11-30 16:36:37時更改過的文件

  # A=`find 。/ -name “*php”` | ls -l –full-time $A 2》/dev/null | grep “2004-11-30 16:36:37”

  Linux-all, Linux | No Comments »

  find 實例

  要在/usr/linux中查找所有的*.h,并在這些文件中查找“SYSCALL_VECTOR“,最后打印出所有包含”SYSCALL_VECTOR“的文件名,有以下幾種方法實現(xiàn)

  find /usr/linux -name ”*.h“ | xargs -n50 grep SYSCALL_VECTOR

  grep SYSCALL_VECTOR /usr/linux/*.h | cut -d’:’ -f1 | uniq 》 filename

  find /usr/linux -name ”*.h“ -exec grep ”SYSCALL_VECTOR“ {} \; -print

  我用find / -name filename| rm -rf,不成功,請問為什么不成功?

  find / -name filename -exec rm -rf {} \;

  find 。 -name filename |rm -rf試一下{} 表示你找出來的結(jié)果。

  \; 則相當(dāng)于“憲法”,沒什么說頭,就是這么規(guī)定的,在 -exec 后面需要一個表示該命令終結(jié)的的符號。可以在 man find 中找到答案。

  要讓rm識別find的結(jié)果,如下:

  find / -name filename |xargs rm -rf

  之所以find 。 -name filename |rm -rf不通過,是因為rm命令不接受從標(biāo)準(zhǔn)輸入傳過來的指令

  查找含特定字符串的文件

  例如查找當(dāng)前目錄下含有”the string you want find…“字符串的文件:

  $find 。 -type f -exec grep “the string you want find…” {} ; -print

  從根目錄開始查tmpfile,一旦查到馬上刪除

  find / -name ”tmpfile“ -exec rm {} \;

  find 的perm問題

  請問一下以下命令什么意思?關(guān)鍵是那個數(shù)字前的-,其他都還知道

  find -name ”.*“ -perm -007

  我知道

  find -name ”.*“ -perm 755

  這個是用來查找權(quán)限位為755的隱藏文件

  噢,對了還有,我上邊的命令都省略了find的pathname參數(shù) find默認是查找當(dāng)前工作目錄的嗎?

  如果我用 -ok 替代 -exec, 那么還需要加上 {} \; 嗎?

  這個已經(jīng)清楚,仍然需要,因為 -ok 只是 -exec 的提示模式,它只是多了一個確認操作的步驟,剛才沒有讀懂那幾句E文的意思 呵呵 不好意思

  -007是指查找所有用戶都可讀、寫、執(zhí)行的文件,要小心呀~~~

  解釋解釋?

  find -name ”.*“ -perm -007 和 find -name ”.*“ -perm 777 有區(qū)別嗎?

  -007是怎么來得呢?

  不過有一個問題

  我用 find 。 -perm -100 會列出當(dāng)前目錄 。 , 這是為什么呢?

  下面引用由explover在 2002/10/01 06:15am 發(fā)表的內(nèi)容:

  -007是指查找所有用戶都可讀、寫、執(zhí)行的文件,要小心呀~~~

  -007是查找含其它用戶(不同組,非屬主)可讀,寫,執(zhí)行的文件。并不一定要同組可讀寫,-是指最少權(quán)限為007.

  下面引用由一顆小白菜在 2002/10/01 10:16am 發(fā)表的內(nèi)容:

  OK了, 呵呵

  不過有一個問題

  我用 find 。 -perm -100 會列出當(dāng)前目錄 。 , 這是為什么呢?

  這種方法不會準(zhǔn)確的找出目錄的。 -100是指權(quán)限至少是屬主可運行。

  在unix系統(tǒng)下,你可以擁有對目錄文件的執(zhí)行權(quán)你才可以進入一個目錄。這便是目錄文件被列出的原因。

  find 。 -perm -001 -print找到往往是目錄文件。

  我的意思當(dāng)然不是使用這種方法來找目錄,只不過不明白其中的 -100 意義了

  那以此類推,是不是 -010是指權(quán)限至少是owner同組可執(zhí)行的嗎?也就是說其實這里的010和-是分開的,-表示一個至少的意思,而且010才是真正用來描述權(quán)限位的?

  這樣子就明白了 謝謝你噢

  將find出來的東西拷到另一個地方?

  find *.c -exec cp ‘{}’ /tmp ‘;’

  如果有特殊文件,可以用cpio,也可以用這樣的語法:

  find dir -name filename -print | cpio -pdv newdir

  找出磁盤中某個大小范圍內(nèi)的文件

  比如要查找磁盤中大于3M的文件:

  find 。 -size +3000k -exec ls -ld {} ;

標(biāo)簽 Linux 命令

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄