Les commandes utilisateurs

Objectifs et modalités

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

  • Les systèmes Linux possèdent des utilitaires graphiques dédiés au travail d’un administrateur.

Mais :

  • Lorsque le système ne démarre pas correctement, seul le shell reste accessible.

  • L’administration à distance se fera en ligne de commande.

  • Afin de préserver les ressources du serveur l’interface graphique peut ne pas être installée.

  • L’administration se fait en partie via des scripts.

L’interface en mode texte (le shell) est commune à toutes les distributions Linux, seules quelques commandes varient.

L’utilisateur est défini par :

  • Nom de compte de connexion (login)

  • UID (User Identifier)

  • GID (Group Identifier)

  • Mot de passe

  • Interpréteur de commandes (shell)

  • Répertoire de connexion (home directory)

  • Prompt de connexion

Le prompt de connexion

Le prompt de connexion est représenté par :

  • # pour l’administrateur

  • $ pour les utilisateurs

Il est possible de se connecter avec plusieurs utilisateurs simultanément sur des terminaux différents.

Méthodes pour changer de terminal :

  • Depuis le mode ligne de commande

[Alt] + [Fx]
  • Depuis le mode graphique

[Ctrl] + [Alt] + [Fx]

Le Shell se comporte comme une boucle infinie.

SYS LNXFON 020 001 shell boucle

Pour interrompre une commande en cours d’exécution, il faut appuyer sur CTRL + c.

La syntaxe d’une commande respecte toujours la même séquence.

commande [-option(s)] [argument…]
  • Le nom de la commande est toujours en minuscules.

  • Un espace sépare les éléments.

  • Les options courtes (1 caractère) commencent par un tiret -.

  • Les options longues (x caractères) commencent par un --.

  • Un double tiret seul -- indique la fin de la liste d’options.

Certaines options sont groupables :

[root]# ls -l -i –a
[root]# ls -lia

Il peut y avoir plusieurs arguments après une option.

La commande man

Afficher le manuel d’aide d’une commande

man [numéro de section] commande
man ls
man 5 intro

Culture Linux

Man est ton ami !

« RTFM ! » (Read The Fucking Manual !)

La commande man est interactive et possède des commandes d’utilisation qui lui sont propres.

Commande whatis

Rechercher un mot-clé dans les pages man

whatis mot-clé
$ whatis man
man			(1)	- format and display the online manual
man			(7)	- macros to format man pages
man.config	(5)	- configuration data for man

Commande shutdown

Arrêter le système

shutdown [-h] [-r] heure [message]
[root]# shutdown -h 0:30 "Arrêt serveur à 0h30"
[root]# shutdown -r +5

-h

Arrête électriquement le système

-r

Redémarre le système

Commande history

Afficher l’historique des commandes

history [-option]
$ history
147 man ls
148 man 1 intro
149 man shutdow

-w

Copie l’historique en cours de la session dans le fichier .bash_history

-c

Efface l’historique en cours de la session mais pas le fichier bash_history

Il est possible d’appeler les dernières commandes de plusieurs façons :

  • !! Appel de la dernière commande passée.

  • !n Appel de la commande par son N°(n) dans liste.

  • !string Appel la commande la plus récente commençant par la lettre.

  • [↑] Permet de remonter l’historique des commandes.

  • [↓] Permet de redescendre.

L’auto-complétion

Compléter automatiquement les saisies.

L’auto-complétion permet de compléter les commandes, les chemins saisis ou les noms de fichiers.

Un appui sur la touche [TAB] complète la saisie dans le cas d’une seule solution.

Sinon, un deuxième appui permet d’obtenir la liste des possibilités.

S’il ne se passe rien alors aucune saisie ne correspond.

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Commande clear

Effacer l’écran du terminal

clear
$ clear

Commande echo

Afficher une chaîne de caractères

echo [-e] [-n] "message"
$ echo "Ce message"
Ce message

-e

Permet l’exécution de séquences spéciales

-n

Ne pas revenir à la ligne après avoir affiché le message

Commande date

Afficher la date et l’heure

date [-d AAAAMMJJ] [format]
$ date
mer. Avril 17 16:46:53 CEST 2013

$ date -d 20150729 +%j
210

-d

Affiche une date donnée

Commande date

Modifier la date et l’heure

date -s "[AA]AA-MM-JJ hh:mm[:ss]"
[root] # date –s "2013-04-17 10:17"
jeu. Avril 17 10:17:00 CEST 2013

-s "[AA]AA-MM-JJ hh:mm[:ss]"

Modifie la date et l’heure

Commande id

