Apa opsi yang setara untuk ls
perintah untuk mengaktifkan pagination seperti pada DOS the dir /p
do?
sumber
Apa opsi yang setara untuk ls
perintah untuk mengaktifkan pagination seperti pada DOS the dir /p
do?
Tidak ada persamaan langsung dalam ls
dirinya sendiri, tetapi ada less
utilitas, yang akan memformat output dari perintah apa pun sebagai halaman terpisah, dapat digulirkan dengan baris atau halaman:
ls -C | less
Di mana -C
memicu tampilan kolom. Gunakan lah
sebagai argumen ( ls -lah
) untuk mendapatkan l ine oleh layar sejalan dengan sebuah file ll yang ditampilkan (termasuk yang tersembunyi), dan h Uman filesizes dibaca.
Agar warna ditampilkan dengan benar , Anda perlu menambahkan --color=always
argumen ls
, dan -R
argumen pada less *:
ls -C --color=always | less -R
ini menunjukkan 'ls -ah --color = always | kurang -R '
Berbeda dengan more
, less
akan membiarkan Anda menggulir output. Ini juga sedikit lebih cepat untuk daftar yang sangat besar.
Pipa bekerja seperti ini:
Setiap program memiliki input dan output, sebuah pipa mengalihkan output dari satu program (ls) ke input program lain (kurang). Dan kurang hanya mengharapkan input yang kemudian format.
Setara dengan dos sekolah yang lebih lama adalah pg
:
ls | pg
Anda juga bisa
ls | head
atau ls | tail
untuk hanya menampilkan bagian pertama atau terakhir dari outputwatch "ls"
untuk menjaga layar tetap terbuka, memperbarui setiap beberapa detik untuk menonton perubahanbanner $(ls)
jika Anda duduk sangat jauh dari layar. (;Jika terlalu lama untuk diingat, Anda dapat mengatur alias untuknya:
Buka ~/.bash_aliases
dengan editor teks dan tambahkan sesuatu seperti ini ke dalamnya:
alias lsp="ls -ah --color=always | less -R"
(ini adalah skrip yang dijalankan setiap kali terminal virtual baru dijalankan, Anda harus mengatur semua alias permanen Anda di sana)
Sekarang Anda bisa mengetik lsp
, atau nama apa pun yang Anda pilih.
Jika Anda ingin dapat meneruskan argumen lebih lanjut ke alias Anda, kami perlu mendefinisikan fungsi sebagai gantinya:
lsp(){ ls -ah --color=always "$@" | less -R; }
Sebuah fungsi, terutama tampak seperti ini: name(){ commands; };
bisa menerima argumen, $1
, $2
, $3
dan sebagainya. $@
berarti "setiap argumen, jika ada" .
Anda sekarang dapat menjalankan sesuatu seperti lsp *.py
, lsp -C
, dan sebagainya. Kami menyisipkan argumen pada titik di mana mereka diteruskan ke ls. Kita juga bisa memasukkan $ * dengan harga lebih murah, jika itu adalah perintah penting. Anda dapat melihat semua argumen ls di man ls
(layak dibaca).
*: Alasan untuk ini adalah, bahwa setiap kali Anda melakukan sesuatu Pipe, ia mendeteksi Terminal (sebenarnya program lain) tidak mampu menampilkan warna. "--color = always" memaksa ls untuk mengabaikan ini. Saklar -R membuat pengecatan layar menjadi lebih sedikit, keluar dari warna dengan benar.
$*
dan$@
melakukan hal yang sama persis. Mereka berkembang menjadi$1 $2 $3 ...
. Dikutip, bagaimanapun,"$@"
mengembang ke"$1" "$2" "$3" ...
sementara"$*"
mengembang ke"$1 $2 $3 ..."
(yaitu, semua argumen menjadi satu string, menggunakan karakter pertamaIFS
sebagai pemisah). mywiki.wooledge.org/BashGuide/ParametersSaya tidak yakin apakah ada perintah ls untuk pagination. Namun, Anda dapat menggunakan pipa dan
less
, seperti ini:Dan gunakan q untuk keluar.
sumber
Coba
ls | less
atauls | more
. Yang kedua dekat dengan versi DOS.sumber
ls --color=always -C | less -R