Académique Documents
Professionnel Documents
Culture Documents
(cours 2)
Conventions :
Remarque
la commande,les options et les arguments doivent être séparés par des espaces exemple :
- ls c’est la commande
- (-l) c’est l’option
- linux c’est l’argument
● Commande mkdir :
la commande mkdir (make directory) permet de créer un répertoire
user1@debian~:$ mkdir rep
elle possède plusieurs options l’option la plus utilisée et l’option (-p parent) elle permet de créer un
répertoire avec un sou-répertoire exemple:
(dans l’exemple suivant on est déjà a l’intérieur du répertoire personnel de l’utilisateur user1 c’est-
a-dire a l’intérieur de /home/user1)
autre exemple
user1@debian~:$ mkdir -p test/rep1/rep10 ---/home/user1
|__test
|__rep1
|_rep10
mkdir -p linux/cours si le répertoire Linux n’existe pas il sera créé ensuite elle va créer le répertoire
cours, par ailleurs si le répertoire Linux existe déjà elle va directement créer le répertoire cours a
l’intérieur du répertoire Linux.
remarque :
Pour Créer un fichier caché il faut précédé son nom par un (.) ex : touch .fichier.txt
La meme chose pour les répertoire
• Commande ls:
la commande ls possède plusieurs options parmi les plus utilisés :
-a : (a veut dire all) (ls -a) affiche tous le contenu d’un répertoire ainsi que les fichiers et répertoires
caché
-l : (ls -l) affiche le contenu d’un répertoire en liste en affichant les droits d’accès, taille, date création
etc…
-h : (Human readable ) (ls -h ) elle affiche la taille des fichiers en Ko,Mo,Go,To etc.. selon la taille du
fichier
-R : (Recursive) elle affiche toute le contenu du répertoire est sous répertoire
-i : (inode) elle affiche les inodes des fichier et répertoire
remarque :
les options courtes (un seul caractère) peuvent être groupés exemple
ls -alhiR /
• commande cd :
la commande cd (change directory nous permet de naviguer a l’intérieur de l’arborescence du système
de fichier (voir support de cours Initiation_linux_cours1)
Afin de se déplacer d’un répertoire a un autre qui se trouve ailleurs dans le systeme de fichier il faut
indiquer le chemin complet exemple
Pour se deplacer de etc (etc un répertoire qui se trouve dans la racine ) vers un répertoire log (qui se trouve
dans le repertoire var qui a son toure se trouve dans le repertoire racine (/) il faut indiquer le chemain
complet
Quelques exemples :
user1@debian~:$ cd /var/log Déroulement: Se déplacer de /home/user1 au répertoire /var/log
user1@debian:/var/log$ — / (racine) a — / (racine)
|_ home |_var
|_user1 |_ log
on ne peut pas couvrir tous les exemples afin de bien comprendre le fonctionnement de cd il faut
pratiquer sur la machine
• Commande cp :
la commande cp (copy) permet de copier des fichiers et des répertoires le principe de fonctionnement
est le même avec les chemins que celui de la commande cd
voici quelques exemples
EX1:
user1@debian~:$ cp /etc/passwd . Déroulement: copier le fichier passwd au
répertoire courant (/home/user1)
– / (racine) a – / (racine)
|_etc |_ home
|_ passwd |_user1
EX 2:
user1@debian:/var/log $ cp /etc/passwd ~
Déroulement: l’utilisateur se trouve dans le répertoire /var/log il peut copier le fichier passwd qui se
trouve dans etc qui a son toure se trouve dans la racine vers son répertoire personnel
– / (racine) a – / (racine)
|_etc |_ home
|_ passwd |_user1
EX 3:
user1@debian:/var/log $ cp /etc/passwd ~/linux
Déroulement: l’utilisateur se trouve dans le répertoire /var/log il peut copier le fichier passwd qui se
trouve dans etc qui a son tour se trouve dans la racine vers le répertoire linux qui se trouve dans
répertoire personnel
– / (racine) a – / (racine)
|_etc |_ home
|_ passwd |_user1
|_linux
EX4:
^user1@debian:~/Linux/REP1 $ cp linux/REP1/fichier.txt ../../.
Déroulement:Copier le fichier.txt qui se trouve dans le répertoire REP1 qui son tour se trouve dans le
répertoire personnel vers le répertoire personnel
– / (racine) a – / (racine)
|_home |_ home
|_ user1 |_user1
|_linux
|_REP1
|_ fichier.txt
plusieurs exemples existent pour bien apprendre le fonctionnement il faut pastiquer sur la machine
• Commande cat :
c’est une commande très simple elle affiche le contenu d’un fichier a la sortie standard par défaut
l’écran (on se trouve a l’intérieur du répertoire personnel /home/user1)
user1@debian~:$ cat /etc/passwd Cette commande veux dire :
Lire le fichier passwd qui se trouve dans le répertoire etc qui a son
tour se trouve dans la racine du système de fichier
— / (racine)
|_ etc
|_ passwd
remarque :
le premier (/) veut dire la racine du système de fichier les autres (/) sont des séparateurs
si on veut lire un fichier dans le même répertoire on saisit directement le nom du fichier voici un
exemple
user1@debian~:$ cat monfichie.txt
si on veut lire un fichier qui se trouve a l’intérieur d’un répertoire qui est au même niveau que le
répertoire courant on utilise le chemin du fichier exemple
user1@debian~:$ cat linux/monfichie.txt On se trouve déjà a l’intérieur /home/user1 qui contien
un répertoire linux qui a son tour contient un fichier
monfichier.txt
--/home/user1
|_ linux
|_ monfichier.txt
cat possède une option assez intéressante (-n) qui affiche le numéro de la ligne a cote de chaque ligne
affichée
user1@debian~:$ cat -n monfichie.txt
• tac :
c’est l’inverse de la commande cat elle affiche le fichier inversé
user1@debian~:$ tac /etc/passwd
• less :
cette commande permet de lire un fichier, mais elle permet également la navigation entre les lignes du
fichier en utilisant les touches du clavier (haut , bas)
user1@debian~:$ less -n monfichie.txt
• head :
cette commande par défaut affiche les dix (10) premières lignes d’un fichier
user1@debian~:$ head /etc/passwd
• sort :
la commande sort trie les lignes d’un fichier par ordre alphabétique
user1@debian~:$ soit /etc/passwd
• echo:
cette commande permet d’afficher un message a la sortie standard (par défaut l’écran) mais on peut
rediriger son flux vers une autre commande ou dans un fichier
•
user1@debian~:$ echo ‘’hello world’’
Hello world
user1@debian~:$
• wc :
cette commande permet de compter le nombre de ligne, le nombre de mot et le nombres de caractères
d’un fichier en utilisant les options (-l) pour ligne (-w) pour words (-c) pour caractères
user1@debian~:$ wc -l /etc/passwd
41 /etc/passwd
user1@debian~:$ wc -w /etc/passwd
98 /etc/passwd
user1@debian~:$ wc -c /etc/passwd
2394 /etc/passwd
user1@debian~:$
Description du fichier /etc/passwd et /etc/group
le fichier /etc/passwd est un fichier csv qui contient 7 champs séparer par (:)
user1@debian~:$ tail -n 1 /etc/passwd
user1:x:1004:1005:Admin:/home/user1:/bin/bash
user1@debian~:$
• id :
cette commande permet de voire le UID de l’utilisateur courant voici un exemple
user1@debian~:$ id
uid=1000(user1) gid=1004(DSI) groups=1001(Prod),1002(Compta)
• cut :
la commande cut permet d’extraire les informations d’un champ ou plusieurs champs spécifiques
voici la syntaxe de la commande
cut -f1 -d ‘:’ /etc/passwd
cut : c’est le nom de la commande
-f : c’est l’option (-f) qui signifie field (champ) il faut qu’elle soit suivie du numéro du
champ exemple (1) on peut utiliser un intervalle
-d : c’est le séparateur entre les champs du fichier dans le cas de passwd ou group c’est les
(:)
/etc/passwd : c’est le nom du fichier a dont on veut extraire les informations
• split :
la commande split permet de découper un fichier en plusieurs autres fichiers, mais il faut utiliser deux
options obligatoires (-l) et (-a) voici la syntaxe de la commande
-l : suivie par un numéro (-l100) pour déterminer le nombre de ligne que va contenir chaque
fichier de sortie
-a : suivie d’un numéro (-a5) qui détermine la langueur du nom des fichiers de sortie
voici un exemple :
remarque :
A titre d’exemple on suppose que le fichier (fichier.txt) contient 10000 lignes
user1@debian~:$ split -l1000 -a5 fichier.txt Déroulement : cette commande va découper le fichier
fichier.txt en 10 autres fichiers ou chacun contient
1000 lignes
Xaaaaa : contiendra les 1000 première
Xaaaab : contiendra les 1000 suivantes
Xaaaac : contiendra les 1000 suivantes
Etc….
remarque :
Il est egalement possible d’utiliser split sans l’option -l par defaut split decoupe un fichier en plusieurs
autre fichiers
• mv :
la commande mv possède deux fonctions couper/coller(déplacer) et renommé
pour déplacer un fichier d’un endroit a un autre voici un exemple il faut que les deux objects
existe c’est-a-dire le fichier est le répertoire ou bien les deux répertoires
voici un exemple
user1@debian~:$ mv fichier.txt Linux/ Déroulement : cette commande va déplacer le fichier
fichier.txt dans le répertoire linux
--/ (racine) après exécution --/ (racine)
|_ home |_home
|_Linux |_linux
|_fichier.txt |_fichier.txt
on peut déplacer de(s) fichier(s) d’un emplacement un autre même si l’utilisateur est dans un autre
répertoire
user1@debian/var/log:$ mv /home/user1/fichier.txt /home/user1/Linux/
Ou bien
user1@debian/var/log:$ mv ~/fichier.txt ~/Linux/
Déroulement : cette commande va déplacer le fichier fichier.txt dans le répertoire linux même si
l’utilisateur est dans /var/log mais la il faut donnée le chemin dure
• pour Renommer un fichier il faut que la cible existe et la destination n’existe pas
exemple
user1@debian~:$ mv fichier.txt file.txt
on peut egalement renommer un fichier même si on est pas dans le même répertoire exemple
Déroulement : meme si l’utilisateur n’est pas au meme niveau que le fichier il peut le renommé
en utilisant les deux point(..)
remarque :
On peut renomer un répertoire de la meme maniere répertoire source existant le nouvau nom ne
doit pas existe sinon elle fera un déplacement
• commande rm :
commande rm (remove) permet de supprimer un fichier ou un répertoire son utilisation est semblable a
celle de mv, cp cd
user1@debian~:$ rm fichier.txt
remarque :
c’est le même fonctionnement avec le point Et les deux point tilda
- On peut supprimer un fichier d’un répertoire parent en utilisant les (..)
- On peut supprimer un fichier d’un répertoire en spécifiant le chemin dure si on est pas au meme
niveau
afin de supprimer un répertoire il faut juste ajouter l’option ( -r recursive) voici un exemple
user1@debian~:$ grep root /etc/passwd Déroulement: elle va afficher toutes les lignes qui
contiennent le mot clé root et les afficher a l’ecran
remarque :
La commande grep sera vu plus en détail au prochain cours
Les redirections :
chaque commande possède une entrée (stdin) et deux sorties (stdout) est la sortie standard la (stderr)
est la sortie d’erreur standard par défaut les deux sorties sont redirigées a l’écran
voici le schema qui illustre ce fonctionnement
pour rediriger une sortie vers un fichier ou périphérique on utilise les symboles suivants :
> : Écrire dans un fichier
>> : Ajouter la sortie a un fichier
& : rediriger toutes les sorties dans le même fichier
user1@debian~:$ cat /etc/group 2> err.txt 1> out.txt Déroulement: la commande va essayer de
lire le fichier group si elle arrive a le lire
au lieu d’afficher le résultat sur l’écran il
sera rediriger dans le fichier out.txt car
on a clairement indique le (1>)
Si elle n’arrive pas a le lire les messages
d’erreur seront enregistrer dans err.txt
grâce a (2>)
Ajouter
user1@debian~:$ cat /etc/group 2>> err.txt 1>> out.txt Déroulement: elle va faire la même chose
avec l’exemple précédant sauf qu’ici le
contenu de err.txt et out.txt ne sera pas
écrasé
l’exemple précédent peut être inversé si nous avons seulement besoin des erreurs et nous n’avons pas
besoin des résultats
user1@debian~:$ ls -alR / 1>/dev/null 2>err.txt
remarque :
Le répertoire /dev/ contient les fichiers spécifiques au périphériques voir l’arborescence cours 1
exemple
user1@debian~:$ echo ‘’ hello ‘’ 1> file.txt Déroulement: Dans cet exemple le texte hello ne sera
pas afficher a l’écran mais enregistrer dans un
fichier
Les pipe:
les pipes généralement connues sous le nom des pipes anonyme connectent la sortie standard d’une
commande a l’entrée standard d’une autre commande voici le symbole des pipes ( | )
Déroulement: l’exemple suivant head va extraire les 5 premières lignes ensuite ils seront triés , puis
extraire les 2 dernieres lignes précédemment triés ensuite une recherche sera effectée avec la commande
grep qui affichera le résultat sur l’écran
Déroulement: l’exemple suivant est identique au précédant aprat le résultat de grep ne sera pas afficher a
l’ecran mais il sera rediriger dans un fichier
remarque :
ON peut piper plusieurs commande
user1@debian~:$ head – n 5 /etc/passwd | sort | tac | tail-n 3 | grep user1 | awk ‘{ print $1}’
1>resultat.txt 2> err.txt
voici un autre exemple :
user1@debian~:$ echo ‘’Hello tux how are you‘’ | wc -c 1> Ncaracter.txt
user1@debian~:$ cat Ncaracter.txt
22
user1@debian~:$
Déroulement: le message sera envoyer a la commande wc qui a sont tour va compter le nombre de
caractères une fois terminé son résultat sera redirigé dans un fichier Ncaracter.txt