Affiche le nom d’utilisateur et ses groupes

id [-g] [-G] [-n] [-u] [login]
$ id albert
uid=501(albert) gid=400(GroupA) groupes=400(GroupA)

-g

Affiche le GID du groupe principal

-G

Affiche les GID des groupes secondaires

-n

Affiche le nom au lieu de l’identifiant numérique

-u

Affiche l’UID

Commande who

Affiche le nom des utilisateurs connectés

$ who
stagiaire   tty1   2017-07-29 10:30
root        pts/0  2017-07-29 10:31

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Arborescence et fichiers

Répertoire racine :

Premier répertoire, parent de tous les autres :

/

Répertoire de connexion :

Répertoire associé à l’utilisateur :

~/

Répertoire courant :

Répertoire où se trouve l’utilisateur :

./

Répertoire parent :

Répertoire parent du répertoire courant :

../

Chemin absolu :

Chemin commençant par le répertoire racine

Exemple : /home/groupeA/alice

Chemin relatif :

Chemin depuis le répertoire courant

Exemple : ../bob

SYS LNXFON 020 002 Arborescence
SYS LNXFON 020 003 Arborescence absolu
SYS LNXFON 020 004 Arborescence relatif

Commande pwd

Print Working Directory

Afficher le chemin absolu du répertoire courant

Syntaxe :
pwd
Exemple :
[stagiaire]$ pwd
/home/stagiaire

Commande cd

Changer le répertoire courant :

Syntaxe
cd [répertoire]
Exemples
$ cd /tmp
$ pwd
/tmp
$ cd ../
$ pwd
/
$ cd
$ pwd
/home/stagiaire

Commande ls

Afficher le contenu d’un répertoire

Syntaxe :
ls [-a] [-i] [-l] [répertoire...]
Exemple :
$ ls –a /home
. .. groupeA groupeB

-a

Affiche tous les fichiers, même ceux cachés

-i

Affiche les numéros d’inode

-l

Affiche des informations supplémentaires

Commande ls -l

Le résultat est affiché par colonnes

Exemple :
$ ls -lih /home/groupeA
283369 drwx------. 4 alice groupeA 4,0K 22 août 15:21 alice
283374 drwx------. 4 bob   groupeA 4,0K 22 août 15:22 bob

283369

Numéro d’inode

drwx------

Type de fichier (d) et droits (rwx------)

4

Nombre de sous-répertoires ("." et ".." inclus) Pour un fichier lien physique : Nombre de liens physiques

alice

Utilisateur propriétaire

groupeA

Groupe propriétaire

4, 0K

Taille en octets

22 août 15:21

Date de dernière modification

alice

Nom du fichier (ou du répertoire)

Commande mkdir

Créer un répertoire

Syntaxe
mkdir [-p] répertoire [répertoire…]
Exemple
[root]# mkdir /home/groupeB

Sans option, le répertoire /home/ devra exister pour créer le répertoire groupeB/.

-p

Crée les répertoires parents s’ils n’existent pas

Commande touch

Modifier l’horodatage d’un fichier ou créer un fichier vide si le fichier n’existe pas

Syntaxe
touch [-t date] fichier
Exemple
$ touch /home/stagiaire/fichier

-t date

Modifie la date de dernière modification du fichier avec la date précisée

La date est au format : [AAAA]MMJJhhmm[ss]

Commande rmdir

Supprimer un répertoire vide

rmdir [-p] répertoire

-p

Supprime le ou les répertoire(s) parent(s) à la condition qu’ils soient vides

Commande rm

Supprimer un fichier ou un répertoire

rm [-f] [-i] [-r] chemin [chemin...]
Exemple
$ rm -r /home/stagiaire/STAGE/

-f

Ne demande pas de confirmation de la suppression

-i

Demande confirmation de la suppression

-r

Supprime récursivement les sous-répertoires

Exercice pratique

Créez un fichier -dur-dur en tapant la commande suivante, puis visualisez le :

$ >-dur-dur ; ls

?

Quelle commande permet de le supprimer ?

  • Solution 1 :

$ rm -f -dur-dur

  • Solution 2 :

$ rm -f ./-dur-dur

  • Solution 3 :

$ rm -f -- -dur-dur

Commande mv

Déplacer et renommer des fichiers ou des répertoires

Syntaxe
mv [-f] [-i] source… destination
Exemple
$ mv /home/stagiaire/fic1 /home/stagiaire/fic2
$ mv /home/stagiaire/fic1 /home/stagiaire/fic2 /tmp/

-f

Ne demande pas de confirmation si écrasement du fichier destination

