亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 785 | 回復: 0
打印 上一主題 下一主題

簡述Linux操作系統(tǒng)文件搜索 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-07-07 16:35 |只看該作者 |倒序瀏覽

  1 、關于搜索;
  在Linux文件系統(tǒng)中,搜索概念有兩種,一種是搜索文件名,另一種是在一個文件中搜索指定的內(nèi)容;這兩種搜索,我們都簡要的介紹一下,但不一定極為專業(yè)。想到哪寫到哪;
  2、通過搜索文件名來查找文件;
  有的弟兄經(jīng)常會說文件都放在哪里了,我怎么查找文件?其實這里說的意思就是通過文件名來查找文件所處的位置;搜索文件名,我們常用的工具有find、locate、where等,F(xiàn)在我們簡單的說一說這幾個工具在文件系統(tǒng)中,通過查找文件名的方法來查看其所在的位置;
  2.1 find ;
  find 路徑 -name 文件名
  舉例:比如在/etc中搜索vsftpd.conf文件;
  [root@localhost ~]# find /etc -name vsftpd.conf
  find 更為詳細的說明請參考: 《Linux文件查找命令find,xargs詳述》
  find 是最強勁的搜索工具,用法也比較靈活,而不是僅僅找一個文件名這個功能。
  2.2 locate
  locate 是用來通過文件名搜索文件的工具,它的用法也比較簡單。locate 的應用,首先要通過updatedb建立索引數(shù)據(jù)庫,然后才能應用;如果您新安裝了軟件或者存放了新的文件,也要先運行updatedb命令,以生成最新索引庫。
  用法:
  locate 文件名
  我們要先運行updatedb;
  [root@localhost ~]# updatedb
  舉例: 我們要找vsftpd.conf文件都位于哪個位置;
  [root@localhost ~]# locate vsftpd.conf
  /etc/vsftpd/vsftpd.conf
  /home/beinan/vsftpd.conf
  /root/.vsftpd.conf.swp
  /root/vsftpd.conf
  /root/vsftpd.config
  /usr/share/doc/vsftpd-2.0.4/EXAMPLE/INTERNET_SITE/vsftpd.conf
  /usr/share/doc/vsftpd-2.0.4/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
  /usr/share/doc/vsftpd-2.0.4/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
  /usr/share/logwatch/default.conf/logfiles/vsftpd.conf
  /usr/share/logwatch/default.conf/services/vsftpd.conf
  /usr/share/man/man5/vsftpd.conf.5.gz
  2.3 whereis 和which
  2.3.1 where
  whereis 是來尋找命令的二進制文件,同時也會找到其幫助文件;
  比如我們不知道fdisk工具放在哪里,我們就可以用whereis fdisk 來查找;
  [root@localhost ~]# whereis fdisk
  fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz
  如果我們尋找grub在哪里,應該用如下命令,說明grub位于/sbin目錄,他的幫助文件是grub.8.gz ,也就是man grub;
  [root@localhost ~]# whereis grub
  grub: /sbin/grub /etc/grub.conf /usr/share/grub /usr/share/man/man8/grub.8.gz
  2.3.2 which
  which 和where 相似,只是我們所設置的環(huán)境變量中設置好的路徑中尋找;比如;
  [root@localhost ~]# which fdisk
  /sbin/fdisk
