LINUX
COMMANDS
Contents | Previous
| Next
Listing directories
Before going any further you need to know about command-switches.
Command-switches
Many commands have switches (sometimes called options,
or flags). For instance, the command ls -al
(list all files in long format) could take
on any of the following forms:
ls -al
ls -la
ls -a -l
ls -l -a
Long-style switches, look as follows:
ls --color
This you could combine, to form something like:
ls -al --color mywork
$ ls - list
ls
List contents of the current directory.
The colour of each filename signifies what it represents:
| Colour |
Filetype |
Notes |
| grey |
regular file (usually a text file) |
In a white background terminal window these filenames
will appear black. |
| blue |
directory |
|
| green |
executable |
|
| cyan |
symbolic link |
Often referred to as a symlink. |
| red |
archive |
If an archive has an executable permission set it
will appear green. |
| magenta |
graphic |
If a graphic has an executable permission set it will
appear green. |
| yellow |
block or character device |
|
| brown |
FIFO (named pipe) |
|
At beginner level you do not need to know about FIFOs and
sockets, and only require limited understanding of block
and character devices (used to access hardware).
The concept of an executable, permissions, and an archive
for those that don't know, will be dealt with later.
Advanced:
In rare instances, magenta can also signify a socket, and
a red background and white blinking text can signify an
orphan file --a symlink (a file that points to another file),
to a nonexistent file.
ls /home
List contents of the /home directory.
ls -a
List all files in the current directory, i.e. including
hidden files (sometimes called dot files).
Note:
To make a file/directory hidden, begin its name with a
dot (.).
Note:
By entering ls -a, you'll notice that every directory
contains the special directories: . and
..
These can be used in a command to denote the current and
parent directory, respectively.
ls -l
List current directory in long format, displaying (from
left to right): file type and permissions; number of hard
links; owner name; group owner name; size in bytes; date
file was last modified; file's name. (All explained later.)
Note:
-o is the same as -l but doesn't list
group, i.e. owner only.
ls -lh ~/mywork
Same as above, but display the contents of the ~/mywork
directory, and file sizes in bytes, kilobytes, megabytes,
or gigabytes. (h stands for human readable.)
Further help:
Bytes, kilobytes, megabytes, gigabytes?
ls -R
List current directory and subdirectories, i.e. recursively
(-R).
ls | less
Pipe (pass) the listing of the current directory to the
less program, allowing you to scroll up and down
a long listing.
| Less keys |
| Down cursor |
Down one line. |
| Up cursor |
Up one line. |
| Page Down/Spacebar |
Down one screen. |
| Page Up/b |
Up one screen. |
| q |
Quit. |
| h |
Display help. |
ls -l /usr | less
Pipe listing of the /usr directory in long format,
to the less program.
ls > list.txt
Either create or overwrite the file list.txt, with
a redirected (>) listing of the current directory
as file's content.
ls mydir >> list.txt
Either create or append to the file list.txt, a
redirected (>>) listing of the mydir
directory.
Note:
Text displayed to the screen by a command is called standard
output, this you can redirect (>
or >>) to a text file, or pipe (|)
as standard input to another program. Standard input
and output are called streams. The usual standard
input is the keyboard.
All of the following ls examples, you'll rarely
(if ever) use.
Sorted lists
To any of the following, add r to reverse order.
ls -t
Sort by modification time, most recent first. Add
l for long format.
ls -X
Sort alphabetically by file eXtension.
ls -Shl
Sort by Size (largest first), in human
readable long format.
ls -1sSh
List one per line (1), displaying filesize,
sorted by fileSize, in human readable
form.
ls -1sXh
List one file per line (1), displaying filesize,
sorted alphabetically by file eXtension, in human
readable form.
Other list examples
ls -I "*.txt" -I "*.zip"
List current directory, Ignoring text and zip files.
Note:
The asterixes (*) shown above, is an example of
wildcards. For details see the Wildcards
chapter.
ls -F
List Filetype after filename:
| / |
directory |
| * |
executable |
| @ |
symbolic link |
| = |
socket |
| | |
named pipe (FIFO) |
Note:
Since most Linux distributions now default to colour listings
( if not use: ls --color ), you'll likely only
use this option for redirected listings, e.g.:
ls -F mydir > list.txt
ls -ld /usr
List in long format (-l), only the directory (-d)
/usr and not its contents.
$ tree
A handy command that displays a text depiction of a given
directory's layout. It may be that you have to install this
because it wasn't selected during installation.
tree
Display tree graph of current directory.
tree -d /home > hometree.txt
Display tree graph of /home directory, displaying
directories only (-d), and redirect output (>)
to hometree.txt.
$ clear
clear
Clear the console, or terminal window.
Note:
You'll rarely use this command, since it's quicker just
to press Ctrl+L. However you'll use it
in scripts, multiple semi-colon separated commands, and
aliases (all of which will be dealt with later).
$ pwd - print working directory
pwd
Display current directory's absolute path.
Further Help:
What's an absolute and relative path?
Contents | Previous
| Next