Ls
Line 1: | Line 1: | ||
− | Equivalent to Windows' ''dir''. | + | Equivalent to Windows' ''dir''. [[ls]] is commonly used with [[flags]] or [[switches]] to alter it's behaviour and/or output. Flags can be given as seperate switches ('''ls -a -l /etc/''') but can be combined to make things faster ('''ls -la'''). [[ls]] takes pretty much the whole alphabet as a flag, but you'll likely never need or want to use more than say 5 or 6 different flags. |
− | Most common flags: | + | ==Most common flags:== |
-a -- lists ''all'' files, including hidden files | -a -- lists ''all'' files, including hidden files | ||
-l -- gives long listing, including [[permissions]], [[owner]], [[group]] and size | -l -- gives long listing, including [[permissions]], [[owner]], [[group]] and size | ||
+ | -F -- shows a slash ('''/''') immediately after each directory, an asterisk ('''*''') after executable files, an at sign ('''@''') after symbolic links, an equals sign ('''=''') after sockets, a percent sign ('''%''') after whiteouts, and a [[pipe]] ('''|''') after a [[FIFO]]. | ||
+ | -R -- list subdirectories encountered recursively | ||
+ | -h -- When used with the -l option, use unit suffixes for sizes so as to make them human-readable. No, Virgina, you do not need to count everything in bytes. | ||
+ | -c -- sort files by the last time file state was changed/modified | ||
+ | -u -- sort files by the last time the file was accessed | ||
+ | |||
+ | =Using ls with other programs== | ||
[[ls]] can (and is) used in conjunction with [[grep]] by using a [[pipe]] to send [[ls]] output -- which can easily fill your screen with enough entries to make you cross-eyed -- to more easily find what you're looking for. To give an example, let's say you're looking for a file that begins with '''name''' in your /etc directory. Doing an '''ls /etc''' gives you far too many entries and '''la -l''' the same thing but scrolling past you even faster. You could do a | [[ls]] can (and is) used in conjunction with [[grep]] by using a [[pipe]] to send [[ls]] output -- which can easily fill your screen with enough entries to make you cross-eyed -- to more easily find what you're looking for. To give an example, let's say you're looking for a file that begins with '''name''' in your /etc directory. Doing an '''ls /etc''' gives you far too many entries and '''la -l''' the same thing but scrolling past you even faster. You could do a | ||
dave@samizdata% '''ls | more''' | dave@samizdata% '''ls | more''' |
Revision as of 13:31, 28 August 2004
Equivalent to Windows' dir. ls is commonly used with flags or switches to alter it's behaviour and/or output. Flags can be given as seperate switches (ls -a -l /etc/) but can be combined to make things faster (ls -la). ls takes pretty much the whole alphabet as a flag, but you'll likely never need or want to use more than say 5 or 6 different flags.
Most common flags:
-a -- lists all files, including hidden files -l -- gives long listing, including permissions, owner, group and size -F -- shows a slash (/) immediately after each directory, an asterisk (*) after executable files, an at sign (@) after symbolic links, an equals sign (=) after sockets, a percent sign (%) after whiteouts, and a pipe (|) after a FIFO. -R -- list subdirectories encountered recursively -h -- When used with the -l option, use unit suffixes for sizes so as to make them human-readable. No, Virgina, you do not need to count everything in bytes. -c -- sort files by the last time file state was changed/modified -u -- sort files by the last time the file was accessed
Using ls with other programs=
ls can (and is) used in conjunction with grep by using a pipe to send ls output -- which can easily fill your screen with enough entries to make you cross-eyed -- to more easily find what you're looking for. To give an example, let's say you're looking for a file that begins with name in your /etc directory. Doing an ls /etc gives you far too many entries and la -l the same thing but scrolling past you even faster. You could do a
dave@samizdata% ls | more
and look for all files that begin with name. But why waste your time going over each entry?
dave@samizdata% ls -la | grep name
will give you a long list of all files that have name in them.