真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux系統(tǒng)的下文件查找

Linux系統(tǒng)下文件查找

10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有江津免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1、which

(1)作用:用于查找并顯示給定命令的絕對(duì)路徑

(2)語法:which(選項(xiàng))(參數(shù))

(3)案例:

[root@localhost ~]# which cd       #查找cd命令的路徑

/usr/bin/cd

[root@localhost ~]# which cp       #查找cp命令的路徑

alias cp='cp -i'

            /usr/bin/cp

2、whereis

(1)作用:來定位指令的二進(jìn)制程序、源代碼文件和man手冊(cè)頁等相關(guān)文件的路徑。
(2)語法:whereis(選項(xiàng))(參數(shù))

(3)案例:

[root@dayi123 ~]# whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz

[root@dayi123 ~]# whereis shutdown

shutdown: /usr/sbin/shutdown /usr/share/man/man8/shutdown.8.gz

3、locate

(1)作用:查找文件或目錄

(2)查找原理:根據(jù)系統(tǒng)上預(yù)建的文件索引數(shù)據(jù)庫查找文件,依賴于事先構(gòu)建的索引,索引的構(gòu)建是在系統(tǒng)較為空閑時(shí)自動(dòng)進(jìn)行(周期性任務(wù))或管理員手動(dòng)更新數(shù)據(jù)庫(updatedb),索引構(gòu)建過程需要遍歷整個(gè)根文件系統(tǒng),極消耗資源

(3)工作特點(diǎn):查找速度快、模糊查找、非實(shí)時(shí)查找、搜索的是文件的全路徑,不僅僅是文件名、可能只搜索用戶具備讀取和執(zhí)行權(quán)限的目錄

(4)語法:locate (選項(xiàng))(參數(shù))

     參數(shù):-i 執(zhí)行區(qū)分大小寫的搜索

-n N只列舉前N個(gè)匹配項(xiàng)目

(5)案例:

[root@dayi123 ~]# locate install.log    #查找install.log文件

/root/install.log

/root/install.log.syslog

 [root@dayi123 ~]# locate -n 6 *.sh    #查找.sh結(jié)尾的文件,只顯示前6個(gè)

/etc/acpi/actions/power.sh

/etc/bash_completion.d/gdbus-bash-completion.sh

/etc/dhcp/dhclient.d/ntp.sh

/etc/profile.d/colorls.sh

/etc/profile.d/glib2.sh

/etc/profile.d/lang.sh

(6)更新數(shù)據(jù)庫:updatedb

locate對(duì)新建的文件查找不到,需要跟新數(shù)據(jù)庫后才能查找

[root@dayi123 ~]# touch dayi123.html

[root@dayi123 ~]# locate dayi123.html   #查找不到新建的文件

[root@dayi123 ~]# updatedb                      #更新數(shù)據(jù)庫

[root@dayi123 ~]# locate dayi123.html   #更新數(shù)據(jù)庫后才能正常查找新建文件

/root/dayi123.html

4、find

(1)作用:實(shí)時(shí)查找工具,通過遍歷指定路徑完成文件查找

(2)語法:find [OPTION]... [查找路徑] [查找條件] [處理動(dòng)作]

查找路徑:指定具體目標(biāo)路徑;默認(rèn)為當(dāng)前目錄

查找條件:指定的查找標(biāo)準(zhǔn),可以文件名、大小、類型、

權(quán)限等標(biāo)準(zhǔn)進(jìn)行;默認(rèn)為找出指定路徑下的所有文件

處理動(dòng)作:對(duì)符合條件的文件做操作,默認(rèn)輸出至屏幕

(3)查找條件:

1)根據(jù)文件名和inode查找:

條件:-name "文件名稱":支持使用*, ?, [], [^]

-iname "文件名稱":不區(qū)分字母大小寫

-inum n按inode號(hào)查找

-samefile name相同inode號(hào)的文件

-links n鏈接數(shù)為n的文件

-regex "PATTERN":以PATTERN匹配整個(gè)文件路徑字符串,而不僅僅是文件名稱

[root@dayi123 ~]# find . -name dayi123.html #當(dāng)前目錄下查找文件名為dayi123.html文件

./dayi123.html

 [root@dayi123 ~]# find . -inum 140370    #當(dāng)前目錄下查找inode號(hào)為140370的文件

./1.txt

[root@dayi123 ~]# find . -links 2           #當(dāng)前目錄下查找鏈接數(shù)為2的文件

./dayi123

./.ssh

2)根據(jù)屬主、屬組查找:

條件:-user USERNAME:查找屬主為指定用戶(UID)的文件

-group GRPNAME:查找屬組為指定組(GID)的文件

-uid UserID:查找屬主為指定的UID號(hào)的文件

-gid GroupID:查找屬組為指定的GID號(hào)的文件

-nouser:查找沒有屬主的文件

-nogroup:查找沒有屬組的文件

[root@dayi123 ~]# find /home/ -user dayi123   #查找屬主為dayi123的文件

/home/dayi123

/home/dayi123/.bashrc

/home/dayi123/.bash_profile

/home/dayi123/.bash_logout

/var/spool/mail/dayi123

[root@dayi123 ~]# find /home/ -group hehe   #查找屬組為hehe的文件

/home/hehe

/home/hehe/.bashrc

/home/hehe/.bash_profile

/home/hehe/.bash_logout

[root@dayi123 ~]# userdel hehe

[root@dayi123 ~]# find ./ -nourser

find: unknown predicate `-nourser'

[root@dayi123 ~]# find ./ -nouser           #查找沒有屬組的文件

./hehe.log

3)根據(jù)文件類型查找:

條件:-type TYPE:

f:普通文件

d:目錄文件

l:符號(hào)鏈接文件

s:套接字文件

b:塊設(shè)備文件

c:字符設(shè)備文件

p:管道文件

[root@dayi123 ~]# find . -type f     #查找當(dāng)前目錄下的文件     

./.bashrc

./1.txt

./.viminfo

./.bash_profile

./dayi123.html

./install.log

……

 [root@dayi123 ~]# find /bin/ -type f   #查找/bin/目錄下的鏈接文件

/bin/taskset

/bin/ipcalc

/bin/gunzip

/bin/uname

……

4)根據(jù)文件大小來查找:

條件:-size [+|-]#UNIT

常用單位:k, M, G

[root@dayi123 ~]# find /etc/sysconfig/ -size +5k  #查找/etc/sysconfig/下大于5k的文件

/etc/sysconfig/sysstat.ioconf

/etc/sysconfig/network-scripts/ifup-eth

……

 [root@dayi123 ~]# find /etc/sysconfig/ -size -4k#查找/etc/sysconfig/下小于4k的文件

/etc/sysconfig/grub

/etc/sysconfig/ntpdate

/etc/sysconfig/readahead

……

5)根據(jù)時(shí)間查找(根據(jù)時(shí)間戳):

以“天”為單位;

-atime [+|-]#,文件訪問時(shí)間

-mtime [+|-]#,文件修改時(shí)間

-ctime [+|-]#,更改文件屬性時(shí)間

以“分鐘”為單位:

-amin

-mmin

-cmin

[root@dayi123 ~]# find /home/ -mtime +9   #查找9天前修改過文件內(nèi)容的文件    

/home/dayi123/.bashrc

/home/dayi123/.bash_profile

/home/dayi123/.bash_logout

[root@dayi123 ~]# find /etc/sysconfig/ -mtime -7  #查找7天內(nèi)修改過文件內(nèi)容的文件

/etc/sysconfig/

/etc/sysconfig/grub

/etc/sysconfig/keyboard

/etc/sysconfig/cbq

/etc/sysconfig/i18n

[root@dayi123 ~]# find /etc/sysconfig/ -mtime 6  #今天起往前第6天修改過內(nèi)容的文件

/etc/selinux/targeted/modules/active/modules/firewallgui.pp

/etc/selinux/targeted/modules/active/modules/inn.pp

6)根據(jù)權(quán)限查找:

條件:-perm [/|-]MODE

MODE:精確權(quán)限匹配

/|+MODE:任何一類(u,g,o)對(duì)象的權(quán)限中只要能一位匹配即可,或關(guān)系,centos6位+,centos7為/

-MODE:每一類對(duì)象都必須同時(shí)擁有指定權(quán)限,與關(guān)系

用法說明:

find -perm 755 會(huì)匹配權(quán)限模式恰好是755的文件

只要當(dāng)任意人有寫權(quán)限時(shí),find -perm +|/222就會(huì)匹配

只有當(dāng)每個(gè)人都有寫權(quán)限時(shí),find -perm -222才會(huì)匹配

只有當(dāng)其它人(other)有寫權(quán)限時(shí),find -perm -002才會(huì)匹配

[root@dayi123 ~]# find ./ -perm 755  #匹配權(quán)限恰好是755的文件

./dayi123.txt

./dayi.txt

./hahl

[root@dayi123 ~]# find ./ -perm -222  #匹配所有用戶都有寫權(quán)限的文件

./test

[root@dayi123 ~]# find ./ -perm /222  #匹配任意人都有寫權(quán)限的文件

./.bash_logout

./.bash_profile

./.bashrc

./.cshrc

./.tcshrc

./anaconda-ks.cfg

    7)組合條件

組合條件:與:-a

或:-o

非:-not, !

v德·摩根定律:

(非 P) 或 (非 Q) = 非(P 且 Q)

(非 P) 且 (非 Q) = 非(P 或 Q)

[root@dayi123 ~]# find ./ -user dayi -not -group dayi

#查找屬主是dayi且屬組不是dayi的文件

./dayi.txt

[root@dayi123 ~]# find -not \( -user dayi -o -user dayi123 \)

#查找屬主不是dayi或?qū)僦鞑皇莇ayi123的文件         

.

./.bash_logout

./.bash_profile

./.bashrc

./.cshrc

./.tcshrc

(4)處理動(dòng)作:

1)-print:默認(rèn)的處理動(dòng)作,顯示至屏幕;

[root@dayi123 ~]# find ./ -name dayi.txt -print

./dayi.txt

2)-ls:類似于對(duì)查找到的文件執(zhí)行“l(fā)s -l”命令

[root@dayi123 ~]# find ./ -name dayi.txt -ls

68002599    4 -rwxr-xr-x   1 dayi     dayi123        22 Mar 31 15:56 ./dayi.txt

3)-delete:刪除查找到的文件;

[root@dayi123 ~]# find ./ -name dayi.txt –delete

4)-fls file:查找到的所有文件的長格式信息保存至指定文件中

[root@dayi123 ~]# find ./ -name dayi123.txt -fls dayi123.log

[root@dayi123 ~]# cat dayi123.log

68002562    4 -rwxr-xr-x   1 root     root           17 Mar 31 13:22 ./dayi123.txt

5)-ok COMMAND {} \; 對(duì)查找到的每個(gè)文件執(zhí)行由COMMAND指定的命令;

對(duì)于每個(gè)文件執(zhí)行命令之前,都會(huì)交互式要求用戶確認(rèn)

[root@dayi123 ~]# find ./ -name dayi123.log -ok ls -l {} \;

< ls ... ./dayi123.log > ? y

-rw-r--r--. 1 root root 83 Apr  7 18:36 ./dayi123.log

6)-exec COMMAND {} \; 對(duì)查找到的每個(gè)文件執(zhí)行由COMMAND指定的命令

{}:用于引用查找到的文件名稱自身

[root@dayi123 ~]# find ./ -name dayi123.log -exec ls -l {} \; 

-rw-r--r--. 1 root root 83 Apr  7 18:36 ./dayi123.log

7)有些命令不能接受過多參數(shù),此時(shí)命令執(zhí)行可能會(huì)失敗,可用find | xargs COMMAND方式規(guī)避此問題

[root@dayi123 ~]# find /var/ -type f | xargs ls -l

-rw-r--r--.   1 root root 64 Mar 29 06:49 /var/lib/yum/yumdb/d/1d144f3e96982fed47c4e94fde884e48172b8c3b-dbus-glib-0.100-7.el7-x86_64/checksum_data

-rw-r--r--. 322 root root  6 Mar 29 06:49 /var/lib/yum/yumdb/d/1d144f3e96982fed47c4e94fde884e48172b8c3b-dbus-glib-0.100-7.el7-x86_64/checksum_type

(5)find綜合案例

    1)查找/var目錄下屬主為root,且屬組為mail的所有文件

[root@dayi123 ~]# find /var/ -user root -a -group mail

/var/spool/mail

/var/spool/mqueue

/var/dayi

2)查找/usr目錄下不屬于root、lp、gdm的所有文件

[root@dayi123 ~]# find /usr/ -not \( -user root -o -user lp -o -user gdm \)

/usr/share/polkit-1/rules.d

[root@dayi123 ~]# find /usr -not -user root -a -not -user lp -a -not -user gdm

/usr/share/polkit-1/rules.d

3)、查找/var目錄下最近一周內(nèi)其內(nèi)容修改過,同時(shí)屬主不為root,也不是postfix的文件

[root@dayi123 ~]# find /etc -mtime -7 -a -not -user root -a -not -user postfix

[root@dayi123 ~]# find /etc/ -mtime -7 -a -not \( -user root -o -user postfix \)

4)查找/etc目錄下大于1M且類型為普通文件的所有文件

[root@dayi123 ~]# find /etc/ -size +1M -a -type f

/etc/udev/hwdb.bin

/etc/selinux/targeted/contexts/files/file_contexts.bin

/etc/selinux/targeted/policy/policy.29

5)查找/etc目錄下至少有一類用戶沒有執(zhí)行權(quán)限的文件

[root@dayi123 ~]# find /etc -not -perm -111

34676121   12 -rw-r--r--   1 root     root         8940 Apr  5 19:43 /etc/selinux/targeted/modules/active/modules/authconfig.pp

34769376   12 -rw-r--r--   1 root     root         8234 Apr  5 19:43 /etc/selinux/targeted/modules/active/modules/jockey.pp

          6)查找/etc目錄下所有用戶都沒有寫權(quán)限的文件

[root@dayi123 ~]# find /etc -not -perm /222 -ls

33766578  196 -r--r--r--   1 root     root       198453 Mar 29 06:44 /etc/pki/ca-trust/extracted/java/cacerts

67271661  352 -r--r--r--   1 root     root       359773 Mar 29 06:44 /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

7)查找/etc/init.d目錄下,所有用戶都有執(zhí)行權(quán)限,且其它用戶有寫權(quán)限的文件

[root@localhost ~]# find /etc/init.d/ -perm -111 -a -perm -002

[root@localhost ~]# find /etc/init.d/ -perm -113


文章題目:Linux系統(tǒng)的下文件查找
網(wǎng)址分享:http://weahome.cn/article/gppjos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部