Pengalihan Output Input di Contoh Linux/Unix

Apa itu Pengalihan?

Pengalihan adalah fitur di Linux sehingga saat menjalankan perintah, Anda dapat mengubah perangkat input/output standar. Alur kerja dasar apa pun perintah Linux adalah dibutuhkan masukan dan menghasilkan keluaran.

  • Perangkat input standar (stdin) adalah keyboard.
  • Perangkat keluaran standar (stdout) adalah layar.

Dengan pengalihan, input/output standar di atas dapat diubah.

Klik di sini jika video tidak dapat diakses

Pengalihan Keluaran

The '>' simbol digunakan untuk pengalihan output (STDOUT).

Pengalihan Keluaran

Contoh:

ls -al > listings

Di sini output dari perintah ls -al diarahkan kembali ke file "daftar" alih-alih layar Anda.

Pengalihan Keluaran

Note: Gunakan nama file yang benar saat mengarahkan output perintah ke file. Jika ada file yang ada dengan nama yang sama, perintah redirect akan menghapus isi file itu dan mungkin akan ditimpa.โ€

Jika Anda tidak ingin file ditimpa tetapi ingin menambahkan lebih banyak konten ke file yang ada, maka Anda harus menggunakan '>>' operator.

Pengalihan Keluaran

Anda dapat mengarahkan output standar, tidak hanya ke file, tetapi juga 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 sudah benar, perintah ini akan memutar file musik.mp3

Pengalihan masukan

The 'Simbol ' digunakan untuk pengalihan input (STDIN).

Pengalihan masukan

Contoh: Program surat di Linux dapat membantu Anda mengirim email dari Terminal.

Anda dapat mengetikkan isi email menggunakan papan ketik perangkat standar. Namun, jika Anda ingin melampirkan File ke email, Anda dapat menggunakan operator pengalihan input dalam format berikut.

Mail -s "Subject" to-address < Filename

Pengalihan masukan

Ini akan melampirkan berkas dengan email, dan akan dikirimkan ke penerima.

Contoh di atas sederhana saja. Mari kita lihat beberapa teknik pengarahan ulang tingkat lanjut yang memanfaatkan File Descriptatau.

File Descriptatau (FD)

Di Linux/Unix, semuanya adalah file. File biasa, Direktori, dan bahkan Perangkat adalah file. Setiap File memiliki nomor terkait yang disebut File Descriptatau (FD).

Layar Anda juga memiliki File Descriptatau. Ketika suatu program dijalankan, outputnya dikirim ke File Descriptatau layar, dan Anda melihat keluaran program di monitor Anda. Jika output dikirim ke File Descriptatau dari printer, keluaran program akan dicetak.

Pengalihan Kesalahan

Setiap kali Anda menjalankan program/perintah di terminal, 3 file selalu terbuka, yaitu, input standar, output standar, kesalahan standar.

Pengalihan Kesalahan

File-file ini selalu ada setiap kali suatu program dijalankan. Seperti yang dijelaskan sebelumnya, deskriptor file dikaitkan dengan masing-masing 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 adalah merutekan kesalahan ke file selain layar.

Mengapa Pengalihan Kesalahan?

Pengarahan ulang kesalahan adalah salah satu fitur yang sangat populer Unix/Linux.

Pengguna UNIX yang sering akan menganggap bahwa banyak perintah memberi Anda sejumlah besar kesalahan.

  • Misalnya, saat mencari file, seseorang biasanya mendapatkan kesalahan izin ditolak. Kesalahan ini biasanya tidak membantu orang yang mencari file tertentu.
  • Saat menjalankan skrip shell, Anda sering TIDAK ingin pesan kesalahan mengacaukan output program normal.

Solusinya adalah mengarahkan kembali pesan kesalahan ke file.

Contoh 1

$ myprogram 2>errorsfile

Mengapa Pengalihan Kesalahan

Di atas kita sedang mengeksekusi sebuah nama program myprogram.

Deskriptor file untuk kesalahan standar adalah 2.

Menggunakan "2>" kami mengarahkan ulang output kesalahan ke file bernama "errorfile"

Dengan demikian, keluaran program tidak penuh dengan kesalahan.

Contoh 2

Berikut adalah contoh lain yang menggunakan pernyataan find -

find . -name 'my*' 2>error.log

Dengan menggunakan perintah โ€œfindโ€, kita mencari direktori โ€œ.โ€ saat ini untuk file dengan โ€œnamaโ€ yang dimulai dengan โ€œsayaโ€

Mengapa Pengalihan Kesalahan

Contoh 3: Mari kita lihat contoh yang lebih kompleks,

Administrator Server sering kali membuat daftar direktori dan menyimpan keluaran standar dan kesalahan ke dalam sebuah berkas, yang dapat diproses kemudian. Berikut ini perintahnya.

ls Documents ABC> dirlist 2>&1

Di sini,

  • yang menulis output dari satu file ke input file lain. 2>&1 berarti STDERR dialihkan ke target STDOUT (yang merupakan dirlist file)
  • Kami mengarahkan output kesalahan ke output standar yang pada gilirannya diarahkan kembali ke file dirlist. Oleh karena itu, kedua output ditulis ke file dirlist

Mengapa Pengalihan Kesalahan

Ringkasan

  • Setiap file di Linux memiliki File yang sesuai Descriptatau terkait dengannya
  • Keyboard adalah perangkat masukan standar sedangkan layar Anda adalah perangkat keluaran standar
  • โ€œ>โ€ adalah operator pengalihan keluaran. โ€œ>>โ€ menambahkan output ke file yang sudah ada
  • โ€œ<โ€ adalah operator pengalihan masukan
  • ">&"mengarahkan ulang output dari satu file ke file lain.
  • Anda dapat mengarahkan ulang kesalahan menggunakan File yang sesuai Descriptatau 2.

Ringkaslah postingan ini dengan: