デスクトップディレクトリに「ls」と入力すると、なぜ余分なスペースがあるのですか?


27

好奇心からls、デスクトップディレクトリに入力するときに余分なスペースが必要な理由があるのではないかと考えていました。比較...

~/Desktop$ ls
 file1 file2 file3

...に...

~/Documents$ ls
file1 file2 file3

lsデスクトップに入力すると、行の先頭に余分なスペースが表示されることに注意してください(ファイル名の一部ではありません)。行の先頭にこの余分なスペースがある他の場所の例を見つけることができません。他の誰かがこれを取得しますか?理由はありますか?

NB:Ubuntu Bionic Beaver LTSリリースと、それに付属するデフォルトのターミナルを使用しています。


私はこれを持っていません。名前にスペースのみを使用してファイルを作成する場合(touch " ")、前にスペースが2つあります。
pLumo

6
ls -la代わりに実行するかfind -type f -printf "file: -%P-\n"、出力を提供してください。おそらく、印刷できない文字を含むファイルがあります。また、潜在的にファイルのカラーリングはそうしようとし、それに影響を与える可能性がある\lsか、dirコマンド
Sergiy Kolodyazhnyy

最初の2つの提案を試したとき、印刷できない文字を含むファイルは表示されませんでした。...私は\ LSをしようとするが、私はディレクトリを使用しないとき、私はまだスペースがある
バート

35
実際の出力を提示します。
Monica

回答:


85

余分なスペースは、ディレクトリ内に必要なファイル名がある場合に表示されます'(たとえば、スペースまたはその他の特殊文字を含むファイル名)。

~/mytmp$ ls
 a           'file(abc)'         proyecto3.csv   test         Test.sh
 b           'file(ab,c?).mp4'   rootfile        Test1.txt    Test.zip
 F26         'file(abc?).mp4'    scr             Test2.test   vowels
 Feb          guess              script          Test2.txt
'Feb 26 xx'   hw                 something       test.rar

「奇妙な」ファイルを削除した後、私は得る:

~/mytmp$ ls
a    guess  proyecto3.csv  script     test        Test2.txt   Test.sh
b    hw     rootfile       something  Test1.txt   test.rar    Test.zip
F26  loop   scr            speak      Test2.test  testscript  vowels

説明をありがとう-これは私には正しいように聞こえます。私を投げたのは、行の先頭にある余分なスペースが、必ずしも特殊文字を含むファイルの前にある必要はないということです。しかし、これは端末でプレゼンテーションを明確にするために行われたと思います。おかげで再び
Bart

53

画面に正確に表示されてfile1 file2 file3いるものではないはずです。簡単に関連する可能性がある貴重な情報(実際のファイル名)を省略しました。

私の想定では、スペースまたはその他の特殊文字を含むファイル名を持っていることです。

lsこのようなファイル名のcoreutilsの新しいバージョン(通常は単一引用符)。さらに、そのような引用を必要とするファイルが少なくとも1つある場合、他のすべてのファイル名の前にスペースが追加されるため、それらが互いの下にある場合、つまり単一引用符(アポストロフィ)位置合わせでは無視されます。

参照してください--quoting-style-Nマニュアルのページlsいくつかのより多くの詳細については、その中に「ファイル名の書式」セクション情報も、詳細についてのページを。たとえば、へのエイリアシングlsを検討できls -Nます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.