Math-Linux.com

Knowledge base dedicated to Linux and applied mathematics.

Home > Linux > Tutorials > Introduction to Linux

Introduction to Linux

All the versions of this article: <English> <français>

Following is a short introduction to Linux. We shall encounter some buzz words such as terminal, command line and other utilities. Have fun!

Some history

Early in the 90’s, a young Finnish student named Linus Benedict Torvaldsa wanted to set up his own Operating System (OS). The idea consisted of developing a Unix-type system with 80386 processors (or, a PC, to put it simple). Andrew Tanenbaum created Minix, a basic system compatible with the 80386’s. This is how Linus B. Torvaldsa decided to improve the project by extending the capabilities of Minix: Linux was born. The kernel (the system core), numbered 0.1, was made available in 1991. But it was only in 1992 that the stable version was finally out. What makes this system original is the fact that it is non commercial and many developers participate in this project.

Today, many distributions exist:
Debian, Fedora, Freebsd, Gentoo, Knoppix, Mandriva(merge between Conectiva and MandrakeSoft), Redhat, Suse, Slackware, Ubuntu , and so on so forth. There is a wide selection ! Note that if you start using Linux, opt for Mandrake or d’une Knoppix. This latter does not even require installation!

The console

The console or terminal is text environment in which the user launch programs to be executed or sends requests. There are several types of consoles: terminal, xterm, konsole, gnome-console, virtual terminals, etc. The virtual terminals are launched via the command CTRL+ALT+F1, CTRL+ALT+F2, CTRL+ALT+F3, etc ... The console shown below is a gnome-terminal.

La console sous Gnome

The line


nadir@ipowerht:~/Desktop/these $

is what we call a prompt, nadir is the (user) and ipowerht is the name of the machine. The tilde ˜ refers to the current directory of the user; i.e. /home/nadir Alternatively stated, the prompt shows clearly in which directory we are. In our case, we are in /home/nadir/Desktop/these. As for the dollar sign, $, it means that we are under the control of the command interpreter: the shell BASH. So what is BASH exactly? It is nothing else than a program /bin/bash which interprets the commands you type and executes them, as long as there are not erroneous. In particular, BASH is case sensitive: a lower case is not the same as an upper case !

We previously mentioned that the tilde ˜ represents /home/nadir. Obviously, if the user is Astozzia, the tilde on the console will represent /home/astozzia. Each user has a subdirectory in /home. A better image to understand this concept is to imagine that all users live in /home and each of them has their own "room": that of nadir is /home/nadir, that of astozzia is /home/astozzia. Obviously, astozzia cannot enter nadir’s room since this latter is private. And vice versa. However, nadir can share a part of his room with astozzia, as we shall see later.

Basic commands

man

This command is a must !!! ’man’ is an abbreviation of manual. Practically, we type


nadir@ipowerht:~/Desktop/these $ man ls

The console will display a lot of info on the ls command. We can ask for condensed help as follows:


nadir@ipowerht:~/Desktop/these $ ls --help

ls

ls lists the contents of a directory


nadir@ipowerht:~/Desktop/these $ ls

chapters  these.mtc   these.mtc6        thloria.cls
CRfem.aux  these.mtc1  these.pdf         tlfloat.sty
figures    these.mtc2  these.ps          tlhypref.sty
these.bmt  these.mtc3  these.tex         tlnatbib.sty
these.dvi  these.mtc4  these.tex~        TL-user.pdf
these.flg  these.mtc5  these.tex.backup

It is possible to use several options with the ’ls’ command. See the manual ! We shall mention the -l option


nadir@ipowerht:~/Desktop/CV $ ls -l

total 96
-rw-r--r--  1 nadir nadir     8 2005-03-29 11:08 cvnadir.aux
-rw-r--r--  1 nadir nadir  4488 2005-03-29 11:08 cvnadir.dvi
-rw-r--r--  1 nadir nadir  4514 2005-03-29 11:08 cvnadir.log
-rw-r--r--  1 nadir nadir 63856 2005-03-29 11:08 cvnadir.pdf
-rw-r--r--  1 nadir nadir  6778 2005-03-29 11:08 cvnadir.tex

