Soal 1Apa yang dicocokkan wildcard *?
Pencarian File — find dan Wildcard
Artikel ini adalah bagian dari Kursus Linux yang membantumu menguasai keterampilan praktis Linux dari nol, mulai dari perintah dasar hingga shell script.
Pelajari cara menentukan banyak nama file sekaligus dengan wildcard * ? [], dan cara find mencari berdasarkan nama dengan -name dan berdasarkan tipe dengan -type — praktik langsung di terminal browser.
Wildcard — * ? []
Wildcard adalah simbol untuk menentukan sebagian nama file sekaligus.
* cocok dengan rentetan nol karakter atau lebih, ? cocok dengan tepat satu karakter, dan [] cocok dengan salah satu karakter di dalam tanda kurung siku.
Gabungkan dengan ls, seperti ls *.txt, untuk menampilkan hanya nama yang cocok.
* cocok dengan rentetan apa pun, ? cocok dengan satu karakter, dan [] cocok dengan salah satu karakter di dalam tanda kurung siku.| Simbol | Yang dicocokkan | Contoh | File yang cocok |
|---|---|---|---|
* | Rentetan nol karakter atau lebih | *.txt | a.txt note.txt |
? | Tepat satu karakter | log?.txt | log1.txt (log10.txt tidak cocok) |
[...] | Salah satu karakter di dalam tanda kurung siku | log[12].txt | log1.txt log2.txt |
[a-c] | Salah satu karakter dalam rentang | f[a-c].txt | fa.txt fb.txt fc.txt |
touch a.txt b.txt note.log # buat file bahan
ls *.txt # a.txt b.txt
ls *.log # note.log
ls ?.txt # a.txt b.txt (satu karakter + .txt)
Satu Karakter atau Pilihan — ? dan []
? selalu cocok dengan tepat satu karakter, jadi pakai saat kamu ingin menetapkan jumlah karakter.
[] cocok dengan salah satu karakter yang ditulis di dalam tanda kurung siku, jadi [12] adalah 1 atau 2, dan kamu bisa menulis rentang seperti [a-c].
Keduanya mempersempit target lebih halus daripada *.
touch log1.txt log2.txt log9.txt logA.txt # buat bahan
ls log?.txt # 4 file dengan satu karakter di akhir
ls log[12].txt # hanya log1.txt log2.txt
Mencari Berdasarkan Kondisi — find -name / -type
find menelusuri secara rekursif di bawah direktori awal dan mencari hal yang cocok dengan suatu kondisi.
Dengan find awal -name 'pola' kamu memberikan kondisi pada nama, dan dengan -type f (file) atau -type d (direktori) kamu memberikan kondisi pada tipe.
Pakai untuk menemukan file berdasarkan nama saat file itu terkubur dalam di hierarki.
| Kondisi | Arti | Contoh |
|---|---|---|
-name 'pola' | Nama cocok dengan pola | find . -name '*.log' |
-type f | Hanya file biasa | find . -type f |
-type d | Hanya direktori | find . -type d |
-name menyaring berdasarkan pola nama, -type f berdasarkan file, dan -type d berdasarkan direktori.mkdir -p tree/sub # buat pohon bahan
touch tree/a.txt tree/sub/b.txt # tempatkan file di hierarki
find tree -name '*.txt' # cari .txt di bawah tree secara rekursif
find tree -type d # hanya direktori di bawah tree
Beri tanda kutip pada pola find
Bungkus '*.txt' dalam find . -name '*.txt' dengan tanda kutip tunggal.
Tanpa tanda kutip, shell mengembangkan * terlebih dahulu, yang bisa menargetkan sesuatu selain yang kamu maksudkan.
Aturan dasarnya adalah memberi tanda kutip pada pola -name dan meneruskannya ke find itu sendiri.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2File mana yang dicocokkan ls log[12].txt?
Soal 3Apa yang ditampilkan saat kamu menjalankan find tree -type d?