Introduction à Linux.
Objectifs :
Se familiariser avec l'environnement Linux et l'interpréteur de commandes BASH.
Utiliser les commandes de base UNIX/Linux
Comprendre la strucure de répertoires standardisée.
Comprendre les notions d'usagers et de groupes.
Comprendre les permissions appliquées au système de fichiers.
A. Commandes de bases :
La
plupart des commandes acceptent l'option --help pour afficher une
aide comme ls
--help
,
mais vous pouvez aussi consulter les pages de manuel (qui sont plus
complètes) en tapant man suivi du nom de la commande (Ex : man
ls
).
Il
est possible d'obtenir une aide plus précise sur une option en
donnant cette option : man
a ls
(Donne les informations sur l'option a de Ls)
Une option
intéressante est -k qui permet d'obtenir les noms des
différents manuels contenant le mot-clé passé en
paramètre. Ainsi si l'on désire connaître la
liste des pages de manuel qui parlent de tcp , on entrera man
-k tcp
.
cd, changement de répertoire :
La commande cd permet de se déplacer dans les répertoires tant que les permissions le permettent.
cd
ftls
: entrer dans le répertoire ftls si il existe.
cd
..
:
remonte au répertoire parent.
cd
/
:
remonte à la racine.
cd
:
revenir au répertoire par défaut de l'utilisateur, ~
ou $HOME.
pwd,
affiche le répertoire courant :
Affiche le répertoire courant.
Elle permet de lister le contenu d'un répertoire. Beaucoup d'options sont disponibles, parmi elles, certaines sont intéressantes:
ls
(Sans
option) : liste les fichiers en plusieurs colonnes.
ls
-l
: Liste des fichiers avec les droits d'accès.
ls
-a
: Liste des tous les fichiers (même ceux commençant par
un point).
ls
| more
: liste écran par écran.
ls
/usr/ftls
Liste les fichier du répertoire /usr/ftls.
ls
-F
: lister les fichiers avec des indications de type de fichier.
ls
-X
: lister les fichiers par extension
ls
-u
: lister les fichiers par date
ls -r
: lister les fichiers dans l'ordre inverse
Remarque :
Ce
que la commande ls -l affiche :-rwxr-xr-rx
1 root root 200 jan 6 20:00 ircII*
Correspond
à :
type de fichier et permissions, nombre de liens
physiques, utilisateur, groupe, taille en octets, date et heure, le
nom du fichier, l'astérisque '*' indique qu'il s'agit d'un
fichier exécutable.
rm, destruction d'un fichier :
Permet de détruire un ou plusieurs fichier ou liens physique du répertoire courant. Attention, rm ne demande pas de confirmation par défaut. Et la commande Undelette n'existe pas sous Linux...
rm
fichier
: efface un fichier
rm
*
:
efface tous les fichiers du répertoire.
rm -i
fichier1 fichier2 fichier3
: -i demande confirmation de l'effacement de chaque fichier.
mkdir, création d'un répertoire :
Permet
de créer un répertoire : mkdir
rep
rmdir, destruction d'un répertoire :
Permet
de supprimer un répertoire : rmdir
rep
Pemet de
copier un ou plusieur fichiers : cp
fichier /usr/ftls
(copie le fichier dans user/ftls).
mv, déplacemant d'un fichier :
Permet
de déplacer un ou plusieurs fichiers : mv
fichier /usr/ftls
(déplace le fichier dans user/ftls).
Cette
commande permet de trouver des fichiers depuis une racine spécifiée
suivant plusieurs critères (-name, Nom; -mode, dernière
modification, ...) Par exemple, la commande suivante affichera tous
les fichiers ayant un f
dans leur nom, et ceci dans tous les sous répertoire du
répertoire courant, y compris ce dernier: find
. -name '*f*' -print
chmod, changement des droit d'accès d'un fichier :
chmod
Changes les droits d'accès d'un fichier ou d'un répertoire
si vous en êtes le propriétaire ou root.
La gestion
des droits d'accès est très important sous Linux, la
commande ls -l permet de connaître les droits d'un fichier.
La syntaxe de chmod est :
chmod [ a , u , g ,o ] [ + , - ] [ r , w , x ] [ non.de.fichier ] argument valeur permissions l'argument donne les droits : a = à tous les utilisateurs u = au propriétaire g = aux utilisateurs du groupe o = aux autres groupes la valeur + ajoute - enlève les permissions autorisées r = la lecture w = l'écriture x = l'exécution
ln, ajout de liens sur les fichiers
Cette commande permet d'ajouter un lien physique ou symbolique sur un fichier.
ln
Fichier.origine Nom.lien
:
Crée un lien physique
ln -s
Fichier.origine Nom.lien
: Crée un lien symbolique
cat, affichage ininterrompu d'un fichier :
Permet
d'afficher sans interruption d'un fichier ou plusieurs fichiers:cat
fichier1 fichier2
(affiche fichier1 et fichier2)
more, affichage page par page d'un fichier :
Permet d'afficher un fichier page par page, ainsi que d'autres fonctions spéciales. Les principales commandes sont :
q : pour sortir
Entrée : pour passer à la ligne suivante
Espace : pour passer à la page suivante
b : pour remonter à la page précédente
n : pour poursuivre la recherche d'une chaîne
/ suivi d'une chaîne et de la touche Entrée : pour rechercher une chaîne
h : aide
less, affichage page par page d'un fichier :
Permet d'afficher un fichier page par page. Les principales commandes sont :
q : pour sortir
Entrée : pour passer à la ligne suivante
Espace : pour passer à la page suivante
b : pour remonter à la page précédente
n : pour poursuivre la recherche d'une chaîne
/ suivi d'une chaîne et de la touche Entrée : pour rechercher une chaîne
h : aide
diff, affichage des différences entre deux fichiers :
Cette commande affiche les différences entre deux fichiers. Cela est parfois utilisé par des utilitaires stockant des modifications incrémentales dans des sources ou textes sous leur contrôle, permettant de retrouver des versions antérieures ou le travail à plusieurs.
echo, écrit les arguments qui lui sont passés :
Cette
commande écrit sur la ligne courante les arguments qui lui
sont passés : echo
arg1 arg2..
.
ps, liste des processus actifs :
Cette
commande permet de détruire de lister les processus
actifs.
Exemple :
ps
ps -user
ps -aux
jobs -l
On notera aussi la
commande top
,
qui permet de connaître les processus gourmands en puissance de
calcul.
Seul dans un premier temps on ne regardera que la première
colonne PID, qui est le numéro assigné aux
processus. c'est ce numéro qui doit être utilisé
pour kill.
kill, destruction d'un processus :
Cette
commande permet de détruire un processus.
Exemple :
Si
le processus cible est le numéro 546,
kill 546
kill -9 546
Un aspect
intéressant de cette commande est la possibilité de
détruire un groupe de processus. Par exemple, pour détruire
tous les processus vous appartenant, sauf le shell courant, il
suffit de donner les commandes suivantes:
kill -15 -1
kill -9 -1
Cette
commande permet de connaître l'espace disque utilisé par
un sous-répertoire. L'unité dépend du système
(parfois 512 octets, parfois 1 Koctet, ou d'autres valeurs). Le
paramètre -s
*
est souvent utilisé, il permet d'obtenir la taille en de tous
les objets du répertoire courant.
df, disponibilité des systèmes de fichiers :
Celle-ci donne des informations sur les disques du système, leurs capacités l'espace disponible.
Elle
permet la création de raccourcis ou de synonymes pour des
commandes qui existent par exemple sur d'autres systèmes.
Apres
alias
dir ls -lagF
,
dir execute ls
-lagF
passwd , changement du mot de passe :
Cette
commande permet de changer son mot de passe.
En général,
8 caractères, la distinction entre les majuscules et les
minuscules est très importante. L'ancien mot de passe est
toujours demandé ainsi que la confirmation du nouveau.
adduser, ajoute un compte utilisateur :
Cette
commande permet de créer un compte utilisateur si vous êtes
Root.
Les informations concernant chaque utilisateur se
trouvent dans le fichier /etc/passwd.
deluser, détruit un compte utilisateur :
Cette
commande permet supprimer un compte on utilisateur, si cette commande
est disponible sur le système, sinon on fera manuellement.
B. Structure de répertoires.
/
/bin
: Commandes binaires utilisateur essentielles (pour tous les
utilisateurs)
/boot : fichiers statiques du chargeur de
lancement
/dev : fichiers de périphériques
/etc :
configuration système spécifique à la
machine
/home : répertoires personnels des
utilisateurs
/lib : bibliothèques partagées
essentielles et modules du noyau
/mnt : point de montage pour les
systèmes de fichiers montés temporairement
/proc :
système de fichiers virtuel d'information du noyau et des
processus
/root : répertoire personnel de root
/sbin :
binaires système
/tmp : Fichiers temporaires
/usr
/usr/X11R6 : système X Window,
Version 11 Release 6
/usr/X386 : système X Window, Version
11 Release 5, sur les plate-formes x86
/usr/bin : Commandes
utilisateurs principales
/usr/dict : listes de mots
/usr/lib :
bibliothèques pour la programmation et les packages
/usr/local
: hiérarchie locale
/usr/man : pages de manuel
/usr/sbin
: binaires système standard non essentiels
/usr/share :
données indépendantes de l'architecture
usr/src :
code source
/var
/var/lock
: fichiers lock
/var/log : fichiers et répertoires de
rapports
C. Usagers et groupes d'utilisateurs.
/etc/passwd : Fichier contenant les comptes utilisateur et leurs propriétés
jnadeau:x:502:502::/home/jnadeau:/bin/bash
Dans l'ordre : nom d'usager : UID : GID : répertoire de base : interpréteur de commandes.
Permissions :
-rw-r--r-- 1 root root 243 Jan 17 14:51 /etc/passwd
/etc/shadow : Fichier contenant les mots de passe des utilisateurs.
jnadeau:$1$4ykooMqO$o3PUlU/F3Dx6eS1UkiSWv.:11339:0:99999:7:-1:-1:134540308
Dans l'ordre : nom d'usager : mot de passe encrypté MD5 : dernier changement : minimum avant changement : maximum avant changement : jours d'avertissement avant désactivation : jours avant désactivation : date d'expiration du compte
Permissions :
-r-------- 1 root root 347 Jan 17 14:51 /etc/shadow
/etc/groups : Fichier contenant les groupes d'utilisateurs et leurs membres.
wheel:x:10:root, jnadeau
Dans l'ordre : nom du groupe : mot passe du groupe : GID : membres du groupe.
D. Exercices :
Répondez à la question et donnez la commande utilisée pour répondre à chaque question :
Quel est le PID du processus INIT ?
Quelles sont les permissions du fichier syslog.conf ?
Quelle espace disque libre est disponible dans la partition / ?
Quel est l'UID du compte "root" ?
Quelle sont les 4 premières lignes du fichier lilo.conf ?
Quel répertoire contient le fichier ifcfg-eth0 ?
À quel usager appartient le fichier /var/log/secure ?