Apa Metacharacters Linux dan Bagaimana Anda Menggunakannya

Menurut Wikipedia, metacharacter adalah karakter apa pun yang memiliki arti khusus, seperti karat (^), tanda dolar ($) atau tanda bintang (*).

Dalam hal Linux, ada sejumlah adil dari metakarakter ini dan artinya berbeda tergantung pada perintah atau program yang Anda jalankan.

The Full Stop Sebagai A Metacharacter (.)

Stop penuh rendah hati digunakan untuk menyumbangkan posisi saat ini ketika menjalankan perintah seperti cd , cari atau sh tetapi dalam aplikasi seperti awk , grep dan sed itu digunakan untuk menunjukkan karakter apa pun.

Sebagai contoh, perintah berikut ini akan mencari semua file mp3 di folder saat ini dan di bawah.

temukan. -name * .mp3

Jika Anda menjalankan perintah itu dalam Anda menyajikan direktori kerja (pwd) maka Anda mungkin akan mendapatkan hasil yang dikembalikan, dengan asumsi Anda menyimpan file mp3 Anda dalam folder musik di dalam folder rumah Anda.

Sekarang lihat perintah ini:

ps -ef | grep f..efox

Perintah ps mencantumkan semua proses yang sedang berjalan di komputer Anda. Perintah grep mengambil garis input dan mencari pola.

Oleh karena itu perintah ps -ef mendapat daftar proses yang berjalan dan memberikannya ke grep yang mencari baris apa saja dalam daftar yang memiliki f..efox di mana. bisa berarti karakter apa pun.

Jika Anda menjalankan firefox, Anda akan mendapatkan kecocokan. Demikian pula, jika Anda memiliki program yang disebut fonefox atau menjalankan freefox, mereka juga akan dikembalikan.

Tanda bintang sebagai metakarakter (*)

Tanda bintang adalah metakarakter yang lebih dikenal secara universal dan digunakan untuk berarti 0 atau lebih saat mencari pola.

Sebagai contoh:

temukan. -name * .mp3

The * .mp3 mengembalikan kecocokan untuk nama file apa pun yang berakhiran .mp3. Demikian pula, saya bisa menggunakan tanda bintang dengan perintah grep seperti yang ditunjukkan berikut ini:

ps -ef | grep F * efox

Perlu dicatat bahwa ini sedikit berbeda karena tanda bintang berarti nol atau lebih sehingga juga menemukan firefox, facefox dan fonefox juga dapat menemukan flutefox, ferretfox dan bahkan hanya fefox.

The Carat As A Metacharacter (^)

Karat (^) digunakan untuk menunjukkan awal baris atau string. Jadi bagaimana cara menggunakannya?

Perintah ls digunakan untuk mendaftarkan semua file dalam folder sebagai berikut:

ls

Jika Anda ingin mengetahui semua file dalam folder yang diawali dengan string tertentu seperti "gnome" maka carat dapat digunakan untuk menentukan string itu.

Sebagai contoh:

ls | grep ^ gnome

Perhatikan bahwa ini hanya mencantumkan file yang dimulai dengan gnome. Jika Anda ingin file yang memiliki gnome di filename di mana saja maka Anda akan kembali kembali ke tanda bintang.

Dalam contoh di atas, ls mengembalikan daftar nama file dan meneruskan daftar itu ke grep yang digunakan untuk pencocokan pola. grep tahu bahwa simbol karat berarti menemukan apa pun yang dimulai dengan karakter yang muncul setelahnya dan dalam hal ini, itu adalah gnome.

Dolar Simbol Sebagai Metacharacter ($)

Simbol dolar dapat memiliki banyak arti sebagai metakarakter dalam Linux.

Ketika digunakan untuk mencocokkan pola itu berarti berlawanan dengan carat dan menunjukkan pola apa pun yang berakhir dengan string tertentu.

Sebagai contoh:

ls | grep png $

Ini daftar semua file yang berakhir dengan png.

Simbol dolar juga digunakan untuk mengakses variabel lingkungan dalam bash shell.

Sebagai contoh:

anjing ekspor = molly
echo $ dog

Anjing ekspor baris = molly menciptakan variabel lingkungan yang disebut anjing dan menetapkan nilainya menjadi molly. Untuk mengakses variabel lingkungan, simbol $ digunakan. Dengan simbol $, pernyataan echo $ dog menampilkan molly tetapi tanpa itu, pernyataan echo dog hanya menampilkan kata dog.

Metakarakter Escaping

Terkadang Anda tidak ingin metacharacter memiliki arti khusus. Bagaimana jika Anda memiliki file bernama f.refox dan file bernama firefox.

Sekarang lihat perintah berikut:

ls | grep f.refox

Menurut Anda apa yang dikembalikan? Baik f.refox dan firefox dikembalikan karena keduanya cocok dengan pola.

Untuk hanya mengembalikan f.refox Anda harus melarikan diri dari pemberhentian penuh untuk benar-benar berarti berhenti penuh sebagai berikut:

ls | grep f \\. refox

Metakarakter Biasa Dan Makna Mereka

Daftar Metacharacters Linux
Karakter Berarti
. Setiap karakter
* Nol atau lebih banyak karakter
^ Cocokkan setiap baris atau string yang dimulai dengan pola (yaitu ^ gnome)
$ Cocokkan setiap baris atau string yang diakhiri dengan pola (mis. Gnome $)
\ Lolos karakter berikutnya untuk menghapus makna khususnya
[] Cocokkan satu daftar atau rentang (mis. ["Abc", "def"] atau [1..9]
+ Cocokkan satu atau lebih sebelumnya (yaitu grep a +)
? Cocokkan nol atau satu sebelumnya