Rappel Unix User

1/27
100%

<!-- Slide number: 1 -->

![](Picture9.jpg)

![](Picture10.jpg)

Rappel Unix User

Commande de bases : Overview

![](Picture1.jpg)

Par : L’équipe système

1

1

Notes:

<!-- Slide number: 2 -->

Objectifs

En cours ….

2

<!-- Slide number: 3 -->

Prérequis

3

<!-- Slide number: 4 -->

Le SHELL

Interpréteur de commande

Prompt

Redirections I/O

Execute des commandes, des scripts

Shells courants :

sh : Bourne Shell (globbing)

sch : Berkley Shell

ksh : shell Korn

tcsh : clone de Berkley

bash : Bourne Again Shell (standard Linux)

.bashrc, .bash_profile, .bash_logout

4

<!-- Slide number: 5 -->

Ligne de commande

Syntaxe générale d'une commande Unix:

commande [-options] [arguments]

commande = le nom de la commande

options = les paramètres qui modifient le comportement de la commande(une ou plusieurs).

arguments = Les paramètres sur lesquels s’appliquent la commande (en entrée ou en sortie). Par exemple un chemin

Les options composées d'un seul caractère sont précédées par un tiret.

Il est possible d'accoler plusieurs options

Exemple:

-asli pour les options -a -s -l –i.

5

<!-- Slide number: 6 -->

Chemin et répertoires spéciaux

pwd: (print working directory) affiche le répertoire courant

cd: (change directory) changer de répertoire

chemin relatif: Le chemin relatif dépend du répertoire courant

cd test

cd ../xxx/xxx1

chemin absolu: Le chemin absolu est indépendant du répertoire courant : Quelque soit l’endroit où l’on se trouve , il indique la même destination. Il représente l’arborescence complète à partir de la racine « / » .

cd /tmp/test

Répertoires spéciaux :

. : le point représente le répertoire courant,

.. : les deux points représente le répertoire parent

~ : le tilde représente le répertoire maison (home) de l'utilisateur

6

Publicité

<!-- Slide number: 7 -->

Les page de manuel (MAN)

man mkdir

man cal

Recherche de mot clé

man –k compress

en ligne

$man ls (affiche l’aide ‘’page manuel’ de la commande ls)

Les principales rubriques des pages du manuel en ligne sont :

NAME pour le nom de la commande

SYNOPSIS pour le syntaxe

DESCRIPTION pour le fonctionnement détaillé

7

<!-- Slide number: 8 -->

Les page de manuel (MAN)

Lorsque vous recherchez la signification d'un élément, vous pouvez aussi utiliser la commande whatis

Par exemple : whatis ls.

La commande apropos <mot-clé> indique le nom des commandes applications indexées par le mot-clé donné.

8

<!-- Slide number: 9 -->

Commandes utilitaires

halt: éteint l’ordinateur équivalent à shutdown -h now ou init 0.

reboot : reboote l’ordinateur équivalent à shutdown -r now ou init 6

uptime: dit depuis combien de temps le système n’a pas rebooté. Certains s’amusent ainsi à faire des concours d’uptime pour prouver la stabilité de leurs machines Linux!

id nom_utilisateur: affiche le nom de connexion et le numéro d'identifiant de l'utilisateur et du groupe auquel il appartient.

logname : affiche le nom de connexion

who : liste les utilisateurs connectés sur le même site

who –r: affiche le niveau (runlevel)‏

whoami: affiche le nom d’utilisateur en cours

hostname: affiche le nom de la machine

9

<!-- Slide number: 10 -->

Commandes utilitaires

uname : affiche le nom du système d'exploitation

uname -a : donne plus d'informations : le type de machine, le nom de la machine, le numéro de version du noyau du système d'exploitation (à ne pas confondre avec le numéro de version de la distribution), le nom du système d'exploitation (ici GNU/Linux) et la date de construction (par compilation) du noyau du système d'exploitation.

cat /etc/issue ou cat/proc/version pour connaitre la distribution installée

10

<!-- Slide number: 11 -->

Commandes utilitaires

clear : efface l'écran

