歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Windows不能夠完成的任務 Unix工具Find卻可以

Windows不能夠完成的任務 Unix工具Find卻可以

日期:2017/2/28 16:47:14   编辑:Linux教程

Find無疑是Unix操作系統中功能最強大定位文件命令工具之一,其就好像是Windows操作系統中的文件搜索命令。如下圖,是Windows操作系統中的文件搜索對話框。從圖中可以看到,在Windows操作系統中,也可以通過各種選項來幫助系統工程師迅速定位文件。但是,在Unix操作系統中,Find命令不僅可以實現Window操作系統下所有的查找選項,還具有很多實用的參數。筆者今天就談談Unix操作系統下的Find命令可以采用哪些查詢條件來完成Windows操作系統所不能夠完成的查找任務。

  一、Find命令簡介。

  Find命令是Unix操作系統中的一個文件定位命令。它主要是按照遞歸模式,搜索整棵目錄樹,並根據某個條件來查找相關的文件;並對找到的文件按一定的規則進行處理。從這個官方定義中,可以看到Find命令基本上包括三個部分的內容,分別為搜索的目錄樹(即目錄,對應Window是操作系統中的從這裡尋找)、查找條件、以及查到後所需要進行的操作。在Windows操作系統中,前面兩部分內容也存在。但是在第三部分內容文件的處理上就相對來說薄弱一點。在Windows操作系統中對於找到的文件只是在終端中顯示出來。但是在Unix操作系統中,不僅可以把找到的文件在終端中顯示出來,而且還可以進行其它復雜的操作,如刪除或者備份等等。

  另外,光從第二個部分即查找條件來講,Find命令就比Windows操作系統下的查找命令參數要多的多。而且這些參數還很實用,可以幫助系統工程師迅速定位文件。這無論是在程序開發中又或者在系統維護中都有很大的價值。

  二、Find命令中Windows系統沒有的實用查找條件。

  1、 按節點數來查找文件。

  在Unix操作系統中,有一種叫做硬連接的文件管理技術,其跟Windows操作系統中的快捷方式類似,但是本質上是不同的。如在硬盤中存儲著一個文件,則在Unix操作系統中可以有多個指針指向這個文件,這個就是硬連接。這跟快捷方式是不同的。如現在有一個文件A,系統工程師在Windows操作系統下建立了一個快捷方式B。此時雖然也可以通過B打開文件A,但是B與A是兩個不同的文件。在B中存儲的是文件A的位置信息。但是如果在Unix操作系統中,如果文件A創建了一個硬連接B,則系統工程師也可以通過文件B來打開文件A。其實,此時這兩個文件是同一個文件。在Unix操作系中,是通過節點數來管理文件的。一個文件具有一個節點數,不同的文件節點數則是不同的。為此文件A與文件B所對應的節點數是相同的。

在Unix操作系統中規定,一個節點數如果有多個文件的話這個文件是不能夠被刪除的。故可以通過這個規則來防止重要文件被誤刪除。但是如果有時候系統工程師真的要刪除這文件,但是又不知道這個文件到底保存在那些地方時,就需要用到這個Find命令。可以利用這個命令,根據文件的節點數來查找文件的位置。如利用命令find / -inum 12345 –print即可。其中參數-inum就表示以節點數來定位文件,後面的12345就是文件的實際節點數。在Windows操作系統中,則沒有這個功能。

Copyright © Linux教程網 All Rights Reserved