I have a large number of files and directories in one directory.
I need to sort them in terms of the permissions.
For example
drwx------
drwxr-xr-x
drwxr-x---
I am just wondering if we can sort the files and dirs using ls
?
lssort
I have a large number of files and directories in one directory.
I need to sort them in terms of the permissions.
For example
drwx------
drwxr-xr-x
drwxr-x---
I am just wondering if we can sort the files and dirs using ls
?
Best Answer
ls
does not directly support sorting by permissions, but you can combine it with the sort command:You can use the
-k
option to sort to start matching from a specific character, the format is-k FIELD.CHAR
, the permissions are the first field in thels
output. So e.g.-k 1.2
will start from the second character of the permission string, which will ignore any directory / device / link etc. flag, or-k 1.5
for sorting by group permissions.If you don't want the additional output of
ls -l
, you can remove it with awk:This will print only the first field (the permissions) and the last one (the filename).