Yeah yeah, we know ls
already.
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
; Solaris 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?
Sort ’em
When sorting, I tend to use the “-l
(long listing)” and “-r
(reverse order)” switches:
Sort ’em by Size:
ls -lSr
Sort ’em by Date:
ls -ltr
Show ’em
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
ls -C
Useful if you’re not seeing as many as you’d expect.
Show ’em one by one
ls -1
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
ls -F
To append symbols (“*” for executables, “/” for directories, etc) to the filename to show further information about them.
Show ’em so I can read it
ls -lh
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
ls -n
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 ls
tool?
I use ls -lh so much that I wrote my own local script to do just that, and called it ll
I must admit I wasn’t familiar with some of the sorting options.. they could be very useful.
Alias is a handy tool for such things:
alias ll="ls -lh"
Here’s what I have:
alias ls=’ls –color’
alias ll=’ls -l’
alias l=’ls -CF’
alias la=’ls -A’
alias lla=’ll -A’
alias dir=’ls -ba’ #not that I use it!
alias lh=’ll -h’