exec : Dans certains cas, il est aussi possible de faire un recouvrement du processus bash en fonctionnement.

exec <firefox> (A utiliser si vous n'avez plus besoin du prompt)

exit : termine le shell‏

history : affiche l’historique actuel des commandes.

history <n> : affiche l’historique actuel des n dernières commandes.

date : les informations affichées sont relatives au fuseau horaire indiqué avant l'année.

cal : affiche le calendrier du mois et l’année courant

cal <mois> <année> : affiche le calendrier du mois et l’année spécifiée

groups <utilisateur> : affiche le(s) groupe(s) auquel appartient un utilisateur

which <commande> : localise le chemin de la commande

whereis <commande> : localise le chemin de la commande ainsi que sa page de man

11

<!-- Slide number: 12 -->

alias

Un alias sert à (re)définir le nom d'une commande.

Un alias permet d'abréger une longue commande, de remplacer le nom d’une commande existante par un autre nom ou bien de modifier le comportement d’une commande existante.

$ alias back=‘cd $OLDPWD’

Publicité

12

<!-- Slide number: 13 -->

Variables d'environnement

Variable gérée au sein d'un shell. Caractérisée par un nom et une valeur.

env : Commande d'affichage de la liste des variables d'environnement et de leurs valeurs.

*Exemple:

BASH=/bin/bashPWD= (rep courant)

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

HOME=/home/esprit

Supprimer une variable d’environnement par la commande unset

13

<!-- Slide number: 14 -->

Gestion de base des fichiers

ls [options] [filenames]

-l: affiche au format long

-a: tous les fichiers, même cachés

-R: liste les sous-répertoires récursivement

-d: pour ne pas descendre dans les sous-répertoire

14

<!-- Slide number: 15 -->

Manipulation des répertoires

pwd: afficher le nom absolu du répertoire courant

du <file_ou_rep>: afficher la taille du fichier ou répertoire

cd <rep> : accéder à un répertoire (changer de répertoire)

cd .. : sortir d’un répertoire //revenir au dossier parent

cd - : revenir au répertoire précédent

mkdir <rep>: (make directory) créer un répertoire dans le répertoire courant(-p permet de créer une arborescence).

rmdir <rep>: (remove directory) supprimer un répertoire vide

cp –r <rep1> <rep2 >: copier tout le continu du répertoire rep1 dans rep2

cp –a <f1> <f2> : copier un fichier f1 en f2 tout en conservant ses droits

15

<!-- Slide number: 16 -->

Manipulation des fichiers

Remarque: Fichiers cachés :

Sous Unix, les fichiers cachés commencent par un point. Par exemple, ~/.bashrc est un fichier caché, dans le répertoire maison de l'utilisateur, qui contient la configuration de son shell.

touch <file> : créer un fichier

cat <file> : afficher le continu d’un fichier

tac <file> : afficher le contenu dans l'ordre inverse

rm <file> : supprimer le fichier

mv <file1> <file2> : renommer le fichier fich1 en fich2

mv <file><rep> : déplacer le fichier fich vers un répertoire rep

file <file> : trouver les informations sur les fichiers

16

<!-- Slide number: 17 -->

Commandes d’affichages de contenu de fichiers

less(version améliorée de more), tail ou head permettent de visualiser le contenu des fichiers texte.

La commande less permet de visualiser un fichier page par page.

La commande head permet de visualiser le début d'un fichier.

La commande tail permet de visualiser la fin d'un fichier.

Principales options:

-n nb: nb étant le nombre de lignes à afficher. (head et tail)‏

Par défaut head et tail affiche 10 lignes

-c nb: nb étant le nombre d’octets à afficher. (head et tail)‏

-f: append output(permet à tail de maintenir le fichier ouvert)‏

-s nb: itération des nouvelles données toutes les nb sec. (tail)‏

17

<!-- Slide number: 18 -->

Publicité

Commandes d’affichage de contenu de fichiers

$cat /etc/passwd

$more /etc/profile

$head -n 20 /etc/profile (affiche les 20 premières lignes)‏

$head -c 100 /etc/profile (affiche les 100 premiers caractères)‏

$tail -n 6 /etc/profile (affiche les 6 dernières lignes)‏

$tail -f -s 1 file (rafraichissement chaque second)‏

18

<!-- Slide number: 19 -->

Numérotation des lignes

nl [options] [files...]

Options

-i #:incrémente les numéro de ligne de #

-b:notifie le style

a: numérote toutes les lignes

t: numérote que les lignes pleines

-n:notifie le format de numération

rz :justifié à droite

ln : justifié à gauche

19

<!-- Slide number: 20 -->

Compter les caractères :

wc [options] [files...]

Options :

-c : affiche la taille des octets

-m : affiche le nombre de caractere

-w : affiche le nombre de mots

-l : affiche le numéro de ligne

-L : affiche la taille de la ligne la plus longue

20

<!-- Slide number: 21 -->

Découper les champs des fichiers

cut [options] [files...]

-b # : supprime l’octet de la position #

-f # : supprime le champ n° #

Exemple :

cut –b 4,7 #extrait le 4 et le 7ème byte de chaque ligne

Cut –f 1,3 –d: /etc/passwd

extrait username et ID de chq ligne

21

<!-- Slide number: 22 -->

Trier des lignes d’un fichier

sort [options] [files…]

Options

-r : inversé

-f : sans casse

-n : format numérique

-o: file: dirige les sorite vers un fichier

-u: pas d’enregistrements dupliqués

-t; : utilise ‘’;’’ comme délimiteur

22

<!-- Slide number: 23 -->

Recherche de fichiers(1/2)

find permet de chercher tout type de fichier dans un sous-répertoire

find chemin [conditions] [actions]

Conditions:

-name: nom du fichier

Publicité

-iname: nom de fichier (insensible à la casse

-size [+-] <nb>: A une taille +- nb blocks (c:octets, k:kilo)

-type b: pour les fichier de type block (média, disques, etc.) ou c: pour les fichier de type caractère (stream de données, clavier, souris, etc.) ou l: pour les liens symboliques ou d: pour les répertoire

-user <nom>: nom du propriétaire

-atime (+n) (-n): Date d’accès aux fichiers

-mtime (+n) (-n): Date de modification des fichiers

-perm rwx : possèdent la permission rwx

-inum n : fichiers avec un numéro d’inode n

23

<!-- Slide number: 24 -->

Recherche de fichiers(2/2)

On recherche des fichiers dont la taille est >à 30 K

Chercher tous les fichiers dont les noms commencent par a ou A, suivi d'éventuellement quelques lettres ou chiffres, et se terminent par un chiffre entre 3 et 6 ?

Comment fait-on pour indiquer que le fichier recherché a été modifié il y a plus de 30 jours ? Il y a 30 jours ? Il y a moins de 30 jours?

find / -type f -size +30k –print

find . -name '[aA]*[3-6]' –print

-mtime 30 : il y a 30 jours;

-mtime +30 : il y a 30 jours ou plus;

-mtime -30 : il y a 30 jours ou moins.

24

<!-- Slide number: 25 -->

I/O standards

Chaque commande possède

Valeur d’entrée standard, &0

Clavier par défaut

Valeur de sortie standard, &1

Terminal par défaut

Valeur de sortie des erreurs, &2

Terminal par défaut

Chaque canal peut être rediriger

[n]< file [n]> file

[n]>> file <<word

25

<!-- Slide number: 26 -->

I/O standards

Redirection des sortie et sortie en erreur standards dans un même fichier :

find /etc –name passwd > out.txt 2>&1

2>&1 signifie : ajouter la sortie en erreur standard au fichier de sortie standard.

Le fichier /dev/null tout ce qui est envoyé a ce fichier est détruit

26

<!-- Slide number: 27 -->

Redirections (pipes)

Permet plusieurs commandes

command1 | command2

Redirige la sotie standard de command1 vers l’entrée standard de command2

On ne peut pas faire de pipe sur erreur

Exemples :

ls -l /dev | more

ls -l /etc/*.conf | grep user | grep 500

Tee dupliquer les sorties

ls -l /dev | tee file

ls -l /etc | tee -a file # ajoute au fichier

27

Rappel Unix User

Programming, Unix Commands · course

Voir tous les documents en systèmes d'exploitation et cloud

<!-- Slide number: 1 -->

![](Picture9.jpg)

![](Picture10.jpg)

Rappel Unix User

Commande de bases : Overview

![](Picture1.jpg)

Par : L’équipe système

1

1

Notes:

<!-- Slide number: 2 -->

Objectifs

En cours ….

2

<!-- Slide number: 3 -->

Prérequis

3

<!-- Slide number: 4 -->

Le SHELL

Interpréteur de commande

Prompt

Redirections I/O

Execute des commandes, des scripts

Shells courants :

sh : Bourne Shell (globbing)

sch : Berkley Shell

ksh : shell Korn

tcsh : clone de Berkley

bash : Bourne Again Shell (standard Linux)

.bashrc, .bash_profile, .bash_logout

4

<!-- Slide number: 5 -->

Ligne de commande

Syntaxe générale d'une commande Unix:

commande [-options] [arguments]

commande = le nom de la commande

options = les paramètres qui modifient le comportement de la commande(une ou plusieurs).

arguments = Les paramètres sur lesquels s’appliquent la commande (en entrée ou en sortie). Par exemple un chemin

Les options composées d'un seul caractère sont précédées par un tiret.

Il est possible d'accoler plusieurs options

Exemple:

-asli pour les options -a -s -l –i.

5

<!-- Slide number: 6 -->

Chemin et répertoires spéciaux

pwd: (print working directory) affiche le répertoire courant

cd: (change directory) changer de répertoire

chemin relatif: Le chemin relatif dépend du répertoire courant

cd test

cd ../xxx/xxx1

chemin absolu: Le chemin absolu est indépendant du répertoire courant : Quelque soit l’endroit où l’on se trouve , il indique la même destination. Il représente l’arborescence complète à partir de la racine « / » .

cd /tmp/test

Répertoires spéciaux :

. : le point représente le répertoire courant,

.. : les deux points représente le répertoire parent

~ : le tilde représente le répertoire maison (home) de l'utilisateur

6

Publicité

<!-- Slide number: 7 -->

Les page de manuel (MAN)

man mkdir

man cal

Recherche de mot clé

man –k compress

en ligne

$man ls (affiche l’aide ‘’page manuel’ de la commande ls)

Les principales rubriques des pages du manuel en ligne sont :

NAME pour le nom de la commande

SYNOPSIS pour le syntaxe

DESCRIPTION pour le fonctionnement détaillé

7

<!-- Slide number: 8 -->

Les page de manuel (MAN)

Lorsque vous recherchez la signification d'un élément, vous pouvez aussi utiliser la commande whatis

Par exemple : whatis ls.

La commande apropos <mot-clé> indique le nom des commandes applications indexées par le mot-clé donné.

8

<!-- Slide number: 9 -->

Commandes utilitaires

halt: éteint l’ordinateur équivalent à shutdown -h now ou init 0.

reboot : reboote l’ordinateur équivalent à shutdown -r now ou init 6

uptime: dit depuis combien de temps le système n’a pas rebooté. Certains s’amusent ainsi à faire des concours d’uptime pour prouver la stabilité de leurs machines Linux!

id nom_utilisateur: affiche le nom de connexion et le numéro d'identifiant de l'utilisateur et du groupe auquel il appartient.

logname : affiche le nom de connexion

who : liste les utilisateurs connectés sur le même site

who –r: affiche le niveau (runlevel)‏

whoami: affiche le nom d’utilisateur en cours

hostname: affiche le nom de la machine

9

<!-- Slide number: 10 -->

Commandes utilitaires

uname : affiche le nom du système d'exploitation

uname -a : donne plus d'informations : le type de machine, le nom de la machine, le numéro de version du noyau du système d'exploitation (à ne pas confondre avec le numéro de version de la distribution), le nom du système d'exploitation (ici GNU/Linux) et la date de construction (par compilation) du noyau du système d'exploitation.

cat /etc/issue ou cat/proc/version pour connaitre la distribution installée

10

<!-- Slide number: 11 -->

Commandes utilitaires

clear : efface l'écran

exec : Dans certains cas, il est aussi possible de faire un recouvrement du processus bash en fonctionnement.

exec <firefox> (A utiliser si vous n'avez plus besoin du prompt)

exit : termine le shell‏

history : affiche l’historique actuel des commandes.

history <n> : affiche l’historique actuel des n dernières commandes.

date : les informations affichées sont relatives au fuseau horaire indiqué avant l'année.

cal : affiche le calendrier du mois et l’année courant

cal <mois> <année> : affiche le calendrier du mois et l’année spécifiée

groups <utilisateur> : affiche le(s) groupe(s) auquel appartient un utilisateur

which <commande> : localise le chemin de la commande

whereis <commande> : localise le chemin de la commande ainsi que sa page de man

11

<!-- Slide number: 12 -->

alias

Un alias sert à (re)définir le nom d'une commande.

Un alias permet d'abréger une longue commande, de remplacer le nom d’une commande existante par un autre nom ou bien de modifier le comportement d’une commande existante.

$ alias back=‘cd $OLDPWD’

Publicité

12

<!-- Slide number: 13 -->

Variables d'environnement

Variable gérée au sein d'un shell. Caractérisée par un nom et une valeur.

env : Commande d'affichage de la liste des variables d'environnement et de leurs valeurs.

*Exemple:

BASH=/bin/bashPWD= (rep courant)

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

HOME=/home/esprit

Supprimer une variable d’environnement par la commande unset

13

<!-- Slide number: 14 -->

Gestion de base des fichiers

ls [options] [filenames]

-l: affiche au format long

-a: tous les fichiers, même cachés

-R: liste les sous-répertoires récursivement

-d: pour ne pas descendre dans les sous-répertoire

14

<!-- Slide number: 15 -->

Manipulation des répertoires

pwd: afficher le nom absolu du répertoire courant

du <file_ou_rep>: afficher la taille du fichier ou répertoire

cd <rep> : accéder à un répertoire (changer de répertoire)

cd .. : sortir d’un répertoire //revenir au dossier parent

cd - : revenir au répertoire précédent

mkdir <rep>: (make directory) créer un répertoire dans le répertoire courant(-p permet de créer une arborescence).

rmdir <rep>: (remove directory) supprimer un répertoire vide

cp –r <rep1> <rep2 >: copier tout le continu du répertoire rep1 dans rep2

cp –a <f1> <f2> : copier un fichier f1 en f2 tout en conservant ses droits

15

<!-- Slide number: 16 -->

Manipulation des fichiers

Remarque: Fichiers cachés :

Sous Unix, les fichiers cachés commencent par un point. Par exemple, ~/.bashrc est un fichier caché, dans le répertoire maison de l'utilisateur, qui contient la configuration de son shell.

touch <file> : créer un fichier

cat <file> : afficher le continu d’un fichier

tac <file> : afficher le contenu dans l'ordre inverse

rm <file> : supprimer le fichier

mv <file1> <file2> : renommer le fichier fich1 en fich2

mv <file><rep> : déplacer le fichier fich vers un répertoire rep

file <file> : trouver les informations sur les fichiers

16

<!-- Slide number: 17 -->

Commandes d’affichages de contenu de fichiers

less(version améliorée de more), tail ou head permettent de visualiser le contenu des fichiers texte.

La commande less permet de visualiser un fichier page par page.

La commande head permet de visualiser le début d'un fichier.

La commande tail permet de visualiser la fin d'un fichier.

Principales options:

-n nb: nb étant le nombre de lignes à afficher. (head et tail)‏

Par défaut head et tail affiche 10 lignes

-c nb: nb étant le nombre d’octets à afficher. (head et tail)‏

-f: append output(permet à tail de maintenir le fichier ouvert)‏

-s nb: itération des nouvelles données toutes les nb sec. (tail)‏

17

<!-- Slide number: 18 -->

Publicité

Commandes d’affichage de contenu de fichiers

$cat /etc/passwd

$more /etc/profile

$head -n 20 /etc/profile (affiche les 20 premières lignes)‏

$head -c 100 /etc/profile (affiche les 100 premiers caractères)‏

$tail -n 6 /etc/profile (affiche les 6 dernières lignes)‏

$tail -f -s 1 file (rafraichissement chaque second)‏

18

<!-- Slide number: 19 -->

Numérotation des lignes

nl [options] [files...]

Options

-i #:incrémente les numéro de ligne de #

-b:notifie le style

a: numérote toutes les lignes

t: numérote que les lignes pleines

-n:notifie le format de numération

rz :justifié à droite

ln : justifié à gauche

19

<!-- Slide number: 20 -->

Compter les caractères :

wc [options] [files...]

Options :

-c : affiche la taille des octets

-m : affiche le nombre de caractere

-w : affiche le nombre de mots

-l : affiche le numéro de ligne

-L : affiche la taille de la ligne la plus longue

20

<!-- Slide number: 21 -->

Découper les champs des fichiers

cut [options] [files...]

-b # : supprime l’octet de la position #

-f # : supprime le champ n° #

Exemple :

cut –b 4,7 #extrait le 4 et le 7ème byte de chaque ligne

Cut –f 1,3 –d: /etc/passwd

extrait username et ID de chq ligne

21

<!-- Slide number: 22 -->

Trier des lignes d’un fichier

sort [options] [files…]

Options

-r : inversé

-f : sans casse

-n : format numérique

-o: file: dirige les sorite vers un fichier

-u: pas d’enregistrements dupliqués

-t; : utilise ‘’;’’ comme délimiteur

22

<!-- Slide number: 23 -->

Recherche de fichiers(1/2)

find permet de chercher tout type de fichier dans un sous-répertoire

find chemin [conditions] [actions]

Conditions:

-name: nom du fichier

Publicité

-iname: nom de fichier (insensible à la casse

-size [+-] <nb>: A une taille +- nb blocks (c:octets, k:kilo)

-type b: pour les fichier de type block (média, disques, etc.) ou c: pour les fichier de type caractère (stream de données, clavier, souris, etc.) ou l: pour les liens symboliques ou d: pour les répertoire

-user <nom>: nom du propriétaire

-atime (+n) (-n): Date d’accès aux fichiers

-mtime (+n) (-n): Date de modification des fichiers

-perm rwx : possèdent la permission rwx

-inum n : fichiers avec un numéro d’inode n

23

<!-- Slide number: 24 -->

Recherche de fichiers(2/2)

On recherche des fichiers dont la taille est >à 30 K

Chercher tous les fichiers dont les noms commencent par a ou A, suivi d'éventuellement quelques lettres ou chiffres, et se terminent par un chiffre entre 3 et 6 ?

Comment fait-on pour indiquer que le fichier recherché a été modifié il y a plus de 30 jours ? Il y a 30 jours ? Il y a moins de 30 jours?

find / -type f -size +30k –print

find . -name '[aA]*[3-6]' –print

-mtime 30 : il y a 30 jours;

-mtime +30 : il y a 30 jours ou plus;

-mtime -30 : il y a 30 jours ou moins.

24

<!-- Slide number: 25 -->

I/O standards

Chaque commande possède

Valeur d’entrée standard, &0

Clavier par défaut

Valeur de sortie standard, &1

Terminal par défaut

Valeur de sortie des erreurs, &2

Terminal par défaut

Chaque canal peut être rediriger

[n]< file [n]> file

[n]>> file <<word

25

<!-- Slide number: 26 -->

I/O standards

Redirection des sortie et sortie en erreur standards dans un même fichier :

find /etc –name passwd > out.txt 2>&1

2>&1 signifie : ajouter la sortie en erreur standard au fichier de sortie standard.

Le fichier /dev/null tout ce qui est envoyé a ce fichier est détruit

26

<!-- Slide number: 27 -->

Redirections (pipes)

Permet plusieurs commandes

command1 | command2

Redirige la sotie standard de command1 vers l’entrée standard de command2

On ne peut pas faire de pipe sur erreur

Exemples :

ls -l /dev | more

ls -l /etc/*.conf | grep user | grep 500

Tee dupliquer les sorties

ls -l /dev | tee file

ls -l /etc | tee -a file # ajoute au fichier

27