web-dev-qa-db-ja.com

lsコマンドのページネーションを有効にする方法は?

DOSでdir /pが行うように、ページネーションを有効にするlsコマンドの同等のオプションは何ですか?

33
NES

ls自体に直接的な同等物はありませんが、 less ユーティリティーがあり、コマンドの出力を行またはページでスクロール可能な個別のページとしてフォーマットします。

ls -C | less

-Cが列表示をトリガーする場所。引数としてlahls -lah)を使用して、 line by line display with a表示されているllファイル(隠しファイルを含む) humanで読み取り可能なファイルサイズ。

  • 色を適切に表示するにはls--color=always引数を追加し、less *に-R引数を追加する必要があります。

    ls -C --color=always | less -R

    alt text
    これは、 'ls -ah --color = always | less -R '

more とは対照的に、 less を使用すると、出力をスクロールできます。また、非常に大きなリストの場合は少し高速です。

パイプは次のように機能します。

すべてのプログラムには入力と出力があり、パイプはあるプログラムの出力(ls)を別のプログラムの入力(less)にリダイレクトします。そして、単純に入力を期待し、それからフォーマットします。

  • もっと古いDOSの同等物は、 pg

    ls | pg
    

あなたもすることができます

  • ls | headまたはls | tailを使用して、出力の最初または最後の部分のみを表示します
  • watch "ls"を使用してディスプレイを開いたままにし、数秒ごとに更新して変更を監視します
  • 画面から遠く離れて座っている場合は、banner $(ls)を使用します。 (;

  • そのすべてを覚えておくのが長すぎる場合、 alias を設定できます

    テキストエディタで~/.bash_aliasesを開き、次のようなものを追加します。

    alias lsp="ls -ah --color=always | less -R"
    

    (これは、新しい仮想端末が起動するたびに実行されるスクリプトです。そこにすべての永続的なエイリアスを設定する必要があります)

    これで、lspまたは任意の名前を入力できます。

    さらに引数をエイリアスに渡すことができるようにしたい場合は、代わりに関数を定義する必要があります:

    lsp(){ ls -ah --color=always "$@" | less -R; }
    

    主に次のような関数:name(){ commands; };は引数、$1$2$3などを受け入れることができます。 $@は、「引数がある場合はすべて」を意味します。

    これで、lsp *.pylsp -Cなどのようなものを実行できます。引数をlsに渡される位置に挿入します。また、重要なコマンドであれば、$ *をより少なく挿入することもできます。 man ls (読み取り価値)でlsのすべての引数を確認できます。


*:この理由は、何かをパイプするたびに、色を表示できないターミナル(実際には他のプログラム)を検出するためです。 「--color = always」は、lsにこれを無視させます。 -Rスイッチを使用すると、画面の再描画が少なくなります 色のエスケープ が適切になります。

53
Stefano Palazzo

ページネーション用のlsコマンドがあるかどうかわかりません。ただし、次のようにパイプとlessを使用できます。

ls | less

そして、qを使用して終了します。

3
Ragnar123

ls | lessまたはls | moreを試してください。 2番目はDOSバージョンに近いものです。

1
FUZxxl