web-dev-qa-db-ja.com

一部のディレクトリで、複数の列に出力が表示されないのはなぜですか?

lsコマンドとntfsファイルシステムは、色とdircolorsオプションを使用してそれらを微調整する方法について非常に広く議論されています。しかし、それよりも多くのように思われます。14.04から16.04への最近の更新の後にのみ遭遇し始めました。

Ntfsフォルダーでは、色のオプションをオフにすることができましたが、lsはデフォルトで他のフォルダーにある列ビューではなく、ファイルの単一列を吐き出しているようです。さらに、オプション-x-cなどを使用して強制しても、同じ単一の列が得られます。

dircolorsオプションを編集できるため、色に問題はありませんが、この単一の列ビューを変更することはできません。

だから、ファイルやディレクトリの実行可能権限(一般的にNTFSパーティションに見られる)に依存する色や単一列ビューなど、これらの実行可能ファイルに依存する問題を排除できるかどうかを尋ねたいですか? 14.04まで持っていなかったので、復元したいと思います。以前はディレクトリが色分けされていましたが、大丈夫です。

2
Aseem Dua

お気づきかもしれませんが、 sudodus前述 のように、--color=neverは色付き出力を防ぎます。ただし、これが表示されている列の数に関連しているかどうか、またはどのように関連しているかは明らかではありません。

-cを試すことに言及しました。そのフラグはソート順を指定し、複数の列での印刷には対応していません。列に印刷するフラグは-C(つまり、capitalC)です。まだ試していない場合は試してみてくださいが、この特定の状況では役に立たないと思います。

通常、複数の列でディレクトリのコンテンツにlsを取得できない場合、それは少なくとも1つのファイルがあり、名前が長すぎて収まらないためです適切に整列された2番目の列を端末に表示できるようにします。

通常は、その状況で表示される複数の列をwantしたくないだけです。出力はそのようにはあまり意味がありません。

それが起こっている場合、次の方法でファイルを複数の列にリストできます。

  • 端末の幅を広げます。グラフィカル端末エミュレータを使用している場合は、ウィンドウを大きくしてlsを実行するだけで十分です。再び。これは通常、SSHでも機能します。
  • 一部のファイルのみをリストします。たとえば、.txtで終わるファイルを見るだけで、実際に長い名前のファイルにはその接尾辞はありません。次に、ls *.txtを使用できます。

これをすべて試してみて、それが起こっているのではなく、lsで使用される色の設定中に変更したものが問題の原因であると確信している場合、詳細情報は必要です。特に、行った変更を指定し、変更されたファイル(または少なくとも関連部分)を表示し、type -a lsの出力を提供する必要があります。

4
Eliah Kagan

man lsから

Using color to distinguish file types is disabled both by default
and with --color=never. With --color=auto, ls emits color codes
only when standard output is connected to a terminal. The LS_COLORS
environment variable can change the settings. Use the dircolors
command to set it.

したがって、~/.bashrcのエイリアスはそれを行う必要があります(既に開いているターミナルウィンドウでsource ~/.bashrcを実行した後、新しいターミナルウィンドウで自動的に)

alias ls='ls --color=never'

他のエイリアスの近くに行を追加できます。

0
sudodus