ls
オプションを指定する--group-directories-first
と、ディレクトリが一番上に表示され、出力がls
きれいになります。
ls -l --group-directories-first
ただし、symlinks
実際symlinks
にはディレクトリに対するには作用しません。使用する可能性があります
ls -l -L --group-directories-first
これは両方の種類のディレクトリを上にリストしますが、適切なディレクトリとシンボリックリンクされたディレクトリを区別しないため、やはり混乱を招きます。
ls
通常のディレクトリとは区別しながら、シンボリックリンクされたディレクトリを上に表示できますか?
編集:
私はを使用していbash
ます。
@goldilocks、ない、
—
ステファンChazelas
ls
ないlstat()
(とreadlink
シンボリックリンクの場合)は、使用しない限り、-L
(それが使用する場合のオプションをstat()
)
@StephaneChazelas:うーん、生きて学びなさい。私は
—
goldilocks
S_ISLNK(st_mode)
viaもtrueを返すと思っていましたstat()
が、それはありませんlstat()
。また、ISLNKは、リンクがリンクへのリンクであっても、statを介してtrueを返しません。それISLNK
は一種の不特定ですが、statを介してtrueを返すことは決してないかもしれないという意味です...
@goldilocks、
—
ステファンChazelas
stat
シンボリックリンクの最後にあるファイルのプロパティを提供します。それが存在しないかアクセスできない場合、stat
はENOENTを返すため、によって返されるものはstat
シンボリックリンクにはなりません。stat()
同じように、あなたにシンボリックリンクについては何も教えてくれないだろうopen
シンボリックリンクを開くことはありません、またはchmod()
シンボリックリンクのパーミッションを変更しません...など
ls
。stat()
システムコールによると、ディレクトリへのシンボリックリンクはまだディレクトリです(S_ISDIR(st_mode)
trueを返します)。Evidentiallyls
シンボリックリンクを割り引く 前に、それはこのことを確認します。