GNU/Linux >> Belajar Linux >  >> Linux

Output Dari Ls Memiliki Baris Baru Tapi Ditampilkan Pada Satu Baris. Mengapa?

Saya pikir saya mungkin mengabaikan poin yang relatif mendasar mengenai shell. Keluaran dari ls perintah secara default memisahkan output dengan baris baru, tetapi shell menampilkan output pada satu baris.

Adakah yang bisa menjelaskan ini kepada saya? Saya selalu menganggap bahwa output hanya dipisahkan oleh spasi, tetapi sekarang setelah saya melihat output dipisahkan oleh baris baru, saya berharap output ditampilkan pada baris terpisah.

Contoh:

[email protected]:~/lpi103-4$ ls text*
text1  text2  text3

baik menunjukkan bahwa output dipisahkan oleh baris baru:

[email protected]:~/lpi103-4$ ls text* | od -c
0000000   t   e   x   t   1  n   t   e   x   t   2  n   t   e   x   t
0000020   3  n
0000022

Jika ada baris baru, mengapa output tidak ditampilkan sebagai:

text1 
text2
text3

Jawaban yang Diterima:

Saat Anda menyalurkan output, ls bertindak berbeda.

Fakta ini tersembunyi di dokumentasi info:

Jika keluaran standar adalah terminal, keluaran dalam kolom (diurutkan secara vertikal) dan karakter kontrol dikeluarkan sebagai tanda tanya; jika tidak, output terdaftar satu per baris dan karakter kontrol adalah output apa adanya.

Untuk membuktikannya, coba jalankan

ls

lalu

ls | less

Ini berarti bahwa jika Anda ingin output dijamin menjadi satu file per baris, terlepas dari apakah itu disalurkan atau dialihkan, Anda harus menjalankan

ls -1

(-1 adalah nomor satu)

Atau, Anda dapat memaksa ls | less untuk menampilkan dalam kolom dengan menjalankan

ls -C

(-C adalah huruf kapital C)


Linux
  1. Proses Setiap Baris Output Dari `ping` Segera Di Pipeline?

  2. Bagaimana Cara Menghapus Satu Baris Dari Sejarah?

  3. Linux – Bagaimana Cara Mengalihkan Perangkat Output Pulseaudio Dari Baris Perintah dengan Kuat?

  1. Mengapa Ada Output Ping Setelah Dihentikan?

  2. Mengulangi setiap baris keluaran ls -l

  3. mengapa output dari `du` seringkali sangat berbeda dari `du -b`

  1. Menghilangkan baris pertama dari keluaran perintah Linux mana pun

  2. Bash jika dalam satu baris

  3. Mencantumkan direktori berdasarkan ukuran dari yang terbesar hingga yang terkecil dalam satu baris