Ho un gran numero di file e directory in una directory.
Devo ordinarli in termini di autorizzazioni.
Ad esempio
drwx------
drwxr-xr-x
drwxr-x---
Mi chiedo solo se possiamo ordinare i file e le directory usando ls
?
Risposta accettata:
ls
non supporta direttamente l'ordinamento per autorizzazioni, ma puoi combinarlo con il comando di ordinamento:
ls -l | sort
Puoi usare -k
opzione per ordinare per iniziare la corrispondenza da un carattere specifico, il formato è -k FIELD.CHAR
, i permessi sono il primo campo di ls
produzione. Quindi ad es. -k 1.2
partirà dal secondo carattere della stringa di autorizzazione, che ignorerà qualsiasi directory/dispositivo/link ecc. flag, o -k 1.5
per l'ordinamento per autorizzazioni di gruppo.
Se non desideri l'output aggiuntivo di ls -l
, puoi rimuoverlo con awk:
ls -l | sort | awk '{ print $1, $NF}'
Questo stamperà solo il primo campo (i permessi) e l'ultimo (il nome del file).