ls
seçeneği --group-directories-first
, dizinlerin en üstte listelenmesine neden olur, bu da ls
güzel ve temiz çıktı sağlar :
ls -l --group-directories-first
Ancak, symlinks
aslında symlinks
dizinler için geçerli değildir . Kullanmak için bir olasılık var
ls -l -L --group-directories-first
her iki tür dizini de listeleyecek, ancak uygun dizin ile işaretlenmiş dizin arasında ayrım yapamayacak.
Can ls
hala düzenli dizinleri ayrı tutarken, üstte sembolik olarak dizinleri görüntüler?
EDIT:
kullanıyorum bash
.
ls
yapar lstat()
(ve readlink
kullandığınız sürece sembolik bağlar için) -L
seçeneğini (bu durumda kullandığı stat()
)
S_ISLNK(st_mode)
doğru döndüğünü düşünmüştüm stat()
, ama öyle değil - sadece böyle yapıyor lstat()
. Ayrıca, bağlantı bir bağlantıya bağlantı olsa bile ISLNK, stat aracılığıyla true değerini döndürmez. Bu ISLNK
tür belirtilmemiş olmasına rağmen, asla stat aracılığıyla doğru döndürmeyecek anlamına gelir ...
stat
sonunda dosyanın özelliklerini verir. Bu yoksa veya erişilemezse, stat
bir ENOENT döndürür, bu nedenle döndürülen şey stat
asla bir sembolik bağlantı olmayacaktır. stat()
sembolik bağlantılar hakkında size hiçbir zaman bir şey söylemeyecektir, tıpkı open
sembolik bağlantıyı asla açmayacak veya chmod()
bir sembolik
ls
. Görestat()
sistem çağrısı, bir dizine sembolik bağ bir dizin (halaS_ISDIR(st_mode)
gerçek dönecektir). Belli oluyorduls
sembolik azalttı önce bu denetler.