Выбрать главу

QUICK LOOK Starting the command interpreter

A command-line environment can be run from the graphical desktop, by an application known as a “terminal”, such as those found under the Applications → Accessories menu for GNOME, and in K → Applications → System for KDE.

This section only gives a quick peek at the commands. They all have many options not described here; accordingly, they also have abundant documentation in their respective manual pages.

B.1.1. Browsing the Directory Tree and Managing Files

Once a session is open, the pwd command (print working directory) displays the current location in the filesystem. The current directory is changed with the cd directory command (cd is for change directory). The parent directory is always called .. (two dots), whereas the current directory is also known as . (one dot). The ls command allows listing the contents of a directory. If no parameters are given, it operates on the current directory.

pwd

/home/rhertzog

cd Desktop

pwd

/home/rhertzog/Desktop

cd .

pwd

/home/rhertzog/Desktop

cd ..

pwd

/home/rhertzog

ls

Desktop    Downloads  Pictures  Templates

Documents  Music      Public    Videos

A new directory can be created with mkdir directory, and an existing (empty) directory can be removed with rmdir directory. The mv command allows moving and/or renaming files and directories; removing a file involves rm file.

mkdir test

ls

Desktop    Downloads  Pictures  Templates  Videos

Documents  Music      Public    test

mv test new

ls

Desktop    Downloads  new       Public     Videos

Documents  Music      Pictures  Templates

rmdir new

ls

Desktop    Downloads  Pictures  Templates  Videos

Documents  Music      Public    test

B.1.2. Displaying and Modifying Text Files

The cat file command (intended to concatenate files on its standard output) reads a file and displays its contents in the terminal. If the file is too big to fit on a screen, use a pager such as less (or more) to display it page by page.

The editor command always points at a text editor (such as vi or nano) and allows creating, modifying and reading text files. The simplest files can sometimes be created directly from the command interpreter thanks to redirection: echo "text" >file creates a file named file with “text” as its contents. Adding a line at the end of this file is possible too, with a command such as echo "line" >>file.

B.1.3. Searching for Files and within Files

The find directory criteria command looks for files in the hierarchy under directory according to several criteria. The most commonly used criterion is -name name: it allows looking for a file by its name.

The grep expression files command searches the contents of the files and extracts the lines matching the regular expression (see sidebar BACK TO BASICS Regular expression). Adding the -r option enables a recursive search on all files contained in the directory passed as a parameter. This allows looking for a file when only a part of the contents are known.

B.1.4. Managing Processes

The ps aux command lists the processes currently running and allows identifying them by their pid (process id). Once the pid of a process is known, the kill -signal pid command allows sending it a signal (if the process belongs to the current user). Several signals exist; most commonly used are TERM (a request to terminate) and KILL (a heavy-handed kill).

The command interpreter can also run programs in the background if the command ends with “&”. By using the ampersand, the user resumes control of the shell immediately even though the command is still running (hidden from the user; as a background process). The jobs command lists the processes running in the background; running fg %job-number (for foreground) restores a job to the foreground. When a command is running in the foreground (either because it was started normally, or brought back to the foreground with fg), the Control+Z key pair pauses the process and resumes control of the command-line. The process can then be restarted in the background with bg %job-number (for background).

B.1.5. System Information: Memory, Disk Space, Identity

The free command displays information on memory; df (disk free) reports on the available disk space on each of the disks mounted in the filesystem. Its -h option (for human readable) converts the sizes into a more legible unit (usually megabytes or gigabytes). In a similar fashion, the free command understands the -m and -g options, and displays its data either in megabytes or in gigabytes, respectively.

free

             total       used       free     shared    buffers     cached

Mem:       1028420    1009624      18796          0      47404     391804

-/+ buffers/cache:     570416     458004

Swap:      2771172     404588    2366584

df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda2              9614084   4737916   4387796  52% /

tmpfs                   514208         0    514208   0% /lib/init/rw

udev                     10240       100     10140   1% /dev