こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

lsコマンドについて。

lsコマンドについて。

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

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

よろしくお願いします

投稿日時 - 2010-07-17 19:21:36

QNo.6045155

暇なときに回答ください

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

違います。

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

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

投稿日時 - 2010-07-17 20:10:39

ANo.1

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

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

投稿日時 - 2010-07-17 20:06:34