Rumah > Operasi dan penyelenggaraan > operasi dan penyelenggaraan linux > Mengapa mencari dalam Linux tidak mencari subdirektori yang ditentukan?

Mengapa mencari dalam Linux tidak mencari subdirektori yang ditentukan?

WBOY
Lepaskan: 2022-07-12 15:30:35
asal
4692 orang telah melayarinya

Dalam Linux, anda boleh menggunakan parameter "-prune" bagi arahan find untuk membuat carian tidak mencari subdirektori yang ditentukan semasa mencari fail Perintah find digunakan untuk mencari fail dalam direktori yang ditentukan parameter ditetapkan kepada "-prune "Anda boleh menapis, selagi parameter laluan yang akan diabaikan mesti mengikut laluan carian, jika tidak, parameter tidak akan berfungsi Sintaks ialah "cari laluan subdirektori laluan carian tidak ditemui-. pangkas...".

Mengapa mencari dalam Linux tidak mencari subdirektori yang ditentukan?

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Mengapa find dalam Linux tidak mencari subdirektori yang ditentukan?

Apabila Linux find sedang mencari, kadangkala perlu mengabaikan direktori tertentu dan tidak mencari Anda boleh menggunakan parameter -prune untuk menapis , tetapi ia mestilah Perlu diingat bahawa parameter laluan yang akan diabaikan mesti segera mengikut laluan yang dicari, jika tidak, parameter ini tidak akan berfungsi.

Contohnya adalah seperti berikut:

Berikut ialah carian khusus untuk semua fail dalam direktori /home/carryf, tetapi laluan ke /home/carryf/ astetc akan diabaikan:

find /home/carryf -path "/home/carryf/astetc" -prune -o -type f -print
Salin selepas log masuk

Jika anda mencari mengikut nama fail:

find /home/carryf -path "/home/carryf/astetc" -prune -o -type f -name "cdr_*.conf" -print
Salin selepas log masuk

Apakah yang perlu dilakukan jika anda mahu mengabaikan lebih daripada dua laluan?

find /home/carryf −path"/home/carryf/astetc"−o−path"/home/carryf/etc" -prune -o -type f  -print
find /home/carryf −path"/home/carryf/astetc"−o−path"/home/carryf/etc" -prune -o -type f  -name "cdr_*.conf" -print
Salin selepas log masuk

Perhatikan bahawa terdapat ruang sebelum dan selepas.

Untuk mencari kandungan fail, pernyataan berikut boleh menyelesaikan masalah direktori dengan ruang:

find ./ -name "MySQL*" -print0  |xargs -0 grep "SELECT lead_id FROM vicidial_list where vendor_lead_code"
Salin selepas log masuk

Jika direktori tidak mempunyai ruang, ia boleh dilaksanakan seperti berikut:

find ./ -name "mysql*"  |xargs  grep "SELECT lead_id FROM vicidial_list where vendor_lead_code"
Salin selepas log masuk

Pengetahuan lanjutan

Arahan cari Linux digunakan untuk mencari fail dalam direktori yang ditentukan. Sebarang rentetan sebelum parameter akan dianggap sebagai nama direktori yang akan dicari. Jika anda menggunakan arahan ini tanpa menetapkan sebarang parameter, arahan find akan mencari subdirektori dan fail dalam direktori semasa. Dan semua subdirektori dan fail yang ditemui akan dipaparkan.

Sintaks

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
Salin selepas log masuk

Penerangan parameter:

cari menentukan laluan dan ungkapan mengikut peraturan berikut, bahagian pertama pada baris arahan - ( ), ! , diikuti dengan ungkapan. Jika laluan ialah rentetan kosong, laluan semasa digunakan Jika ungkapan ialah rentetan kosong, -cetak digunakan sebagai ungkapan lalai. Terdapat sebanyak dua puluh atau tiga puluh pilihan yang tersedia dalam

ungkapan, dan hanya yang paling biasa digunakan diperkenalkan di sini.

-mount, -xdev: Hanya semak fail dalam sistem fail yang sama seperti direktori yang ditentukan, elakkan menyenaraikan fail dalam sistem fail lain

-amin n: Dalam n minit yang lalu Baca

-fail yang lebih baru: Fail yang dibaca kemudian daripada fail fail

-atime n: Fail yang dibaca pada n hari lalu

-cmin n: diubah suai pada n yang lalu minit

-fail cnewer: fail yang lebih baharu daripada fail fail

-ctime n: fail yang dibuat dalam n hari lalu

-mtime n: fail diubah suai pada masa lalu n hari

-kosong: fail kosong -gid n atau -nama kumpulan: gid ialah n atau nama kumpulan ialah nama

- ipath p, -path p: Fail yang nama laluannya sepadan dengan p , ipath akan mengabaikan kes

-name name, -iname name: fail yang nama failnya sepadan dengan nama. iname akan mengabaikan kes

-saiz n: saiz fail ialah n unit, b mewakili blok 512 bait, c mewakili bilangan aksara, k mewakili kilo bait dan w ialah dua bait.

-jenis c: Jenis fail ialah c.

Pembelajaran yang disyorkan: Tutorial video Linux

Atas ialah kandungan terperinci Mengapa mencari dalam Linux tidak mencari subdirektori yang ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan