Pengalihan Output Input di Contoh Linux/Unix
⚡ Ringkasan Cerdas
Pengalihan (redirection) di Linux dan Unix mengubah tempat suatu perintah membaca input atau mengirim output, atau menukarnya.ping Papan ketik dan layar untuk file atau perangkat yang menggunakan operator seperti tanda lebih besar dari, tanda kurang dari, dan operator tambah.

Pengalihan adalah salah satu fitur yang paling berguna dari Linux dan shell Unix, karena memungkinkan Anda memutuskan ke mana sebuah perintah membaca inputnya dan mengirimkan outputnya. Halaman ini menjelaskan pengalihan output, input, dan error dengan contoh-contoh yang telah dikerjakan.
Apa itu Pengalihan?
Pengalihan (redirection) adalah fitur di Linux yang memungkinkan Anda mengubah perangkat input dan output standar saat menjalankan perintah. Alur kerja dasar dari setiap perintah adalah sebagai berikut: perintah Linux Artinya, ia menerima input dan memberikan output.
- Perangkat input standar (stdin) adalah keyboard.
- Perangkat keluaran standar (stdout) adalah layar.
Dengan pengalihan, input dan output standar di atas dapat diubah.
Pengalihan Keluaran
Grafik di bawah ini menandai awal contoh pengalihan output.
Simbol ">" digunakan untuk pengalihan output (STDOUT).
Contoh:
ls -al > listings
Di sini, output dari perintah ls -al dialihkan ke file "listings" alih-alih ke layar Anda. Tangkapan layar di bawah menunjukkan hasilnya.
Catatan: Gunakan nama file yang benar saat mengalihkan output perintah ke file. Jika file dengan nama yang sama sudah ada, perintah yang dialihkan akan menghapus isinya lalu menimpanya.
Jika Anda tidak ingin file ditimpa tetapi ingin menambahkan konten ke file yang sudah ada, gunakan operator '>>'. Tangkapan layar di bawah menunjukkan konten yang ditambahkan dengan '>>'.
Anda dapat mengalihkan output standar tidak hanya ke file, tetapi juga ke perangkat.
$ cat music.mp3 > /dev/audio
Perintah cat membaca file musik.mp3 dan mengirimkan output ke /dev/audio, yang merupakan perangkat audio. Jika konfigurasi suara di PC Anda benar, perintah ini akan memutar file musik.mp3.
Pengalihan masukan
Grafik di bawah ini memperkenalkan pengalihan input.
Simbol '<' digunakan untuk pengalihan input (STDIN).
Contoh: Program email di Linux dapat membantu Anda mengirim email dari terminal.
Anda dapat mengetik isi email menggunakan keyboard, perangkat input standar. Namun, jika Anda ingin melampirkan file ke email, Anda dapat menggunakan operator pengalihan input dalam format berikut.
mail -s "Subject" to-address < Filename
Tangkapan layar di bawah ini menunjukkan perintah mail yang membaca sebuah file sebagai inputnya.
Ini melampirkan file ke email, dan email tersebut dikirim ke penerima.
Contoh-contoh di atas sederhana. Sekarang mari kita lihat beberapa teknik pengalihan tingkat lanjut yang memanfaatkan deskriptor file.
File Descriptatau (FD)
Di Linux dan Unix, semuanya adalah berkas. Berkas biasa, direktori, dan bahkan perangkat adalah berkas. Setiap berkas memiliki nomor terkait yang disebut deskriptor berkas (FD).
Diagram di bawah ini menunjukkan aliran standar dan deskriptor file-nya.
Layar Anda juga memiliki deskriptor file. Ketika sebuah program dijalankan, output dikirim ke deskriptor file layar, dan Anda melihat output program di monitor Anda. Jika output dikirim ke deskriptor file printer, output program akan dicetak.
Pengalihan Kesalahan
Setiap kali Anda menjalankan program atau perintah di terminal, tiga file selalu terbuka, yaitu input standar, output standar, dan error standar.
File-file ini selalu ada setiap kali sebuah program dijalankan. Seperti yang dijelaskan sebelumnya, deskriptor file dikaitkan dengan setiap file ini.
| File | File Descriptor |
|---|---|
| STDIN Masukan Standar | 0 |
| STDOUT Keluaran Standar | 1 |
| Kesalahan Standar STDERR | 2 |
Secara default, aliran kesalahan ditampilkan di layar. Pengalihan kesalahan mengarahkan kesalahan ke file selain layar.
Mengapa Pengalihan Kesalahan?
Pengalihan kesalahan adalah salah satu fitur yang sangat populer di Unix dan Linux.
Pengguna Unix yang sering menggunakan pasti tahu bahwa banyak perintah menghasilkan banyak sekali kesalahan. Misalnya, saat mencari file, biasanya akan muncul pesan kesalahan. izin Kesalahan yang ditolak biasanya tidak membantu orang yang mencari file tertentu. Saat menjalankan skrip shell, Anda seringkali tidak ingin pesan kesalahan mengacaukan output program normal.
Solusinya adalah mengarahkan pesan kesalahan ke sebuah file.
Contoh 1
$ myprogram 2>errorsfile
Screenshot di bawah ini menunjukkan perintah ini di terminal.
Di atas, kita menjalankan program bernama myprogram. Deskriptor file untuk kesalahan standar adalah 2. Dengan menggunakan “2>”, kita mengarahkan output kesalahan ke file bernama “errorsfile”. Dengan demikian, output program tidak dipenuhi dengan kesalahan.
Contoh 2
Berikut contoh lain yang menggunakan pernyataan find.
find . -name 'my*' 2>error.log
Dengan menggunakan perintah find, kita mencari di direktori saat ini “.” untuk sebuah file yang namanya diawali dengan “my”, dan mengirimkan setiap kesalahan ke error.log.
Contoh 3: Mari kita lihat contoh yang lebih kompleks.
Administrator server sering kali membuat daftar direktori dan menyimpan output kesalahan serta output standar dalam sebuah file, yang dapat diproses kemudian. Berikut adalah perintahnya.
ls Documents ABC> dirlist 2>&1
Diagram di bawah ini menunjukkan kedua aliran data tersebut digabungkan dalam satu file.
Sini:
- 2>&1 berarti bahwa STDERR dialihkan ke target yang sama dengan STDOUT (yaitu daftar direktori file).
- Output kesalahan dialihkan ke output standar, yang kemudian dialihkan lagi ke direktori file. Oleh karena itu, kedua aliran tersebut ditulis ke direktori file.
Diagram di bawah ini merangkum bagaimana input, output, dan pengalihan kesalahan saling terkait.






.png)