Belajar dengan membaca secara berurutan

Redirection — > >> < 2>

Timpa file dengan >, tambahkan dengan >>, berikan standard input dengan <, dan kirim hanya output error ke file terpisah dengan 2> — praktik langsung di terminal browser.

Mengirim Output ke File — > dan >>

Hasil sebuah perintah biasanya langsung dicetak ke layar, tetapi redirection mengalihkan output tersebut ke sebuah file.

Tulis perintah > file dan apa yang seharusnya tampil di layar akan dituliskan ke dalam file.

> mengosongkan file sebelum menulis (timpa).

Jika kamu ingin mempertahankan isi yang sudah ada dan menambahkan di bagian akhir, gunakan >> (tambah).

Mengacaukan keduanya bisa menghapus data yang kamu butuhkan, jadi mari kita pahami perbedaannya dengan jelas.

> menimpa, >> menambahkan
echo A > out.txtisi out.txt: Aecho B > out.txtout.txt: B (A hilang)echo C >> out.txtout.txt: B / C
> menghapus isi lalu menimpa; >> menambahkan di bagian akhir.
SimbolArti
>Tulis standard output ke file (kosongkan dulu, timpa)
>>Tambahkan standard output di akhir file
<Berikan isi file sebagai standard input
1>Tulis hanya standard output ke file (sama dengan >)
2>Tulis hanya standard error ke file terpisah
echo 'line 1' > out.txt    # timpa (buat baru)
echo 'line 2' >> out.txt   # tambahkan
cat out.txt                # line 1 dan line 2
echo 'reset' > out.txt     # timpa (isi sebelumnya hilang)
cat out.txt                # hanya reset

① Tulis output dari echo 'first' ke note.txt menggunakan >.

② Tambahkan baris second ke note.txt yang sama dengan >>, dan pastikan ada 2 baris dengan cat note.txt.

③ Terakhir tulis reset ke note.txt dengan >, dan pastikan dengan cat note.txt bahwa isinya berubah menjadi hanya reset. (Jalankan dengan benar dan penjelasan akan muncul.)

Linux console
0 / 4 selesai
Loading Linux Terminal...

Routing Input dan Error — < dan 2>

< adalah kebalikan dari output: ia memberikan isi file sebagai standard input perintah.

Tulis perintah < file dan, alih-alih mengetik di keyboard, isi file dialirkan ke dalam perintah tersebut.

Berbeda dengan wc -l nums.txt, dengan < nums.txt nama file tidak ditambahkan ke output — hanya isinya yang diteruskan.

Output sebuah perintah terdiri dari dua jenis: hasil normal (standard output) dan pesan error (standard error).

Standard output diberi nomor 1 dan standard error diberi nomor 2; kamu mengarahkan standard output dengan 1> (sama dengan >) dan standard error dengan 2>.

Dengan 2> kamu bisa mengirim hanya error ke file terpisah, yang berguna saat kamu ingin mencatat hasil dan error secara terpisah.

< untuk input, 1> dan 2> mengarahkan output
wc -l < data.txtberikan data.txtsebagai inputls f 1> out.txtstandard output (1)saja → out.txtcat miss 2> err.txtstandard error (2)saja → err.txt
< memberikan file sebagai input; 1> mengirim hanya standard output dan 2> hanya standard error ke file terpisah.
printf 'x\ny\nz\n' > nums.txt   # bahan 3 baris
wc -l < nums.txt                # berikan nums.txt sebagai input → 3
cat missing.txt 2> err.txt      # arahkan error ke err.txt
cat err.txt                     # cek pesan error

① Buat file 3 baris dengan printf 'x\ny\nz\n' > nums.txt.

② Berikan nums.txt sebagai standard input ke wc dengan opsi penghitung baris menggunakan <, dan pastikan jumlah baris ditampilkan.

③ Coba buka file yang tidak ada dengan cat, dan arahkan pesan error tersebut ke err.txt dengan 2>.

④ Pastikan dengan cat err.txt bahwa pesan error tersimpan ke file.

Linux console
0 / 4 selesai
Loading Linux Terminal...

> mengosongkan file seketika

> mengosongkan isi file sebelum perintah dijalankan.

Jika kamu ingin menambahkan baris ke isi yang sudah ada, selalu gunakan >> (tambah).

Demikian pula, 2> menimpa file target dengan output error.

Kombinasikan Semuanya — Buat Log dan Hitung

Dalam pekerjaan nyata, kamu sering memulai catatan dengan >, terus menambahkan baris dengan >>, dan akhirnya mengecek jumlahnya dengan wc.

Mari kita gabungkan simbol-simbol yang sudah dipelajari untuk berlatih membuat dan menghitung log sederhana.

① Mulai catatan dengan menulis satu baris hit ke access.log dengan output echo via >.

② Tambahkan hit dua kali lagi ke access.log yang sama dengan >>, dan pastikan ada 3 baris dengan cat access.log.

③ Berikan access.log ke wc dengan opsi penghitung baris via <, dan tampilkan berapa banyak catatan yang sudah terkumpul.

Linux console
0 / 4 selesai
Loading Linux Terminal...

Menggabungkan Beberapa Redirection — > 2> 2>&1

Kamu bisa menentukan beberapa redirection pada satu perintah sekaligus.

Untuk memisahkan standard output dan error output ke file yang berbeda, tuliskan berurutan seperti > tujuan 2> tujuan-error.

Untuk menggabungkan keduanya ke satu file, gunakan 2>&1 untuk mengirim standard error (2) ke tujuan yang sama dengan standard output (1).

2>&1 ditulis setelah kamu menetapkan tujuan dengan >.

BentukArti
> out 2> errArahkan standard output ke out dan error ke err secara terpisah
2>&1Kirim standard error (2) ke tujuan yang sama dengan standard output (1)
> all 2>&1Tulis standard output dan error bersama-sama ke all
touch real.txt                                  # siapkan file nyata
ls real.txt missing.txt > out.txt 2> err.txt    # output dan error terpisah
cat out.txt                                     # real.txt (standard output)
cat err.txt                                     # error untuk missing.txt
ls real.txt missing.txt > all.txt 2>&1          # keduanya ke satu file
cat all.txt                                     # output dan error sekaligus

① Siapkan satu file nyata dengan touch real.txt.

② Jalankan ls real.txt missing.txt > out.txt 2> err.txt untuk mengarahkan standard output ke out.txt dan error ke err.txt secara terpisah.

③ Cek isi masing-masing dengan cat out.txt dan cat err.txt.

④ Selanjutnya jalankan ls real.txt missing.txt > all.txt 2>&1 dan pastikan dengan cat all.txt bahwa standard output dan error digabungkan ke file yang sama.

Linux console
0 / 6 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Simbol mana yang menambahkan baris baru di akhir sambil mempertahankan isi file yang sudah ada?

Soal 2Apa yang < lakukan untuk sebuah perintah?

Soal 3Apa yang terjadi saat kamu menjalankan cat missing.txt 2> err.txt?