lsmenguji apakah output akan ke terminal. Jika output tidak menuju terminal, maka -1defaultnya. (Ini dapat diganti dengan salah satu -C, -matau -xpilihan.)
Jadi, ketika lsdigunakan dalam pipa dan Anda belum menimpanya dengan opsi lain, lsakan digunakan -1. Anda dapat mengandalkan ini karena perilaku ini diperlukan oleh POSIX
Spesifikasi POSIX
POSIX memerlukan -1sebagai default setiap kali output tidak pergi ke terminal:
Spesifikasi POSIX :
Format default adalah daftar satu entri per baris ke output standar; pengecualian untuk terminal atau ketika salah satu opsi -C, -m, atau -x ditentukan. Jika output ke terminal, formatnya ditentukan implementasi.
Tiga opsi yang menggantikan format kolom tunggal default adalah:
-C
Tulis output multi-teks-kolom dengan entri diurutkan ke bawah kolom, sesuai dengan urutan susun. Jumlah kolom teks dan karakter pemisah kolom tidak ditentukan, tetapi harus disesuaikan dengan sifat perangkat output. Opsi ini menonaktifkan output format panjang.
-m
Streaming format output; daftar nama jalur di seluruh halaman, dipisahkan oleh karakter <comma> diikuti oleh karakter <spasi>. Gunakan karakter <newline> sebagai terminator daftar dan setelah urutan pemisah ketika tidak ada ruang pada baris untuk entri daftar berikutnya. Opsi ini menonaktifkan output format panjang.
-x
Sama dengan -C, kecuali bahwa output multi-teks-kolom diproduksi dengan entri diurutkan, bukan ke bawah, kolom. Opsi ini menonaktifkan output format panjang.
Dokumentasi GNU
Dari manual GNU :
'-1'
'--format = kolom tunggal'
Sebutkan satu file per baris. Ini adalah default untuk ls ketika output standar bukan terminal . Lihat juga opsi -b dan -q untuk menekan output langsung dari karakter baris baru dalam nama file. [Penekanan ditambahkan]
Contohnya
Mari kita membuat tiga file:
$ touch file{1..3}
Ketika output masuk ke terminal, GNU lsmemilih untuk menggunakan format multi-kolom:
$ ls
file1 file2 file3
Ketika output beralih ke pipeline, spec POSIX mensyaratkan bahwa satu kolom adalah default:
$ ls | cat
file1
file2
file3
Tiga pengecualian yang mengesampingkan perilaku kolom tunggal default adalah -muntuk dipisahkan dengan koma, -Cuntuk kolom diurutkan ke bawah, dan -xuntuk kolom diurutkan di:
$ ls -m | cat
file1, file2, file3
$ ls -C | cat
file1 file2 file3
$ ls -x | cat
file1 file2 file3
n=0; for i in .* *; do ((n++)) ; done ; echo $n(jatuhkan. * jika Anda tidak ingin menghitungnya). atau:ls -1d ./.* ./* | grep '^\./' | wc -l(karena nama file tidak boleh mengandung '/')