-i

Demande confirmation si écrasement du fichier destination (par défaut)

Commande cp

Copier un fichier

Syntaxe
cp [-f] [-p] [-r] source… destination
Exemple
$ cp -r /home/stagiaire/groupeA/ /tmp/

-f

Ne demande pas de confirmation si écrasement du fichier destination

-p

Conserve le propriétaire, les permissions et l’horodatage du fichier copié

-r

Copie un répertoire avec ses fichiers et sous-répertoires

Copier, déplacer, renommer

$ cp fic1 /repexiste/fic2

fic1 est copié dans /repexiste sous le nom fic2

$ mv fic1 fic2

fic1 est renommé fic2

Si le répertoire de destination existe

$ cp fic1 /repexiste

fic1 est copié dans /repexiste

Si le répertoire de destination n’existe pas.

$ mv fic1 /repexistepas

fic1 est déplacé à la racine et renommé repexistepas

TP Commandes

Atelier 1 : Affichage et identification

Atelier 2 : Arborescence et fichiers

tux tp

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Commande file

Afficher le type d’un fichier

file fichier
$ file /etc/passwd /etc
/etc/passwd: 	ASCII text
/etc: 	directory

Commande less

Afficher le contenu d’un ou plusieurs fichiers

less fichier
less /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
user1:x:500:500:grp1:/home/user1:/bin/bash
...

La commande less est interactive et possède des commandes d’utilisation qui lui sont propres.

Commandes propres à less

h

Aide

Flèches

Monter, descendre d’une ligne ou aller à droite ou à gauche

Enter

Descendre d’une ligne

Espace

Descendre d’une page

PgAR / PgAV

Monter ou descendre d’une page

Pos1 / Fin

Se placer en début de fichier ou en fin de fichier

/texte

Rechercher le texte

q

Quitter la commande less

Commande cat

Concaténer le contenu de plusieurs fichiers et l’afficher à l’écran

Syntaxe de la commande cat
cat fichier
Exemple de la commande cat
$ cat /etc/passwd /etc/group
root:x:0:0:root:/root:/bin/bash
...
alain:x:501:501::/home/GroupeA/alain:/bin/bash
root:x:0:
..
GroupeA:x:501:

Commande head

Afficher le début d’un fichier

Syntaxe de la commande head
head [-n x] fichier
----
Exemple
$ head –n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

-n x

Affiche les x premières lignes du fichier

Commande tail

Afficher la fin d’un fichier

Syntaxe
tail [-f] [-n x] fichier
Exemple
$ tail -n 3 /etc/passwd
sshd:x:74:74:Privilege-separeted sshd:/var/empty /sshd:/sbin/nologin
tcpdump::x:72:72::/:/sbin/nologin
user1:x:500:500:grp1:/home/user1:/bin/bash

-n x

Affiche les x dernières lignes du fichier

-f

Affiche les modification du fichier en temps réel

Commande sort

Trier les lignes d’un fichier

Syntaxe
sort [-kx] [-n] [-o fichier] [-ty] fichier
Exemple
$ sort -k3 -t: -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm/:/sbin/nologin

-kx

Colonne x sur laquelle le tri sera effectué

-n

Demande un tri numérique

-o fichier

Enregistre le tri dans le fichier précisé

-ty

Précise le caractère séparateur de champs y

Commande wc

Compter le nombre de lignes, mots ou octets d’un fichier

Syntaxe
wc [-l] [-m] [-w] fichier
Exemple
wc -l /etc/passwd
43 /etc/passwd

-c

Compte le nombre d’octets

-m

Compte le nombre de caractères

-l

Compte le nombre de lignes

-w

Compte le nombre de mots

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Commande find

Rechercher l’emplacement d’un fichier

Syntaxe
find [répertoire] [-name nom] [-type type] [-user login] 	[-date date]
Exemple
$ find /home/groupeA -name ".bashrc"
/home/groupeA/alice/.bashrc
/home/groupeA/bob/.bashrc

-name "nom"

Recherche selon le nom

-type type

Recherche selon le type

-user login

Recherche selon le nom du propriétaire

Commande whereis

Rechercher des fichiers liés à une commande

Syntaxe
whereis [-b] [-m] [-s] commande
Exemple
$ whereis -b ls
ls: /bin/ls

-b

Ne recherche que le fichier binaire

-m

Ne recherche que les pages de manuel

-s

Ne recherche que les fichiers sources

Commande grep

Rechercher une chaîne de caractères dans un fichier

Syntaxe
grep [-i] [-v] "chaîne" fichier
Exemple
$ grep "root:" /etc/passwd
root:x:0:0:root:/root:/bin/bash

