lsL'opzione --group-directories-firstfa sì che le directory siano elencate in alto, il che rende l'output di lsbello e pulito:
ls -l --group-directories-first
Tuttavia, non agisce symlinks, che in realtà sono le symlinksdirectory. C'è la possibilità di usare
ls -l -L --group-directories-first
che elencherà entrambi i tipi di directory in cima, ma non farà distinzione tra directory corretta e directory symlinked, il che è di nuovo fonte di confusione.
È possibile lsvisualizzare le directory con collegamenti simbolici in cima, pur mantenendole distinte dalle directory normali?
EDIT:
sto usando bash.
lsfa lstat()(e readlinkper i collegamenti simbolici) a meno che tu non usi l' -Lopzione (nel qual caso utilizza stat())
S_ISLNK(st_mode)anche restituito vero via stat(), ma non lo fa - lo fa solo via lstat(). Inoltre, ISLNK non restituisce true tramite stat anche se il collegamento è un collegamento a un collegamento. Significa che ISLNKpotrebbe non tornare mai vero tramite stat, anche se è un po 'non specificato ...
statti dà le proprietà del file alla fine dei collegamenti simbolici. Se ciò non esiste o non è accessibile, statrestituisce un ENOENT, quindi ciò che viene restituito statnon sarà mai un collegamento simbolico. stat()non ti dirò mai nulla dei symlink, proprio come opennon aprirò mai il symlink, o chmod()non cambierà i permessi di un symlink ... ecc.
ls. Secondo lastat()chiamata di sistema, un collegamento simbolico a una directory è ancora una directory (S_ISDIR(st_mode)restituirà true). Evidenzia evidentementelsi collegamenti simbolici prima di verificarlo.