• 締切済み

lsコマンドについて。

lsコマンドについて。 $lsを実行したときに、結果は各ファイル名が改行で区切られて出力されると思うのですが、コンソールにはスペースかタブで区切られているように表示されます。 これはシェルがlsコマンドの結果に含まれる改行をスペースなどに変えてコンソールに出力しているからなのでしょうか。 よろしくお願いします

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

違います。 ls のオプションで、1ファイルずつ改行で区切るか、スペースで区切って1行に複数ファイル名を表示するか決まります。 ls -1 ls -C ls -x デフォルトは、出力が端末の時は -C 、出力が端末以外(ファイルとかパイプとか)の時は -1 です。

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

lsコマンド自身が、 ・出力がコンソールの時→ファイルを横に並べて表示 ・出力がファイルへのリダイレクトの時→改行で区切って1行1ファイルで出力 するようになっています。 オプションを明示してやれば、 「ls -1」とすれば、1行1ファイルで表示されますし、 「ls -C > hogehoge.txt」とすれば、1行に複数ファイルが記述された状態でファイルに出力されます。

関連するQ&A