Soal 1Apa yang dicocokkan wildcard *?
Menemukan File — find dan Wildcard
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?