Cara mencari direktori di linux dari baris arahan
Tidak dapat mencari folder dalam sistem Linux? Jangan risau! Linux menyediakan alat baris arahan yang kuat untuk mencari direktori yang hilang. Alat yang paling biasa ialah perintah find
, yang membolehkan anda mencari direktori berdasarkan pelbagai kriteria. Panduan ini akan memperkenalkan beberapa cara untuk mencari direktori dalam sistem Linux.
Pertama, kami akan menunjukkan cara mencari direktori dengan nama. Kami kemudian akan menunjukkan bagaimana untuk mencari direktori yang paling baru diubahsuai dan yang diubahsuai pada hari yang lalu. Anda juga akan belajar bagaimana untuk mengenal pasti direktori yang lebih tua -yang diubah suai n hari yang lalu.
Seterusnya, kami akan menerangkan cara mencari direktori dalam julat kedalaman yang ditentukan menggunakan pilihan maxdepth
dan mindepth
. Anda akan belajar bagaimana untuk mencari direktori berdasarkan keizinan untuk direktori dan direktori yang mengandungi sejumlah fail tertentu.
Akhirnya, kami akan menerangkan cara mencari direktori kosong, yang sangat berguna untuk mengenal pasti bahagian -bahagian sistem fail yang tidak digunakan atau tidak perlu.
Sepanjang panduan, kami akan memberikan contoh praktikal untuk membantu anda memanfaatkan perintah find
apabila menggunakan direktori di Linux.
Jadual Kandungan
- Cari direktori dalam direktori semasa
- Gunakan -nama untuk mengabaikan kes
- Cari direktori dan fail
- Cari direktori yang diubah suai baru -baru ini
- Cari direktori diubah suai pada hari yang lalu
- Kenal pasti direktori yang lebih tua
- Cari direktori dalam julat yang ditentukan
- Cari direktori berdasarkan kebenaran direktori
- Cari direktori yang mengandungi bilangan fail tertentu
- Cari direktori kosong
- Meringkaskan
Cari dengan nama direktori
Jika anda mengetahui nama direktori dan di mana carian bermula, gunakan arahan berikut:
cari/jalan/ke/cari -jenis d -name "direktori_name"
Ganti /path/to/search
dengan laluan sebenar dan "directory_name"
dengan direktori sasaran.
Contoh:
$ cari ~/ -type d -name "Dokumen"
Perintah ini mula mencari direktori yang dinamakan "dokumen" dari direktori rumah pengguna (~/).
Berikut adalah pecahan arahan:
-
find ~/
: Mula mencari dari direktori rumah pengguna (~/). -
-type d
: Beritahufind
untuk mencari direktori (-ype d) dan bukannya fail biasa. -
-name "Documents"
: Pilihan ini memberitahufind
untuk mencari direktori bernama "Dokumen". Petikan di kedua -dua belah "dokumen" memastikan bahawa carian mencari nama yang tepat, bukan hanya direktori yang mengandungi perkataan "dokumen".
Oleh itu, arahan ini akan mencari direktori rumah pengguna dan semua subdirektori untuk mana -mana direktori yang dinamakan "dokumen". Jika mana -mana direktori ditemui, ia akan mencetak laluan penuh ke direktori tersebut.
Cari direktori dalam direktori semasa
Jika anda ingin memulakan carian anda dari direktori semasa dan bukannya direktori rumah (~/), anda hanya boleh meninggalkan ~/ bahagian perintah seperti berikut:
$ cari. -Type d -name "Dokumen"
Berikut adalah pecahan ciri untuk setiap pilihan:
-
find .
.
-
-type d
: Beritahufind
untuk mencari direktori. -
-name "Documents"
: Pilihan ini memberitahufind
untuk mencari direktori bernama "Dokumen".
Perintah ini akan mencari direktori semasa dan semua subdirektori, cari mana -mana direktori yang dinamakan "dokumen", dan mencetak laluan penuh ke direktori tersebut.
Sebagai alternatif, anda juga boleh menggunakan pembolehubah $PWD
, yang mewakili direktori kerja semasa seperti berikut:
$ cari $ pwd -type d -name "dokumen"
Kedua -dua arahan akan mencapai hasil yang sama, bermula dengan direktori semasa.
Gunakan -nama untuk mengabaikan kes
Ini adalah bendera yang sangat berguna dalam perintah find
.
Kita boleh menggunakan pilihan -iname
bukannya -name
untuk melakukan carian kes -insensitif .
Berikut adalah contoh menggunakan -iname
dan bukannya -name
:
$ cari. -Type d -iname "Dokumen"
-iname "Documents"
akan sepadan dengan direktori dengan nama seperti "dokumen", "dokumen", "dokumen", dll. Ini berguna jika anda tidak pasti mengenai kes tepat nama direktori.
Perbezaan utama antara -name
dan -iname
adalah:
-
-name
melakukan carian sensitif kes, jadi ia hanya sepadan dengan direktori yang sama persis dengan corak yang disediakan. -
-iname
melakukan carian kes-insensitif, jadi ia akan sepadan dengan direktori tanpa mengira kesnya.
Anda juga boleh memasukkan istilah carian di liar seperti ini:
$ cari. -Type d -iname "*Dokumen*"
Perintah ini menyenaraikan semua direktori dalam direktori semasa (dan subdirektori) yang mengandungi "dokumen" dalam nama mereka.
Menggunakan -iname
mungkin lebih mudah jika anda tidak tahu atau mengambil berat tentang kes tepat nama direktori yang anda cari.
Secara peribadi, apabila mencari sesuatu, saya lebih suka menggunakan pilihan -iname
dalam perintah find
.
Cari direktori dan fail
Jika anda mengeluarkan bahagian -type d
dari arahan find
, ia akan mencari fail dan direktori yang sepadan dengan kriteria lain seperti -name
atau -iname
pilihan.
Perintah adalah seperti berikut:
$ cari. -Semaya "Dokumen"
Inilah yang berlaku:
- Perintah
find
akan mencari direktori semasa (.) Dan semua subdirektori untuk mana -mana projek (fail dan direktori) bernama "dokumen" (kes tidak sensitif). - Ia akan mengandungi direktori yang dinamakan "dokumen" dan mana -mana fail biasa yang dinamakan "dokumen" dalam hasilnya.
Oleh itu, output perintah ini akan termasuk:
- Mana -mana direktori yang dinamakan "Dokumen", "Dokumen", "Dokumen", dll.
- Sebarang fail biasa yang dinamakan "dokumen", "dokumen", "dokumen", dll.
Memadam bahagian -type d
akan menjadikan carian lebih luas kerana ia akan mengandungi direktori dan fail yang sepadan dengan corak nama yang ditentukan.
Ini berguna jika anda tidak pasti jika entri "dokumen" yang anda cari adalah direktori atau fail, dan anda ingin mencari semua kejadian.
Walau bagaimanapun, jika anda secara khusus mencari direktori yang dinamakan "dokumen", lebih baik untuk menyimpan pilihan -type d
untuk menyempitkan carian anda.
Cari direktori yang diubah suai baru -baru ini
Untuk menyenaraikan direktori yang diubah suai dalam julat tarikh tertentu, gunakan -newermt
dua kali.
Sebagai contoh, untuk mencari direktori yang dibuat atau diubah suai antara 15 Mac, 2024 dan 15 April, 2024 (tidak termasuk dua hari ini), anda boleh menggunakan:
$ cari/path/to/search -type d -newermt "2024-03-15"! -Newermt "2024-04-15"
Berikut adalah pecahan arahan di atas:
-
find /path/to/search
: Beritahu perintahfind
untuk mula mencari dari direktori/path/to/search
. -
-type d
: Pilihan ini memastikan bahawa perintahfind
hanya mencari direktori, bukan fail biasa. -
-newermt "2024-03-15"
: Pilihan ini memberitahufind
untuk mengandungi hanya direktori yang dikemas kini (dicipta atau diubahsuai) daripada 15 Mac, 2024. - !
find
! -newermt "2024-04-15"
:!
Gabungan pilihan ini menyebabkan direktori carian find
dibuat atau diubahsuai pada atau selepas 15 Mac, 2024, tetapi sebelum 15 April, 2024.
Sebagai contoh, ini berguna jika anda ingin mencari semua direktori yang dibuat atau diubahsuai dalam tempoh masa tertentu (contohnya, untuk sandaran atau audit).
Cari direktori diubah suai pada hari yang lalu
Untuk mencari direktori yang telah diubah suai pada hari yang lalu, gunakan -mtime
.
Perintah berikut akan mencari direktori yang diubah suai dalam 7 hari yang lalu di bawah ~/ projek/ direktori.
$ cari ~/ projek/ -type d -mtime -7
Inilah yang setiap bahagian perintah itu:
-
find ~/Projects/
: Beritahu perintahfind
untuk mula mencari dari ~/ projek/ direktori. -
-type d
: Pilihan ini memastikan bahawa perintahfind
hanya mencari direktori, bukan fail biasa. -
-mtime -7
: Pilihan ini memberitahufind
untuk memasukkan hanya direktori yang telah diubah suai dalam 7 hari yang lalu ("m" dalam "-mtime" bermaksud "mengubah masa").
Prinsip kerja -mtime -7
bahagian adalah seperti berikut:
- Tanda minus (-) bermaksud "kurang daripada" atau "pada masa lalu".
- Nombor 7 mewakili bilangan hari.
Sebagai contoh, ini akan sangat berguna jika anda ingin mencari semua direktori baru yang telah dibuat atau dikemas kini baru -baru ini dalam ~/ projek/ direktori (mungkin untuk sandaran atau penjejakan).
Kenal pasti direktori yang lebih tua
Untuk mencari direktori yang diubah suai n hari yang lalu (iaitu (cari direktori yang telah n hari yang lalu), gunakan -mtime
dengan tanda tambah.
Sebagai contoh, arahan berikut akan mencari direktori yang diubahsuai 7 hari yang lalu di bawah ~/ projek/ direktori.
$ cari ~/ projek/ -type d -mtime 7
Dalam erti kata lain, ia akan mencari direktori yang belum diubah suai (dicipta, dikemas kini, atau diakses) dalam 7 hari yang lalu.
Opsyen -mtime 7
memberitahu find
untuk memasukkan hanya direktori yang masa pengubahsuaiannya ("m" dalam "-mtime") lebih besar daripada 7 hari yang lalu.
Oleh itu, arahan ini boleh digunakan untuk mencari direktori yang belum disentuh atau diubahsuai untuk tempoh masa, yang berguna untuk mengenal pasti direktori yang tidak digunakan atau ketinggalan zaman atau melaksanakan tugas seperti penyelenggaraan/pembersihan struktur direktori projek.
Bagaimanakah kita tahu jika direktori sebenarnya diubah suai x hari yang lalu? Sangat mudah.
Untuk mengesahkan bahawa direktori yang dijumpai oleh arahan find
diubahsuai 7 hari yang lalu, anda boleh menggunakan perintah stat
untuk memaparkan masa pengubahsuaian untuk setiap direktori.
$ cari ~/ projek/ -type d -mtime 7 -exec stat -c ' %n %y' {} \;
Berikut adalah penjelasan mengenai arahan di atas:
-
find ~/Projects/ -type d -mtime 7
: Bahagian arahan ini sama seperti sebelumnya, cari direktori 7 hari yang lalu. - -Exec stat
stat
'find
-exec stat -c '%n %y' {} \;
-exec
-
stat -c '%n %y'
: Perintahstat
memaparkan nama fail (%n) direktori dan masa yang diubah suai terakhir (%y). -
{}
: Ini adalah pemegang tempat, digantikan oleh direktori semasa yang dijumpai olehfind
. -
\;
: Ini menamatkan perintah-exec
.
Apabila anda menjalankan arahan ini, ia memaparkan laluan dan masa yang diubah suai setiap direktori 7 hari yang lalu. Ini membolehkan anda mengesahkan bahawa direktori yang dijumpai memang diubahsuai 7 hari yang lalu.
Berikut adalah contoh output:
<code>/home/ostechnix/Projects/Python 2024-03-22 14:18:14.958042173 0530 /home/ostechnix/Projects/Vim 2024-03-22 14:05:55.887041168 0530</code>
Masa pengubahsuaian yang ditunjukkan dalam output akan membantu anda mengesahkan bahawa direktori itu lebih lama daripada 7 hari, seperti yang dikehendaki oleh perintah find
asal.
Cari direktori dalam julat yang ditentukan
Kami boleh mencari direktori dalam julat kedalaman yang ditentukan menggunakan pilihan maxdepth
dan mindepth
perintah find
.
Berikut adalah sintaks:
cari/jalan/ke/carian -mindepth x -maxdepth y -jenis d
Izinkan saya menerangkan apa pilihan dalam perintah ini:
-
find /path/to/search
: Beritahu perintahfind
untuk mula mencari dari direktori/path/to/search
. -
-mindepth X
: Pilihan ini menetapkan tahap kedalaman minimum direktori untuk dimasukkan ke dalam hasil carian. Nilai x mewakili bilangan minimum tahap direktori bermula dari titik permulaan. -
-maxdepth Y
: Pilihan ini menetapkan tahap kedalaman maksimum direktori untuk dimasukkan ke dalam hasil carian. Nilai y mewakili bilangan maksimum tahap direktori bermula dari titik permulaan. -
-type d
: Pilihan ini memastikan bahawa perintahfind
hanya mencari direktori, bukan fail biasa.
Perhatikan bahawa pilihan
-mindepth
harus ditentukan sebelum parameter lain, termasuk-type
.
Sebagai contoh, untuk mencari direktori sekurang -kurangnya 2 lapisan dalam tetapi sehingga 4 lapisan dalam direktori /Projects
, anda boleh menggunakan arahan berikut:
$ cari ~/projek -mindepth 2 -maxdepth 4 -jenis d
Perintah ini mencari direktori (termasuk) sekurang -kurangnya 2 lapisan dalam dan sehingga 4 lapisan jauh berbanding dengan direktori /Projects
.
Anda boleh menyesuaikan nilai x dan y mengikut keperluan khusus anda. Sebagai contoh, jika anda ingin mencari direktori yang betul -betul 3 lapisan dalam, anda boleh menggunakan:
$ cari ~/projek -mindepth 3 -maxdepth 3 -jenis d
Ini hanya akan mengandungi direktori dalam 3 lapisan dalam hasil carian.
Menggunakan maxdepth
dan mindepth
dalam kombinasi dapat membantu anda menyempitkan carian anda ke pelbagai kedalaman direktori tertentu, yang sangat berguna untuk menganjurkan dan menguruskan sistem fail.
Cari direktori berdasarkan kebenaran direktori
Untuk mencari direktori berdasarkan keizinan direktori, anda boleh menggunakan perintah find
dengan pilihan -perm
.
cari/jalan/ke/cari -jenis d -perm<permission_specification></permission_specification>
Menggantikan /path/to/search
dengan direktori yang anda mahu mula cari dan<permission_specification></permission_specification>
Gantikan dengan kebenaran yang diperlukan. Anda boleh menentukan keizinan menggunakan notasi oktal.
Izinkan saya menunjukkan beberapa contoh.
Untuk mencari semua direktori dengan kebenaran 755 (iaitu pemilik adalah RWX, kumpulan dan lain -lain adalah RX) dalam direktori semasa:
$ cari. -Type d -perm 755
Untuk mencari direktori di mana pemilik mempunyai kebenaran RWX, kumpulan itu mempunyai kebenaran RX, dan yang lain tidak mempunyai kebenaran:
$ cari. -Type d -perm 750
Untuk mencari semua direktori dalam ~/projek di mana pemilik mempunyai keizinan dan kumpulan dan lain -lain mempunyai kebenaran rx:
$ cari ~/projek ~ -type d -perm -005
Anda boleh menyesuaikan mengikut keperluan khusus anda<permission_specification></permission_specification>
. Di samping itu, anda boleh menggunakan pilihan -maxdepth
dan -mindepth
untuk mengawal kedalaman carian jika diperlukan.
Cari direktori yang mengandungi bilangan fail tertentu
Untuk mencari direktori yang mengandungi bilangan fail tertentu, anda boleh menggunakan arahan find
, wc
dan Bash dalam kombinasi.
Contoh:
Perintah berikut mencari direktori yang berlaku mengandungi 4 fail dalam direktori semasa dan subdirektori, dan mencetak jalan penuh ke direktori tersebut.
$ cari.
Mari kita pecahkan langkah demi langkah:
-
find . -type d
: Mula mencari direktori (bukan fail) dari direktori semasa (.). -
-exec bash -c '...' _ {} \;
: Bahagian ini menggunakanexec
find
untuk melaksanakan skrip bash tersuai untuk setiap direktori yang dijumpai. -
if [ $(find "$1" -maxdepth 1 -type f | wc -l) -eq 4 ]; then echo "$1"; fi
-
$(find "$1" -maxdepth 1 -type f | wc -l)
: Bahagian ini mengira bilangan fail (bukan direktori) dalam direktori semasa ("$ 1"). Opsyen-maxdepth 1
memastikan bahawa ia hanya mengira fail dalam direktori semasa, bukan fail dalam subdirektori. -
[ ... -eq 4 ]
: Ini memeriksa sama ada bilangan fail dalam direktori semasa adalah tepat 4. -
then echo "$1"; fi
Sebagai contoh, ini berguna jika anda mempunyai satu set direktori tertentu yang harus mengandungi sejumlah fail dan anda ingin dengan cepat mengenal pasti mana -mana direktori yang tidak memenuhi kriteria tersebut.
Cari direktori kosong
Untuk mencari direktori kosong, gunakan bendera -empty
:
cari/jalan/ke/cari -jenis d -empty
Sebagai contoh, untuk mencari direktori kosong dalam direktori "kerja", jalankan:
$ cari ~/ kerja/ -type d -empty
Ingatlah untuk menyesuaikan jalan yang diperlukan.
Meringkaskan
Dalam panduan ini, anda telah mempelajari beberapa teknik untuk mencari direktori dalam sistem Linux menggunakan arahan find
.
Anda boleh mencari dengan nama, kali terakhir perubahan, atau dengan bilangan fail dalaman. Anda juga boleh mencari folder atau folder kosong dengan keizinan tertentu.
Dengan mempelajari cara menggunakan pilihan seperti maxdepth
, mindepth
, dan size
, anda boleh meningkatkan carian anda untuk memberi tumpuan kepada direktori tertentu yang anda perlukan.
Oleh itu, jangan panik pada masa akan datang folder hilang! Gunakan arahan find
ini untuk mengesannya dan simpan fail yang dianjurkan.
Atas ialah kandungan terperinci Cara mencari direktori di linux dari baris arahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Linux paling baik digunakan sebagai pengurusan pelayan, sistem tertanam dan persekitaran desktop. 1) Dalam pengurusan pelayan, Linux digunakan untuk menjadi tuan rumah laman web, pangkalan data, dan aplikasi, menyediakan kestabilan dan kebolehpercayaan. 2) Dalam sistem tertanam, Linux digunakan secara meluas di rumah pintar dan sistem elektronik automotif kerana fleksibiliti dan kestabilannya. 3) Dalam persekitaran desktop, Linux menyediakan aplikasi yang kaya dan prestasi yang cekap.

