Yeah yeah, we know
But how much of
ls‘s functionality do you actually use? There are so many switches to
ls, that when Sun added extended attributes (does anyone use that?) they found that there were no letters left, so they had to use “-@” !
So, here are a couple of handy
ls options, in no particular order; either for interactive or scripting use. I’m assuming GNU
ls supports most GNU-style features, but the “nice-to-have” features, like
ls -h aren’t in historical UNIX
ls implementations. I’ll split these into two categories: Sort ‘em and Show ‘em. What are your favourites?
When sorting, I tend to use the “
-l (long listing)” and “
-r (reverse order)” switches:
Sort ‘em by Size:
Sort ‘em by Date:
There are a number of ways to show different attributes of the files you are listing; “
-l” is probably the obvious example. However, there are a few more:
Show ‘em in columns
Useful if you’re not seeing as many as you’d expect.
Show ‘em one by one
That’s the number 1 (one) there, not the letter l (ell). Forces one-file-per-line. Particularly useful for dealing with strange filenames with whitespace in them.
Show ‘em as they are
To append symbols (“*” for executables, “/” for directories, etc) to the filename to show further information about them.
Show ‘em so I can read it
Human-readable filesizes, so “12567166″ is shown as “12M”, and “21418″ is “21K”. This is handy for people, but of course, if you’re writing a script which wants to know file sizes, you’re better off without this (21Mb is bigger than 22Kb, after all!)
Show ‘em with numbers
This is equivalent to
ls -l, except that UID and GID are not looked up, so:
$ ls -l foo.txt -rw-r--r-- 1 steve steve 46210 2006-11-25 00:33 foo.txt $ ls -n foo.txt -rw-r--r-- 1 1000 1000 46210 2006-11-25 00:33 foo.txt
This can be useful in a number of ways; particularly if your NIS (or other) naming service is down, or if you’ve imported a filesystem from another system.
What’s your favourite?
What are your most-used switches for the trusty old