GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengarahkan Output ke /dev/null di Linux

Di Linux, program sangat umum diakses menggunakan baris perintah dan output, dengan demikian, ditampilkan di layar terminal. Keluarannya terdiri dari dua bagian:STDOUT (Keluaran Standar ), yang berisi log informasi dan pesan sukses, dan STDERR (Kesalahan Standar ), yang berisi pesan kesalahan.

Seringkali, output berisi banyak informasi yang tidak relevan, dan yang tidak perlu menggunakan sumber daya sistem. Khususnya dalam kasus skrip otomatisasi yang kompleks, di mana ada banyak program yang dijalankan satu demi satu, log yang ditampilkan sangat besar.

Dalam kasus seperti itu, kami dapat menggunakan perangkat semu file ‘/dev/null ' untuk mengarahkan output. Saat output dialihkan ke /dev/null , itu segera dibuang, dan dengan demikian, tidak ada pemanfaatan sumber daya yang terjadi.

Mari kita lihat bagaimana mengarahkan output ke /dev/null di Linux.

Mari kita ambil contoh perintah mv yang mencoba memindahkan dua file ke direktori tertentu, di mana satu file berhasil dipindahkan (menampilkan STDOUT ) dan yang lainnya memberikan kesalahan saat bergerak (menampilkan STDERR ).

$ mv -v tmp.c /etc/apt/sources.list /tmp

Catatan :'-v' argumen ke mv menampilkan log keberhasilan saat file dipindahkan. Tanpa bendera, tidak ada yang dicetak ke STDOUT .

Sekarang, untuk mengalihkan hanya STDOUT ke /dev/null , yaitu untuk membuang keluaran standar, gunakan yang berikut ini:

$ mv -v tmp.c /etc/apt/sources.list /tmp 1>/dev/null

Apa artinya ‘1>/dev/null’?

Di sini '1' menunjukkan STDOUT , yang merupakan bilangan bulat standar yang ditetapkan oleh Linux untuk hal yang sama. Operator '>' , yang disebut operator pengalihan, menulis data ke file. File yang ditentukan dalam kasus ini adalah /dev/null . Oleh karena itu, data tersebut akhirnya dibuang.

Jika ada file lain yang diberikan sebagai ganti /dev/null , keluaran standar akan ditulis ke file itu.

Demikian pula, untuk mengalihkan hanya STDERR ke /dev/null , gunakan bilangan bulat '2' bukannya '1' . Bilangan bulat '2' singkatan dari kesalahan standar.

$ mv -v tmp.c /etc/apt/sources.list /tmp 2>/dev/null

Seperti yang Anda lihat, kesalahan standar tidak ditampilkan di terminal sekarang karena dibuang di /dev/null .

Terakhir, untuk membuang keduanya STDOUT dan STDERR pada saat yang sama, gunakan yang berikut ini:

$ mv -v tmp.c /etc/apt/sources.list /tmp &>/dev/null

Karakter ampersand ('&') menunjukkan bahwa keluaran standar dan kesalahan standar harus dialihkan ke /dev/null dan dibuang. Oleh karena itu, pada tangkapan layar terakhir, kami tidak melihat output apa pun yang tercetak di layar sama sekali.

Kesimpulan

Dalam artikel ini, kita telah melihat cara mengarahkan output ke /dev/null . Hal yang sama dapat digunakan baik dalam perintah atau dalam skrip Bash kompleks yang menghasilkan sejumlah besar log. Jika skrip perlu di-debug, atau harus diuji; dalam kasus seperti itu, log diperlukan untuk melihat dan menganalisis kesalahan dengan benar.

Namun dalam kasus ketika output sudah diketahui dan diantisipasi, dapat dibuang dengan /dev/null . Jika Anda memiliki pertanyaan atau umpan balik, beri tahu kami di komentar di bawah!


Linux
  1. Bagaimana cara mengganti harddisk yang gagal di RAID perangkat lunak Linux

  2. Cara membuat kata sandi acak di linux menggunakan /dev/random

  3. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  1. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  2. Bagaimana Membungkam Sepenuhnya Cronjob Ke /dev/null/?

  3. Bagaimana cara menyalurkan /dev/urandom ke output suara linux?

  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Linux – Bagaimana Cara Membuat /dev/null?

  3. gema atau cetak /dev/stdin /dev/stdout /dev/stderr