Metakarakter shell
Metakarakter shell adalah karakter tertentu, umumnya simbol, yang memiliki arti khusus di dalam shell. Metakarakter yang didukung di bash terdaftar sebagai berikut:
- | :Mengirim output dari perintah ke kiri sebagai input ke perintah di sebelah kanan simbol
- & :Menjalankan proses di latar belakang, memungkinkan Anda untuk terus mengerjakan baris perintah
- ; :Memungkinkan Anda untuk membuat daftar beberapa perintah pada satu baris, dipisahkan oleh karakter ini
- () :Mengelompokkan perintah dan mengirimkan hasilnya ke tempat yang sama
- < :Mendapat input untuk perintah di sebelah kiri dari file yang terdaftar di sebelah kanan simbol ini
- > :Mengirim output dari perintah di sebelah kiri ke file bernama di sebelah kanan simbol ini
- tab spasi
Metakarakter Pengalihan
Pengalihan perintah diaktifkan oleh metakarakter shell berikut:
- Pengalihan input standar (<)
- Pengalihan keluaran standar (>)
- Pengalihan kesalahan standar (2>)
- Karakter pipa (|)
Descriptor File
Setiap proses bekerja dengan deskriptor file. Deskriptor file menentukan dari mana input ke perintah berasal dan ke mana output dan pesan kesalahan diarahkan. Tabel menjelaskan deskriptor file.
Nomor Deskriptor File | Singkatan Deskriptor File | Definisi |
---|---|---|
0 | stdin | Masukan perintah standar |
1 | stdout | Keluaran perintah standar |
2 | stderr | Kesalahan perintah standar |
Pengalihan Perintah
Secara default, shell menerima atau membaca input dari input standar, keyboard dan menampilkan output dan pesan kesalahan ke output standar, layar. Pengalihan input memaksa perintah untuk membaca input dari file, bukan dari keyboard. Pengalihan output mengirimkan output dari perintah ke dalam file alih-alih mengirimkan output ke layar.
Mengalihkan Input Standar
Kurang dari ( ) metacharacter memproses file sebagai input standar alih-alih membaca input dari keyboard.
# command < filename
atau
# command 0< filename
Misalnya, gunakan file data.txt sebagai input untuk perintah mailx.
# mailx -s test [email protected] < data.txt
Mengarahkan Output Standar
Lebih besar dari (> ) metacharacter mengarahkan output standar ke file alih-alih mencetak output ke layar.
# command > filename
atau
# command 1> filename
Jika file tidak ada, sistem akan membuatnya. Saat Anda menggunakan satu metakarakter lebih besar dari (>), perintah akan menimpa konten asli file, jika file sudah ada. Saat Anda menggunakan dua karakter lebih besar dari (>>), perintah akan menambahkan output ke konten asli file.
$ command >> filename
Mengalihkan Kesalahan Standar
Perintah yang menggunakan nomor deskriptor file (2) dan tanda lebih besar dari (>) mengalihkan semua pesan kesalahan standar ke file /dev/null.
$ command 2> /dev/null
Contoh berikut menunjukkan keluaran standar dan kesalahan standar yang dialihkan ke file data.txt.
$ ls /tmp 1> data.txt 2>&1Catatan :Sintaks 2>&1 menginstruksikan shell untuk mengarahkan stderr (2) ke file yang sama yang menerima stdout (1).
Karakter Pipa
Karakter pipa mengarahkan output standar dari satu perintah ke input standar dari perintah lain. Perintah pertama menulis output ke output standar dan perintah kedua membaca output standar dari perintah sebelumnya sebagai input standar.
$ command | command
Misalnya, gunakan output standar dari perintah who sebagai input standar untuk perintah wc -l.
$ who | wc -l 35
Untuk melihat daftar semua subdirektori yang terletak di direktori /etc, masukkan perintah berikut.
$ ls -F /etc | grep "/" X11/ acct/ apache/ apache2/
Gunakan output dari perintah head sebagai input untuk perintah 'xargs ls'.
head -10 data.txt | xargs ls