成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>軟件教程>>操作系統>>新聞內容
Linux中文件查找技術大全
作者:佚名 發布時間:2004-5-11 9:44:36 文章來源:ChinaITLab BBS

  每一種操作系統都是由成千上萬個不同種類的文件所組成的。其中有系統本身自帶的文件,用戶自己的文件,還有共享文件等等。我們有時候經常忘記某份文件放在硬盤中的哪個地方。在微軟的WINDOWS操作系統中要查找一份文件是相當簡單的事情,只要在桌面上點擊“開始”-“搜索”中就能按照各種方式在本地硬盤上,局域網絡,甚至在INTERNET上查找各種文件,文檔。

  可是使用Linux的用戶就沒有那么幸運了,在Linux上查找某個文件確實是一件比較麻煩的事情。畢竟在Linux中需要我們使用專用的“查找”命令來尋找在硬盤上的文件。Linux下的文件表達格式非常復雜,不象WINDOWS,DOS下都是統一的AAAAAAA.BBB格式那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后綴就非常容易查找到。Linux中查找文件的命令通常為“find”命令,“find”命令能幫助我們在使用,管理Linux的日常事務中方便的查找出我們需要的文件。對于Linux新手來說,“find”命令也是了解和學習Linux文件特點的方法。因為Linux發行版本繁多,版本升級很快,在Linux書籍上往往寫明某個配置文件的所在位置,往往Linux新手按圖索驥還是不能找到。比如說REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盤位置和文件目錄就有了很大的改變,如果不學會使用“find”命令,那么在成千上萬的Linux文件中要找到其中的一個配置文件是相當困難的,筆者在沒有精通“find”命令之前就吃過這樣的苦頭。好,下面就詳細為大家介紹強大的“find”命令的全部使用方法和用途。

  通過文件名查找法:

  這個方法說起來就和在WINDOWS下查找文件一樣容易理解了。如果你把這個文件放在單個的文件夾里面,只要使用常見的“ls"命令就能方便的查找出來,那么使用“find”命令來查找它就不能給你留下深刻的印象,畢竟“find”命令的強大功能不止這個。如果知道了某個文件的文件名,而不知道這個文件放到哪個文件夾,甚至是層層套嵌的文件夾里。舉例說明,假設你忘記了httpd.conf這個文件在系統的哪個目錄下,甚至在系統的某個地方也不知道,則這是可以使用如下命令:

  find / -name httpd.conf

  這個命令語法看起來很容易就明白了,就是直接在find后面寫上 -name,表明要求系統按照文件名查找,最后寫上httpd.conf這個目標文件名即可。稍等一會系統會在計算機屏幕上顯示出查找結果列表:
etc/httpd/conf/httpd.conf

  這就是httpd.conf這個文件在Linux系統中的完整路徑。查找成功。
  如果輸入以上查找命令后系統并沒有顯示出結果,那么不要以為系統沒有執行find/ -name httpd.conf命令,而可能是你的系統中沒有安裝Apache服務器,這時只要你安裝了Apache Web服務器,然后再使用find / -name httpd.conf就能找到這個配置文件了。

  無錯誤查找技巧:

  在Linux系統中“find”命令是大多數系統用戶都可以使用的命令,并不是ROOT系統管理員的專利。但是普通用戶使用“find”命令時也有可能遇到這樣的問題,那就是Linux系統中系統管理員ROOT可以把某些文件目錄設置成禁止訪問模式。這樣普通用戶就沒有權限用“find”命令來查詢這些目錄或者文件。當普通用戶使用“find”命令來查詢這些文件目錄是,往往會出現"Permissiondenied."(禁止訪問)字樣。系統將無法查詢到你想要的文件。為了避免這樣的錯誤,我們可是使用轉移錯誤提示的方法嘗試著查找文件,輸入
