好奇心から、デスクトップディレクトリにls
と入力すると、余分なスペースが必要なのかどうか疑問に思っていました。比較...
~/Desktop$ ls
file1 file2 file3
...に...
~/Documents$ ls
file1 file2 file3
デスクトップでls
と入力すると、行の先頭に(ファイル名の一部ではなく)余分なスペースが表示されることに注意してください。行の先頭にこの余分なスペースができる場所の例は他にありません。他の誰かがこれを受け取りますか?理由はありますか?
注意:私はUbuntu Bionic Beaver LTSリリースとそれに付属するデフォルトのターミナルを使用しています。
余分なスペースは、ディレクトリ内に'
が必要なファイル名がある場合に表示されます(例:スペースやその他の特殊文字を含むファイル名)。
~/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
画面にfile1 file2 file3
が正確に表示されているものではないと確信しています。簡単に関連する可能性がある貴重な情報(実際のファイル名)を省略しました。
私の想定では、スペースまたはその他の特殊文字を含むファイル名を持っています。
Coreutilsの新しいバージョンのls
は、このようなファイル名を引用します。通常は単一引用符で囲みます。さらに、そのような引用を必要とするファイルが少なくとも1つある場合は、他のすべてのファイル名の前にスペースを追加して、たまたま下にある場合に「うまく」整列するようにします。つまり、単一引用符(アポストロフィ)はアライメントでは無視されます。
詳細については、ls
のmanualページの--quoting-style
および-N
を参照してください。詳細については、infoページの「ファイル名のフォーマット」を参照してください。たとえば、 ls
をls -N
にエイリアスすることを検討してください。