1. 程式人生 > >你知道怎麽用find嗎?[root@MOMOCO-02 ~]# find /etc/ -name s

你知道怎麽用find嗎?[root@MOMOCO-02 ~]# find /etc/ -name s

linux

2.23 find命令

[root@MOMOCO-02 ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

【我們之前說過這個命令可以搜索一個命令是否有別名,也可以找到他的絕對路徑在哪裏。他是在環境變量PATH裏面找的】

[root@MOMOCO-02 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@MOMOCO-02 ~]# whereis ls

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

【這也是一個搜索的命令,他搜索的不是特別全。他是在一個庫裏面的找的這個庫可能每天在指定的時間更新。只有你更新了才可能找到你想要的一些東西。】

[root@MOMOCO-02 ~]# mlocate

-bash: mlocate: 未找到命令

【這也是一個搜索的命令,和whereis比較像】

[root@MOMOCO-02 ~]# yum install -y mlocate

【安裝這個命令】

[root@MOMOCO-02 ~]# locate ls

locate: 無法執行 stat () `/var/lib/mlocate/mlocate.db': 沒有那個文件或目錄

【他會提示你你沒有/var/lib/mlocate/mlocate.db庫你沒法搜索,這個庫一般會在早上的4點生成】

[root@MOMOCO-02 ~]# updatedb

【手動生成/var/lib/mlocate/mlocate.db庫】

[root@MOMOCO-02 ~]# ls

123 2_1.txt 2.txt 3 3.txt 3.txt~ anaconda-ks.cfg

[root@MOMOCO-02 ~]# locate 123

/root/123

/root/123/12

/root/123/gyblinux

/root/123/gyblinux.txt

/root/123/12/1.txt

/root/123/12/3

/usr/lib/modules/3.10.0-693.el7.x86_64/kernel/drivers/media/dvb-frontends/cx24123.ko.xz

/usr/lib64/gconv/IBM1123.so

/usr/share/man/man1/perl5123delta.1.gz

/usr/share/perl5/pod/perl5123delta.pod

【這個命令搜索的不是特別精準。他會把你想搜索的字符全部列出來】


小知識:快捷鍵

crtl+l【清屏】

ctrl+c【取消】

ctrl+u【刪除光標前面的東西】

ctrl+a【把光標移動到最前面】

ctrl+e【把光標移動到最後面】


find命令格式:find 路徑 選項


[root@MOMOCO-02 ~]# find /etc/ -name sshd_config

/etc/ssh/sshd_config

【當我們不知道一個配置文件的路徑時,我們可以用名字-name 名字去搜索。】

[root@MOMOCO-02 ~]# find /etc/ -name sshd*

/etc/ssh/sshd_config

/etc/systemd/system/multi-user.target.wants/sshd.service

/etc/sysconfig/sshd

/etc/pam.d/sshd

【如果你不完全知名字是啥?你可以用*通配符模糊搜索。】

[root@MOMOCO-02 ~]# find /etc/ -type f -name sshd*

/etc/ssh/sshd_config

/etc/sysconfig/sshd

/etc/pam.d/sshd

[root@MOMOCO-02 ~]# find /etc/ -type d -name sshd*

【-type表示你想要搜索的東西是什麽類型的。後面加d代表目錄,加f代表文件,加l代表軟連接文件,加b代表塊設備文件,加c代表設備文件】

[root@MOMOCO-02 ~]# find /etc/ -type l

/etc/pki/ca-trust/source/ca-bundle.legacy.crt

/etc/pki/java/cacerts

/etc/pki/tls/cert.pem

........

/etc/rc2.d

/etc/rc3.d

/etc/rc4.d

/etc/rc5.d

/etc/rc6.d

/etc/pam.d/smtp

/etc/pam.d/system-auth

/etc/pam.d/postlogin

/etc/pam.d/password-auth

/etc/pam.d/fingerprint-auth

/etc/pam.d/smartcard-auth

/etc/ssl/certs

/etc/grub2.cfg

技術分享圖片

[root@MOMOCO-02 ~]# find /dev/ -type c

/dev/vsock

/dev/vcsa6

/dev/vcs6

/dev/vcsa5

/dev/vcs5

/dev/vcsa4

.......

/dev/null

/dev/mem

/dev/vga_arbiter

技術分享圖片

[root@MOMOCO-02 ~]# find /dev/ -type b

/dev/sr0

/dev/sda3

/dev/sda2

/dev/sda1

/dev/sda

技術分享圖片


-mtime、-ctime、-atime

[root@MOMOCO-02 ~]# stat 2.txt

File: '2.txt'

Size: 19 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33617208 Links: 2

Access: (0700/-rwx------) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2017-12-21 21:30:22.825933901 +0800

Modify: 2017-12-21 21:29:51.200993908 +0800

Change: 2017-12-21 21:34:38.596530480 +0800

Birth: -

【詳細的顯示一個文件或目錄的信息。紅色的部分就代表-mtime、-ctime、-atime他們代表什麽那?】

[root@MOMOCO-02 ~]# chmod 700 2.txt

[root@MOMOCO-02 ~]# stat 2.txt

File: '2.txt'

Size: 19 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33617208 Links: 2

Access: (0700/-rwx------) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2017-12-21 21:30:22.825933901 +0800

Modify: 2017-12-21 21:29:51.200993908 +0800

Change: 2017-12-23 10:52:19.760809458 +0800

Birth: -

【當我們改了文件的權限的時候Change的時間就發生了變化。-ctime記錄的是一個文件的大小,所屬主所屬組,時間,權限等相關的信息】

[root@MOMOCO-02 ~]# echo "qqqqqqq" > 2.txt

【echo什麽就會顯示什麽,>代表把echo顯示的東西重定向到2.txt中】

[root@MOMOCO-02 ~]# echo "asfcacasc"

asfcacasc

[root@MOMOCO-02 ~]# echo "asfcacac"

asfcacac

[root@MOMOCO-02 ~]# stat 2.txt

File: '2.txt'

Size: 8 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33617208 Links: 2

Access: (0700/-rwx------) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2017-12-21 21:30:22.825933901 +0800

Modify: 2017-12-23 10:55:37.736303129 +0800

Change: 2017-12-23 10:55:37.736303129 +0800

Birth: -

【當我們把文件內容改了之後你會發現ModifyChange的時間都發生了變化。-mtime記錄的是文件的內容,當你的文件內容發生變化了他的大小一會變化,所以-ctime一會跟著變化。】

[root@MOMOCO-02 ~]# cat 2.txt

qqqqqqq

[root@MOMOCO-02 ~]# stat 2.txt

File: '2.txt'

Size: 8 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 33617208 Links: 2

Access: (0700/-rwx------) Uid: ( 0/ root) Gid: ( 0/ root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2017-12-23 11:08:22.948276279 +0800

Modify: 2017-12-23 10:55:37.736303129 +0800

Change: 2017-12-23 10:55:37.736303129 +0800

Birth: -

[root@MOMOCO-02 ~]# date

Sat Dec 23 11:08:58 CST 2017

【當我們訪問了這個文件的時候他的Access會更新,】

你知道怎麽用find嗎?[root@MOMOCO-02 ~]# find /etc/ -name s