dポイントプレゼントキャンペーン実施中!

lsコマンドについて。

$lsを実行したときに、結果は各ファイル名が改行で区切られて出力されると思うのですが、コンソールにはスペースかタブで区切られているように表示されます。

これはシェルがlsコマンドの結果に含まれる改行をスペースなどに変えてコンソールに出力しているからなのでしょうか。

よろしくお願いします

A 回答 (2件)

違います。



ls のオプションで、1ファイルずつ改行で区切るか、スペースで区切って1行に複数ファイル名を表示するか決まります。
ls -1
ls -C
ls -x

デフォルトは、出力が端末の時は -C 、出力が端末以外(ファイルとかパイプとか)の時は -1 です。
    • good
    • 0

lsコマンド自身が、


・出力がコンソールの時→ファイルを横に並べて表示
・出力がファイルへのリダイレクトの時→改行で区切って1行1ファイルで出力
するようになっています。

オプションを明示してやれば、
「ls -1」とすれば、1行1ファイルで表示されますし、
「ls -C > hogehoge.txt」とすれば、1行に複数ファイルが記述された状態でファイルに出力されます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!