ls
opsi --group-directories-first
menyebabkan direktori terdaftar di atas, yang membuat output menjadi ls
bagus dan bersih:
ls -l --group-directories-first
Namun, itu tidak bertindak symlinks
, yang sebenarnya symlinks
ke direktori. Ada kemungkinan untuk digunakan
ls -l -L --group-directories-first
yang akan mencantumkan kedua jenis direktori di atas, tetapi tidak akan membedakan antara direktori yang tepat dan direktori yang dikaitkan, yang lagi-lagi membingungkan.
Dapatkah ls
menampilkan direktori yang disinkronkan di atas, sambil tetap membedakannya dari direktori biasa?
EDIT:
Saya menggunakan bash
.
ls
. Menurutstat()
panggilan sistem, tautan simbolik ke direktori masih berupa direktori (S_ISDIR(st_mode)
akan mengembalikan true). Buktils
diskon symlinks sebelum memeriksa ini.ls
tidaklstat()
(danreadlink
untuk symlink) kecuali jika Anda menggunakan-L
opsi (dalam hal ini yang digunakanstat()
)S_ISLNK(st_mode)
juga mengembalikan true viastat()
, tetapi tidak - hanya melakukannya melaluilstat()
. Juga bahwa ISLNK tidak mengembalikan true melalui stat bahkan jika tautannya adalah tautan ke tautan. Berarti ituISLNK
mungkin tidak pernah kembali benar melalui stat, meskipun itu semacam tidak ditentukan ...stat
memberi Anda properti file di akhir symlink. Jika itu tidak ada atau tidak dapat diakses,stat
mengembalikan ENOENT, sehingga apa yang dikembalikan olehstat
tidak akan pernah menjadi symlink.stat()
tidak akan pernah memberi tahu Anda apa pun tentang symlink, sama sepertiopen
tidak akan pernah membuka symlink, atauchmod()
tidak akan mengubah izin symlink ... dll.Jawaban:
Tidak, tetapi jika menggunakan
zsh
, Anda bisa melakukan:Anda juga dapat menentukan urutan pengurutan globbing seperti:
dan gunakan seperti:
Dengan begitu, Anda dapat menggunakannya untuk perintah selain
ls
atau denganls
opsi yang berbeda, atau untuk pola yang berbeda seperti:atau:
Jika Anda harus menggunakan
bash
, yang setara akan seperti:bash
tidak memiliki kualifikasi globbing atau cara apa pun untuk memengaruhi urutan pengurutan, atau cara apa pun untuk mengubah nullglob berdasarkan per-glob, atau memiliki konteks lokal untuk opsi (selain memulai subkulit, karenanya()
bukan di{}
atas) AFAIK .sumber
bash
?