3、在一個文件或輸出中查找;
  有時我們?yōu)榱斯芾矸⻊掌,可能要查看一些日志文件或管理指令的輸出,并抽取出來;這時我們要用到more和grep、egrep、|(管道),如果要輸出到一個文件中, 還要用到 > 。
  比如我們查看/var/log/message 文件,并查找5月8號的日志;我們應該用如下的命令組合;
  [root@localhost ~]# cat /var/log/messages |grep 'May 8' |more
  注意:因為May和8之間有兩個空格,所以得用''號括起來。
  如果我們想把查看到的結(jié)果輸出到一個文件中,應該用 > 輸出到文件;
  [root@localhost ~]# cat /var/log/messages |grep 'May 8' > ~/message0508.txt
  [root@localhost ~]# more ~/message0508.txt
  上面的例子,是我們首先用 cat 來查看/var/log/message 的內(nèi)容,然后抽取帶有 May 8字樣的行,然后輸出到用戶家目錄下的 message0508.txt文件中,然后再用more來查看message0508.txt文件內(nèi)容;
  從一個輸出結(jié)果中查找
  我們也可以從一個輸出的結(jié)果中查找所需要的內(nèi)容,請看下面的例子;
  [root@localhost ~]# ls -lh
  總計 24M
  -rwxr-xr-x 1 root root 545 04-25 11:21 adduml02.sh
  -rwxr-xr-x 1 root root 545 2004-01-18 adduml.sh
  -rw-rw-rw- 1 root root 0 04-25 14:26 dood
  drwxr-xr-t 2 root root 4.0K 04-24 21:59 googledir
  -rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh
  -rw-r--r-- 1 root root 31K 05-08 13:47 message0508.txt
  drwxr-xr-x 2 root root 4.0K 04-21 12:46 mkuml-2004.07.17
  -rwxr-xr-x 1 root root 67K 04-22 14:13 mkuml-2004.07.17-ananas.tar.bz2
  drwxr-xr-x 2 root 502 4.0K 04-25 09:08 mydir
  -rw-r--r-- 1 root root 7.9M 04-27 20:35 myfile.img
  -rw-r--r-- 1 root root 4.0M 04-27 20:37 myfileSpaa
  -rw-r--r-- 1 root root 3.9M 04-27 20:37 myfileSpab
  -rw-r--r-- 1 root root 7.9M 04-27 20:38 newmyfile.img
  drwxrw-rw- 2 root root 4.0K 04-25 14:22 sundir
  drwxr-xr-x 2 root root 4.0K 04-25 09:20 testdir
  -rwxr-xr-x 1 root root 613 03-26 18:41 upgrade.log
  -rw------- 1 root root 4.0K 04-29 20:12 vsftpd.conf
  -rw-r--r-- 1 root root 4.0K 04-29 20:23 vsftpd.config
  -rw-r--r-- 1 root root 100 04-27 16:14 xaa
  在ls -lh 的輸出結(jié)果中,查看帶有04-27字樣的行,我們看到帶有04-27字樣的行都出來了。04-27在這里表示文件創(chuàng)建或最后修改(訪問)的時間。符合這一特征的都在里面。
  [root@localhost ~]# ls -lh |grep '04-27' |more
  -rw-r--r-- 1 root root 7.9M 04-27 20:35 myfile.img
  -rw-r--r-- 1 root root 4.0M 04-27 20:37 myfileSpaa
  -rw-r--r-- 1 root root 3.9M 04-27 20:37 myfileSpab
  -rw-r--r-- 1 root root 7.9M 04-27 20:38 newmyfile.img
  -rw-r--r-- 1 root root 100 04-27 16:14 xaa
  查找正在運行的程序:
  這也是從一個輸出中查找的例子,先用ps 來列出所有正在運行中的進程,然后通過grep 來提取。下面的例子中查找是否有gaim程序在運行;
  [root@localhost ~]# ps -aux |grep gaim
  Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.6/FAQ
  beinan 2682 0.0 4.0 152644 30188 ? S 08:59 0:16 gaim
  root 5660 0.0 0.0 5160 720 pts/1 S+ 13:58 0:00 grep gaim
  從上面的例子,我們可以看到的確有gaim運行,進程號是2682 。如果想殺掉gaim怎么辦?應該有kill 2682 或killall gaim
  [root@localhost ~]# kill 2682
  或
  [root@localhost ~]# killall gaim
  對于進程的查找,也可以用pgrep 來進行;比如我們查找gaim;
  [root@localhost ~]# pgrep gaim
  2682
  等價于;
  [root@localhost ~]# ps -aux |grep gaim
  Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.6/FAQ
  beinan 2682 4.4 2.3 105000 17504 ? S 14:05 0:02 gaim
  root 5716 0.0 0.0 5156 712 pts/1 R+ 14:06 0:00 grep gaim
  4、關于本文;
  關于查找的命令和工具說起來比較復雜,本文也僅僅是一個入門性的文檔。如果只是通過文件名來查找到他位置,我感覺還是用locate好一點。有時find太費時間 ;
  這篇文章本來僅僅是寫文件和目錄的搜索的,后來我想到:可能有的弟兄要學一點指定關健字在一個文件或輸出中查找。所以又寫了一點在一個文件或輸出中查找所需要的內(nèi)容。看上去本文有點拼湊的感覺,是不是太隨意了?
  5、參考文檔;
  man 和help
  6、相關文檔;
  《Linux 文件內(nèi)容查看工具介紹》
  《關于Linux 文件系統(tǒng)中路徑的理解》
  《Linux 文件和目錄管理之列出、刪除、復制、移動及改名》
  《Linux 文件類型 及文件的擴展名》
  《簡述Linux 文件系統(tǒng)的目錄結(jié)構》
  《Linux 用戶(user)和用戶組(group)管理概述》
  《Linux 文件和目錄的屬性》


本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/24409/showart_1075176.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP