Linux中文件查找命令find

Jun 04, 2020 am 09:53 AM
1

find命令是我最喜欢的命令之一,有它可以方便的查找出我想要找到文件,它可以支持太多的方法去查找,可以按照文件名、按文件大小、按文件类型等等。下面,我们一起来看看吧。

语法:find [查找路径] [选项] [动作]

find命令的选项可不要太多,今天我只会讲一些经常会用到的选项。

根据文件名查找

通过文件名查找的选项为-name,他支持简单的正则查找。

比如,我知道locale.conf,保存在/etc目录下,但具体路径忘记了,那么

# find /etc/ -name locale.conf/etc/locale.conf
Salin selepas log masuk

就可以找出该文件具体路径了。

现在我想要知道某个目录下php文件有多少个,那么可以使用以下命令来完成。

# find default -name *.php | wc -l122
Salin selepas log masuk

或选项-o

这里再介绍一个选项,-o,他表示或的意思,一般默认find选项之间都是且的意思。下面看一个实例,查找某目录下,php或js文件的数量总和。

# find default -name *.php -o -name *.js | wc -l225
Salin selepas log masuk

根据文件类型及目录深度查找

查找文件类型需要使用-type选项,常用的类型有f(文件)、d(目录)。另外再介绍个选项,-maxdepth表示最多递归几层目录。

# find ./  -maxdepth 1  -type d././default./default.bak
Salin selepas log masuk

否定选项!

# find ./  -maxdepth 1 ! -type f././default./default.bak
Salin selepas log masuk

与时间相关的查找

与时间有关的选项:共有-atime, -ctime 与-mtime ,以-mtime 说明
-mtime n n 为数字,意义为在n 天之前的『一天之内』被更动过内容的文件;
-mtime +n 列出在n 天之前(不含n 天本身)被更动过内容的文件文件名
-mtime -n列出在n 天之内(含n 天本身)被更动过内容的文件文件名
-newer file file 为一个存在的文件,列出比file 还要新的文件文件名

这个选项很有作用,比如进行数据定时备份时,只保留最近7天的数据,超过7天的自动删除就会用到该选项。注意+n表示n天之前,-n表示n天之内。

# find $bakdir -name "*.sql.bz2" -type f -mtime +7 -exec rm -rf {} \;
Salin selepas log masuk

根据用户名、组来查找

与使用者或群组名称有关
-uid n n 为数字,这个数字是使用者的帐号ID,亦即UID
-gid n n 为数字,这个数字是群组名称的ID,亦即GID
-user name name 为使用者帐号名称,例如dmtsai
-group name name 为群组名称,例如users ;
-nouser寻找文件的拥有者不存在 的人!
-nogroup 寻找文件的拥有群组不存在于/etc/group 的文件!

查找某目录下,所有者不是www的文件有哪些。

find /home/wwwroot/default ! -user www | wc -l
Salin selepas log masuk

根据文件大小查找

按文件大小查找使用-size选项,比如查找大于1M的文件,那么使用-size +1M,如果查找小于1K的,那么使用-size -1K

# find /home/wwwroot/default -size +1M
# find /home/wwwroot/default -size -1k
Salin selepas log masuk

根据文件权限查找

  • -perm mode 搜寻文件权限『刚好等于』 mode 的文件,这个mode 为类似chmod的属性值,举例来说, -rwsr-xr-x 的属性为4755 !

  • -perm -mode 搜寻文件权限『必须要全部囊括mode 的权限』的文件,举例来说,我们要搜寻-rwxr--r-- ,亦即0744 的文件,使用-perm -0744,当一个文件的权限为-rwsr-xr-x ,亦即4755 时,也会被列出来,因为-rwsr-xr-x 的属性已经囊括了-rwxr--r-- 的属性了。

  • -perm /mode 搜寻文件权限『包含任一mode 的权限』的文件,举例来说,我们搜寻-rwxr-xr-x ,亦即-perm /755 时,但一个文件属性为-rw-------也会被列出来,因为他有-rw.... 的属性存在!

我们知道,文件的权限一般为644,目录的权限一般为755。如果,不是等于这个权限,可能就会有点问题,那么我们来找找看,是否有这类文件。

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
# 查找权限不是644的文件,并将其修改为644
find /home/wwwroot/default ! -perm 644 -type f | xargs -n 10 chmod 644;
Salin selepas log masuk

动作执行

其实这个命令上面已经使用到了,使用-exec选项,然后接命令,最后要以{} ;结尾,比如

find /home/wwwroot/default ! -perm 644 -type d -exec ls -ld {} \;
Salin selepas log masuk

其他

find还支持正则(-regex)查找文件名,还可以不区分大小写(-iregex);

使用-empty可以查找文件大小为0的文件。

# find . -empty -exec ls -l {} \;
Salin selepas log masuk

Atas ialah kandungan terperinci Linux中文件查找命令find. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak? Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak? Mar 17, 2025 pm 05:25 PM

Artikel ini menerangkan cara menggunakan Ekspresi Biasa (Regex) di Linux untuk pencocokan corak, carian fail, dan manipulasi teks, memperincikan sintaks, arahan, dan alat seperti grep, sed, dan awk.

Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT? Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT? Mar 17, 2025 pm 05:28 PM

Artikel ini membincangkan menggunakan Top, HTOP, dan VMSTAT untuk memantau prestasi sistem Linux, memperincikan ciri unik dan pilihan penyesuaian mereka untuk pengurusan sistem yang berkesan.

Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux? Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux? Mar 17, 2025 pm 05:31 PM

Artikel ini menyediakan panduan untuk menubuhkan dua faktor Pengesahan (2FA) untuk SSH di Linux menggunakan Google Authenticator, perincian pemasangan, konfigurasi, dan langkah penyelesaian masalah. Ia menyoroti manfaat keselamatan 2FA, seperti Sec yang dipertingkatkan

Bagaimana saya mengkonfigurasi Selinux atau AppArmor untuk meningkatkan keselamatan di Linux? Bagaimana saya mengkonfigurasi Selinux atau AppArmor untuk meningkatkan keselamatan di Linux? Mar 12, 2025 pm 06:59 PM

Artikel ini membandingkan Selinux dan Apparmor, modul keselamatan kernel Linux yang menyediakan kawalan akses wajib. Ia memperincikan konfigurasi mereka, menonjolkan perbezaan pendekatan (berasaskan dasar dan berasaskan profil) dan kesan prestasi berpotensi

Bagaimana saya membuat sandaran dan memulihkan sistem linux? Bagaimana saya membuat sandaran dan memulihkan sistem linux? Mar 12, 2025 pm 07:01 PM

Butiran artikel ini Linux Sistem sandaran dan kaedah pemulihan. Ia membandingkan sandaran imej sistem penuh dengan sandaran tambahan, membincangkan strategi sandaran yang optimum (keteraturan, pelbagai lokasi, versi, ujian, keselamatan, putaran), dan DA

Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux? Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux? Mar 17, 2025 pm 05:32 PM

Artikel ini menerangkan cara menguruskan keistimewaan sudo di Linux, termasuk pemberian, pembatalan, dan amalan terbaik untuk keselamatan. Fokus utama adalah pada penyuntingan /etc /sudoers dengan selamat dan mengehadkan akses.Character Count: 159

Bagaimana saya menyediakan firewall di linux menggunakan firewalld atau iptables? Bagaimana saya menyediakan firewall di linux menggunakan firewalld atau iptables? Mar 12, 2025 pm 06:58 PM

Artikel ini membandingkan konfigurasi firewall Linux menggunakan firewalld dan iptables. Firewalld menawarkan antara muka mesra pengguna untuk menguruskan zon dan perkhidmatan, sementara iptables menyediakan kawalan peringkat rendah melalui manipulasi baris arahan netfilter FRA

Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)? Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

Artikel membincangkan menguruskan pakej perisian di Linux menggunakan APT, YUM, dan DNF, yang meliputi pemasangan, kemas kini, dan penyingkiran. Ia membandingkan fungsi dan kesesuaian mereka untuk pengagihan yang berbeza.

See all articles