A few comments:

 total 96 means that the directory named CV occupies 96 blocks
 the first column gives information on the rights ;
 the second shows the number of links pointing to this file ;
 the following column shows the name of the file owner ;
 the fourth column shows the name of the group who can have access to this file according to the actions authorized by the owner. If you remember, it is what we referred to as file sharing between nadir and astozzia ;
 the fifth column shows the size of the file in bytes.
 the sixth gives the date and time of the last modification of the file.
 the last column refers to the name of the file.

pwd

This command gives the path to the directory in which we are


nadir@ipowerht:~/Desktop/CV $ pwd
/home/nadir/Desktop/CV

cd

cd as in Change Directory.
To change to the top-level or root directory of the system


nadir@ipowerht:~/Desktop/CV $ cd /

To change to the var directory of the root directory


nadir@port-soualem:/$ cd /var

To change to the current directory www


nadir@port-soualem:/var$ cd www

To change to the /usr/bin directory


nadir@port-soualem:/var/www$ cd /usr/bin/

To go to the parent directory


nadir@port-soualem:/usr/bin$ cd ..

To change to my personal home directory


nadir@port-soualem:/usr$ cd ~

To change to the home directory of astozzia


nadir@port-soualem:~$ cd ~jean

mkdir

This command creates a directory: Make Directory


nadir@ipowerht:~/Desktop/CV $ mkdir Photos /

will create a subdirectory called Photos in the directory /Desktop/CV

cp

This command copies files. To copy the file ’cvnadir.tex’ in ’cv.tex’ (Duplication), we type:


nadir@port-soualem:/$ cp cvnadir.tex essai.txt

To copy the file’ cvnadir.tex’ in the directory /Desktop/CV


nadir@port-soualem:/$ cp cvnadir.tex ~/Desktop/CV

To copy files from the directory ’analysis’ into the directory ’algebra


nadir@port-soualem:/$ cp analysis/ algebra/

To copy all files from the directory ’analysis’ — including all subdirectories — in the directory ’algebra’


nadir@port-soualem:/$ cp -R analysis/ algebra/

mv

The command mv renames a file or moves it to a new location. The following command for example renames the file ’cvnadir.tex’ into ’cv.tex’


nadir@port-soualem:/$ mv cvnadir.tex cv.tex

To move the file ’cv.tex’ into the directory ’/home/nadir/fac’, we proceed as follows:


nadir@port-soualem:/$ mv cv.tex /home/nadir/fac

cat

This command displays the contents of a file


nadir@port-soualem:/$ cat note.txt
Mean:=08/20;
Min:=01.5/20;
Max:=15/20;

If you have 2 files file1, file2


nadir@port-soualem:/$ cat file1 file2

will display the contents of the two files: this is called ’concatenation’. This can be generalized to more than 2 files.

less

When files have a large size, the cat command is not convenient since the text scrolls very fast. The command ’less’ displays the file content little by little.


nadir@port-soualem:/$ less cv.tex

rm

rm as in Remove. This command removes files.


nadir@port-soualem:/$ rm cv.tex

will remove the file ’cv.tex’. We can also remove the contents of a directory:


nadir@port-soualem:/$ rm -R analysis/

will remove all files and subdirectories of the directory ’analysis’ as well as the directory ’analysis’ itself.

rmdir

rmdir as in Remove Directory. This command removes empty directories.


nadir@port-soualem:/$ rmdir CANUM05/

To sum up, you will find below an index of the commands we have seen so far. Click on any of them to be directed to the explanation.

Index

cat
cd
cp
less
ls
man
mkdir
mv
pwd
rm
rmdir

Also in this section

  1. How to install software packages on Debian-Ubuntu: apt-get
  2. Introduction to Linux
  3. Linux How to use strace - debugging - troubleshooting