<!-- Slide number: 1 -->


Rappel Unix User
Commande de bases : Overview

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