Lima komponen asas Linux adalah: 1. Kernel, menguruskan sumber perkakasan; 2. Perpustakaan sistem, menyediakan fungsi dan perkhidmatan; 3. Shell, antara muka pengguna untuk berinteraksi dengan sistem; 4. Sistem fail, menyimpan dan menganjurkan data; 5. Aplikasi, menggunakan sumber sistem untuk melaksanakan fungsi.

Pengurusan Sistem Linux memastikan kestabilan sistem, kecekapan dan keselamatan melalui konfigurasi, pemantauan dan penyelenggaraan. 1. Perintah Shell Master seperti Top dan Systemctl. 2. Gunakan apt atau yum untuk menguruskan pakej perisian. 3. Tulis skrip automatik untuk meningkatkan kecekapan. 4. Kesilapan debug biasa seperti masalah kebenaran. 5. Mengoptimumkan prestasi melalui alat pemantauan.

Kaedah untuk pembelajaran asas Linux dari awal termasuk: 1. Memahami sistem fail dan antara muka baris perintah, 2. Master arahan asas seperti LS, CD, MKDIR, 3.

Linux digunakan secara meluas dalam pelayan, sistem tertanam dan persekitaran desktop. 1) Dalam bidang pelayan, Linux telah menjadi pilihan yang ideal untuk menganjurkan laman web, pangkalan data dan aplikasi kerana kestabilan dan keselamatannya. 2) Dalam sistem tertanam, Linux popular untuk penyesuaian dan kecekapan yang tinggi. 3) Di persekitaran desktop, Linux menyediakan pelbagai persekitaran desktop untuk memenuhi keperluan pengguna yang berbeza.

Peranti Linux adalah peranti perkakasan yang menjalankan sistem operasi Linux, termasuk pelayan, komputer peribadi, telefon pintar dan sistem tertanam. Mereka mengambil kesempatan daripada kuasa Linux untuk melaksanakan pelbagai tugas seperti hosting laman web dan analisis data besar.

Kelemahan Linux termasuk pengalaman pengguna, keserasian perisian, sokongan perkakasan, dan keluk pembelajaran. 1. Pengalaman pengguna tidak mesra seperti Windows atau MacOS, dan ia bergantung pada antara muka baris arahan. 2. Keserasian perisian tidak sebaik sistem lain dan tidak mempunyai versi asli banyak perisian komersial. 3. Sokongan perkakasan tidak begitu komprehensif seperti Windows, dan pemandu boleh dikumpulkan secara manual. 4. Keluk pembelajaran adalah curam, dan menguasai operasi baris arahan memerlukan masa dan kesabaran.

Internet tidak bergantung pada sistem operasi tunggal, tetapi Linux memainkan peranan penting di dalamnya. Linux digunakan secara meluas dalam pelayan dan peranti rangkaian dan popular untuk kestabilan, keselamatan dan skalabiliti.