find / -name access_log 2>/dev/null

  這個方法是把查找錯誤提示轉移到特定的目錄中去。系統執行這個命令后,遇到錯誤的信息就直接輸送到stderrstream 2 中,access_log 2就是表明系統將把錯誤信息輸送到stderrstream 2中,/dev/null是一個特殊的文件,表明空的或者錯誤的信息,這樣查詢到的錯誤信息將被轉移了,不會再顯示了。

  在Linux系統查找文件也會遇到這樣一個實際問題。如果我們在整個硬盤,這個系統中查找某個文件就要花費相當長的一段時間,特別是大型Linux系統和容量較大的硬盤,文件放在套嵌很深的目錄中的時候。如果我們知道了這個文件存放在某個大的目錄中,那么只要在這個目錄中往下找就能節省很多時間了。使用find /etc -name httpd.conf 就可以解決這個問題。上面的命令就是表示在etc目錄中查詢httpd.conf這個文件。這里再說明一下“/ ”這個函數符號的含義,如果輸入 “find/ ”就是表示要求Linux系統在整個ROOT目錄下查找文件,也就是在整個硬盤上查找文件,而“find/etc”就是只在 etc目錄下查找文件。因為“find/etc”表示只在etc目錄下查找文件,所以查找的速度就相應要快很多了。

  根據部分文件名查找方法:
  這個方法和在WINDOWS中查找已知的文件名方法是一樣的。不過在Linux中根據部分文件名查找文件的方法要比在WINDOWS中的同類查找方法要強大得多。例如我們知道某個文件包含有srm這3個字母,那么要找到系統中所有包含有這3個字母的文件是可以實現的,輸入:

  find /etc -name '*srm*'

  這個命令表明了Linux系統將在/etc整個目錄中查找所有的包含有srm這3個字母的文件,比如 absrmyz, tibc.srm等等符合條件的文件都能顯示出來。如果你還知道這個文件是由srm 這3個字母打頭的,那么我們還可以省略最前面的星號,命令如下:

  find/etc -name 'srm*'

  這是只有像srmyz 這樣的文件才被查找出來,象absrmyz或者 absrm這樣的文件都不符合要求,不被顯示,這樣查找文件的效率和可靠性就大大增強了。

  根據文件的特征查詢方法:

  如果只知道某個文件的大小,修改日期等特征也可以使用“find”命令查找出來,這和WINDOWS系統中的"搜索"功能是基本相同的。在微軟的"搜索"中WINDOWS中的"搜索助理"使得搜索文件和文件夾、打印機、用戶以及網絡中的其他計算機更加容易。它甚至使在Internet 上搜索更加容易。"搜索助理"還包括一個索引服務,該服務維護了計算機中所有文件的索引,使得搜索速度更快。使用"搜索助理"時,用戶可以指定多個搜索標準。例如,用戶可以按名稱、類型及大小搜索文件和文件夾。用戶甚至可以搜索包含特定文本的文件。如果用戶正使用 Active Directory,這時還可以搜索帶有特定名稱或位置的打印機。

  例如我們知道一個Linux文件大小為1,500 bytes,那么我們可是使用如下命令來查詢find / -size 1500c,字符 c 表明這個要查找的文件的大小是以bytes為單位。如果我們連這個文件的具體大小都不知道,那么在Linux中還可以進行模糊查找方式來解決。例如我們輸入find/ -size +10000000c 這個命令,則標明我們指定系統在根目錄中查找出大于10000000字節的文件并顯示出來。命令中的“+”是表示要求系統只列出大于指定大小的文件,而使用“-”則表示要求系統列出小于指定大小的文件。下面的列表就是在Linux使用不同“ find"命令后系統所要作出的查找動作,從中我們很容易看出在Linux中使用“find"命令的方式是很多的,“ find"命令查找文件只要靈活應用,絲毫不必在WINDOWS中查找能力差。

  find / -amin -10 # 查找在系統中最后10分鐘訪問的文件
  find / -atime -2 # 查找在系統中最后48小時訪問的文件
  find / -empty # 查找在系統中為空的文件或者文件夾
  find / -group cat # 查找在系統中屬于 groupcat的文件
  find / -mmin -5 # 查找在系統中最后5分鐘里修改過的文件
  find / -mtime -1 #查找在系統中最后24小時里修改過的文件
  find / -nouser #查找在系統中屬于作廢用戶的文件
  find / -user fred #查找在系統中屬于FRED這個用戶的文件


  下面的列表就是對find命令所可以指定文件的特征進行查找的部分條件。在這里并沒有列舉所有的查找條件,參考有關Linux有關書籍可以知道所有find命令的查找函數。
  -amin n
  查找系統中最后N分鐘訪問的文件
  -atime n
  查找系統中最后n*24小時訪問的文件
  -cmin n
  查找系統中最后N分鐘被改變狀態的文件
  -ctime n
  查找系統中最后n*24小時被改變狀態的文件
  -empty
  查找系統中空白的文件,或空白的文件目錄,或目錄中沒有子目錄的文件夾
  -false
  查找系統中總是錯誤的文件
  -fstype type
  查找系統中存在于指定文件系統的文件,例如:ext2 .
  -gid n
  查找系統中文件數字組 ID 為 n的文件
  -group gname
  查找系統中文件屬于gnam文件組,并且指定組和ID的文件

  Find命令的控制選項說明:
  Find命令也提供給用戶一些特有的選項來控制查找操作。下表就是我們總結出的最基本,最常用的find命令的控制選項及其用法。
  選項
  用途描述
  -daystart
  .測試系統從今天開始24小時以內的文件,用法類似-amin
  -depth
  使用深度級別的查找過程方式,在某層指定目錄中優先查找文件內容
  -follow
  遵循通配符鏈接方式查找; 另外,也可忽略通配符鏈接方式查詢
  -help
  顯示命令摘要
  -maxdepth levels
  在某個層次的目錄中按照遞減方法查找
  -mount
  不在文件系統目錄中查找, 用法類似 -xdev.
  -noleaf
  禁止在非UNUX文件系統,MS-DOS系統,CD-ROM文件系統中進行最優化查找
  -version
  打印版本數字
  

  使用-follow選項后,find命令則遵循通配符鏈接方式進行查找,除非你指定這個選項,否則一般情況下find命令將忽略通配符鏈接方式進行文件查找。

  -maxdepth選項的作用就是限制find命令在目錄中按照遞減方式查找文件的時候搜索文件超過某個級別或者搜索過多的目錄,這樣導致查找速度變慢,查找花費的時間過多。例如,我們要在當前(.)目錄技巧子目錄中查找一個名叫fred的文件,我們可以使用如下命令

  find . -maxdepth 2 -name fred

  假如這個fred文件在./sub1/fred目錄中,那么這個命令就會直接定位這個文件,查找很容易成功。假如,這個文件在./sub1/sub2/fred目錄中,那么這個命令就無法查找到。因為前面已經給find命令在目錄中最大的查詢目錄級別為2,只能查找2層目錄下的文件。這樣做的目的就是為了讓find命令更加精確的定位文件,如果你已經知道了某個文件大概所在的文件目錄級數,那么加入-maxdepth n 就很快的能在指定目錄中查找成功。

  使用混合查找方式查找文件
  find命令可以使用混合查找的方法,例如我們想在/tmp目錄中查找大于100000000字節并且在48小時內修改的某個文件,我們可以使用-and 來把兩個查找選項鏈接起來組合成一個混合的查找方式。
  find /tmp -size +10000000c -and -mtime +2

  學習過計算機語言的朋友都知道,在計算機語言里,使用and ,or 分別表示“與”和“或”的關系。在Linux系統的查找命令中一樣通用。
  還有這樣的例子,
  find / -user fred -or -user george

  我們可以解釋為在/tmp目錄中查找屬于fred或者george這兩個用戶的文件。
  在find命令中還可以使用“非”的關系來查找文件,如果我們要在/tmp目錄中查找所有不屬于panda的文件,使用一個簡單的
  find /tmp ! -user panda
  命令就可以解決了。很簡單。

  查找并顯示文件的方法
  查找到某個文件是我們的目的,我們更想知道查找到的文件的詳細信息和屬性,如果我們采取現查找文件,在使用LS命令來查看文件信息是相當繁瑣的,現在我們也可以把這兩個命令結合起來使用。

  find / -name "httpd.conf" -ls

  系統查找到httpd.conf文件后立即在屏幕上顯示httpd.conf文件信息。
  12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf

  下面的表格就是一些常用的查找文件并顯示文件信息的參數和使用方法
  選項
  用途描述
  -exec command;
  查找并執行命令
  -fprint file
  打印文件完整文件名
  -fprint0 file
  打印文件完整文件名包括空的文件
  -fprintf file format
  打印文件格式
  -ok command;
  給用戶命令執行操作,根據用戶的Y 確認輸入執行
  -printf format
  打印文件格式
  -ls
  打印同種文件格式的文件.


  總結:到這里為止我們已經學習了這名多關于find命令的使用方法,也列出了很多常用的find命令的選項,如果我們能熟練掌握在Linux中find命令的使用方法,那么在Linux中查找文件也不是一件困難的事情。


最新更新
·教你刪除Windows 7自動創建的
·檢測你的計算機是否能運行Wi
·如何安裝Windows 7 RC的中文
·解決Vista關閉UAC后邊欄無法
·Windows 7 RC新功能XP Mode詳
·Windows7操作系統硬件配置要
·wubi安裝Ubuntu 9.04失敗的原
·如何修改Windows7的軟件默認
·在Windows7在硬盤升級Window
·vista在硬盤下全新安裝Windo
相關信息
·wubi安裝Ubuntu 9.04失敗的原因及解決方法
·Linux文件系統Ext2,Ext3,Ext4性能大比拼
·RedHat Linux 9架設FTP服務器方法
·如何在Linux系統下加載U盤或移動硬盤
·Linux操作系統上攝像頭的使用小技巧
·Linux系統下ADSL撥號上網方法
·如何實現Linux與windows的文件互傳
·如何共享兩臺Linux操作系統的根目錄
·實現Linux與windows文件互傳
·技巧:優化Linux系統硬盤
放生
愚愛
夠愛
觸電
白狐
心跳
知足
犯錯
降臨
分愛
葬愛
光榮
畫心
火花
稻香
愛得起
這種愛
大丈夫
花蝴蝶
二缺一
小酒窩
下雨天
右手邊
安靜了
棉花糖
明天過后
邊做邊愛
擦肩而過
沒有如果
懷念過去
等一分鐘
越來越愛
寂寞暴走
你的承諾
Nobody
我們都一樣
永遠在身邊
天使的翅膀
原諒我一次
i miss you
原諒我一次
吻的太逼真
姑娘我愛你
做你的愛人
一定要愛你
飛向別人的床
愛上別人的人
感動天感動地
心在跳情在燒
不潮不用花錢
如何能把你忘記
即使知道要見面
愛上你是一個錯
最后一次的溫柔
愛上你是我的錯
怎么會狠心傷害我
親愛的那不是愛情
傷心時候可以聽情歌
愛上你等于愛上了錯
不是因為寂寞才想你
主站蜘蛛池模板: 赫章县| 凌云县| 文登市| 平远县| 富川| 鹤峰县| 凤阳县| 铁力市| 松潘县| 台前县| 舒城县| 桐城市| 剑阁县| 大港区| 建宁县| 金门县| 金堂县| 北京市| 哈尔滨市| 广西| 旬邑县| 竹溪县| 淳安县| 周至县| 江山市| 南通市| 万宁市| 师宗县| 渝北区| 乌什县| 蛟河市| 沧州市| 临汾市| 桐乡市| 扬州市| 蕲春县| 五台县| 乌鲁木齐县| 许昌县| 南通市| 孝昌县|