-i

Ignore la casse de la chaîne de caractères recherchée

-v

Inverse le résultat de la recherche

Méta-caractères (jokers)

Ils se substituent à un ou plusieurs caractères (ou une absence) lors d’une recherche et sont combinables.

Le caractère « * »

Le caractère « * » remplace une chaîne composée de plusieurs caractères

$ find /home -name "test*"
/home/test
/home/test1
/home/test11
/home/tests
/home/test362

Le caractère « ? »

Le caractère « ? » remplace un unique caractère.

$ find /home -name "?roupeA"
/home/groupeA

Les crochets « [ ] »

Les crochets « [ ] » permettent de spécifier les valeurs que peut prendre un unique caractère.

$ find /home -name "groupe[AP]"
/home/groupeA
/home/groupeP

TP Commandes

Atelier 3 : Recherches et filtres

tux tp

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

L’entrée et les sorties standards

SYS LNXFON 020 005 Commandes redirections

Par défaut, le clavier est le périphérique d’entrée pour le canal stdin.

Par défaut, l’écran est le périphérique de sortie pour les canaux stdout et stderr.

Rappel : sous Linux, tout est fichier.

SYS LNXFON 020 006 Commandes redirections 2

La redirection va permettre d’utiliser toutes sortes de fichiers à la place de l’entrée et des sorties standards.

Redirection d’entrée

Il est possible de la rediriger depuis un autre fichier grâce au caractère « < ».

Seules les commandes demandant une saisie au clavier pourront gérer la redirection d’entrée.

C’est peu utilisé, mais parfois nécessaire.

Redirection de sortie

La sortie standard peut être redirigée vers un autre fichier grâce aux caractères « > » ou « >> »

Seules les commandes affichant un résultat à l’écran (périphérique de sortie standard) pourront gérer la redirection de sortie

La redirection simple « > » écrase le contenu du fichier de sortie :

$ date +%F > fic_date

La redirection double « >> » ajoute du contenu au fichier de sortie :

$ date +%F >> fic_date

Redirection d’erreur

La sortie d’erreur standard peut être redirigée vers un autre fichier avec « 2> » et « 2>> »

Seules les commandes affichant leurs erreurs à l’écran pourront gérer la redirection d’erreur

La redirection simple « 2> » écrase le contenu du fichier de sortie :

$ ls -R / 2> fic_erreurs

La redirection double « 2>> » ajoute du contenu au fichier de sortie :

$ ls -R / 2>> fic_erreurs

Exemples

Redirection de deux sorties vers deux fichiers :

$ ls -R / >>fic_OK 2>>fic_NOK

Redirection de deux sorties vers un même fichier :

$ ls -R / >>fic.log 2>&1

Redirection vers le « puits sans fond » :

$ ls -R / 2>>/dev/null

Redirection vers la ou les consoles actives :

$ ls -R / 2>>/dev/console

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Tube (pipe)

Mécanisme permettant de relier la sortie standard d’une première commande vers l’entrée standard d’une seconde.

Communication monodirectionnelle avec le symbole « | ».

$ ls -lia / | less
SYS LNXFON 020 007 Commandes tubes

Exemples

N’affiche que le début :

$ ls -lia / | head

N’affiche que la fin :

$ ls -lia / | tail

Trie le résultat :

$ ls -lia / | sort

Compte le nombre de lignes / mots / caractères :

$ ls -lia / | wc

Cherche une chaîne de caractères dans le résultat :

$ ls -lia / | grep fichier

Plan

  • Généralités

  • Affichage et identification

  • Arborescence et fichiers

  • Visualisation

  • Recherche

  • Redirections

  • Tubes

  • Points particuliers

Commande alias

Définir des alias de commandes

alias [nom_alias=‘commande’]
$ alias ll='ls -lia'
$ alias
ll='ls -lia'
$ ll /STAGE
78489 drwxr-xr-x 4 root users 4096 25 oct. 08:10 STAGE

Pour lancer la commande et non l’alias, la faire précéder d’un « \ ».

Commande unalias

Supprimer des alias de commandes

Syntaxe
unalias [-a] nom_alias
Exemple
unalias ll

-a

Désactive tous les alias

Caractère « ; »

Chaîner les commandes

Les commandes s’exécuteront toutes séquentiellement dans l’ordre saisi une fois que l’utilisateur aura appuyé sur [ENTREE].

$ ls / ; cd /home ; ls -lia ; cd /

TP Commandes

Atelier 4 : Tubes et redirections

tux tp