Simplifiez-vous l'informatique
Mots clés

Commandes shell Linux (1ère partie)

Cette série de posts dresse une liste des principales commandes Linux utilisables à la ligne de commande.

Dans cette 1ère partie, nous abordons les commandes sur les fichiers et répertoires.

Système de fichiers

cd

Signification : change directory
Permet de changer de répertoire courant

Exemples :

cd .. (permet de remonter au répertoire parent)

cd /var/www/ (se place dans le répertoire /var/www/)

df

Signification : disk free
Affiche la quantité d’espace disque utilisé dans les systèmes de fichiers.

Options :

-a : Affiche tous les systèmes de fichiers, y compris ceux de 0 blocs (par exemple : proc, sysfs, usbfs et tmpfs)

-h : Ajoute aux valeur un M pour mébioctet (2^20 octets)

-H : Comme -h mais en mégaoctets (10^6 octets).

-T : Affiche le type du système de fichier.

Exemples :

df -h
(Affiche la quantité d’espace disque utilisé en mébioctets par les systèmes de fichiers.)

df /home
(Affiche la quantité d’espace disque utilisé par la partition /home (si elle existe))

df -T -h
(Affichage le nom des partitions et leur point de montage.)

du

Signification : directory usage
Affiche l’espace disque utilisé par répertoire

Options :

-a : Afficher pour tous les fichiers et pas uniquement les répertoires.

-c : Faire un total après avoir tout affiché.

-h : Ajoute un suffixe correspondant à l’unité (K, M, G)

-H : Idem que -h mais en puissance de 10

Exemple :

du -ch /home/mondossier
(Affiche la taille des répertoire contenus dans /home/mondossier en utilisant un suffixe puis le total.)

ls

Signification : list
Permet de lister un répertoire

Options :

-l : Permet un affichage détaillé du répertoire (permissions d’accès, le nombre de liens physiques, le nom du propriétaire et du groupe, la taille en octets, et l’horodatage)

-h : Associé avec -l affiche la taille des fichiers avec un suffixe correspondant à l’unité (K, M, G)

-a : Permet l’affichage des fichiers et répertoires cachés (ceux qui commencent par un . (point))

Exemples :

ls -a
(affiche tous les fichiers et répertoires cachés du répertoire courant)

ls /etc/
(affiche le contenu du répertoire /etc/)

pwd

Signification : print working directory
Affiche le répertoire en cours

Manipulation de fichiers et de dossiers

cp

Signification : copy
Permet de copier des fichiers ou des répertoires

Options :

-a : Archive. Copie en gardant les droits, dates, propriétaires, groupes, etc.

-i : Demande une confirmation avant d’écraser

-f : Si le fichier de destination existe et ne peut être ouvert alors le détruire et essayer à nouveau

-r : Copie un répertoire et tout son contenu

-u : Ne copie que les fichiers plus récents ou qui n’existe pas

Exemples :

cp monfichier mondossier/
(Copie monfichier dans mondossier)

cp -r dossiersource/ dossierdestination/
(Copie le répertoire dossiersource vers dossierdestination en créant le répertoire s’il n’existe pas.)

mv

Signification : move
Permet de déplacer ou renommer des fichiers et des répertoires

Options :

-f : Écrase les fichiers de destination sans confirmation

-i : Demande confirmation avant d’écraser

-u : N’écrase pas le fichier de destination si celui ci est plus récent

Exemples :

mv monfichier mondossier/
(Déplace monfichier dans le répertoire mondossier)

mv mondossier/monfichier .
(Déplace le fichier monfichier du répertoire mondossier dans le répertoire en cours)

mv dossiersource dossierdestination
(Renomme dossiersource en dossierdestination)

rm

Signification : remove
Permet d’effacer des fichiers

Options :

-f : Ne demande pas de confirmation avant d’effacer

-r : Efface récursivement les fichiers ainsi que les répertoires

Exemples :

rm monfichier
(Efface le fichier monfichier)

rm -rf /mondossier/monsousdossier
(Efface le répertoire /mondossier/monsousdossier ainsi que tous ses fichiers sans demander de confirmation)

mkdir

Signification : make directory
Crée un répertoire vide

Options :

-p : Crée les répertoire parents s’ils n’existent pas

Exemples :

mkdir mondossier
(Crée le répertoire mondossier)

mkdir -p mondossier/monsousdossier
(Crée le répertoire monsousdossier et s’il n’existe pas mondossier aussi)

Liens symboliques

ln

Signification : link
Crée un lien (physique ou symbolique)

Options :

-s : Crée un lien symbolique (similaire aux raccourcis du monde Windows)

-f : Force l’écrasement du fichier de destination s’il existe

-d : Crée un lien sur un répertoire (uniquement en mode sudo ou root)

Exemples :

ln -s mondossier/monsousdossier/monfichier monlien
(Crée un lien symbolique monlien de mondossier/monsousdossier/monfichier dans le répertoire en cours)

ln monfichier mondossier/monlien
(Crée un lien physique monlien de monfichier dans le répertoire mondossier)

Recherche

find

Signification : find
Permet de chercher des fichiers et éventuellement exécuter des commandes à ceux-ci

Options :

-name : Recherche d’un fichier par son nom

-iname : Comme -name mais insensible à la casse

-type: Recherche de fichier d’un certain type

-atime : Recherche par date de dernier accès

-mtime : Recherche par date de dernière modification

-link : Recherche du nombre de liens au fichier

-user : Recherche de fichiers appartenant à l’utilisateur donné

-group : Recherche de fichiers appartenant au groupe donné

Actions :

-exec : Exécute la commande donnée aux fichier trouvés

-ok : Même chose que -exec mais demande une confirmation

-ls : exécute la commande ls à chaque fichier trouvé

Opérateurs :

-a : Opérateur ET

-o : Opérateur OU

! ou -not : Opérateur NOT

Exemples :

find monfichier*
(Recherche un fichier commençant par « monfichier »)

find *monfichier*.zip
(Recherche un fichier contenant « monfichier » et ayant pour extention « .zip »)

find /home/ -name monfichier
(Recherche le fichier monfichier dans tous les répertoires de /home/)

find . -name ".zip"
(Recherche tous les fichiers ayant une extension .zip)

find . -mtime -7
(Recherche les fichiers du répertoire courant qui ont été modifiés entre maintenant et il y a 7 jours)

find /home/ -mtime -1 \! -type d
(Recherche uniquement les fichiers (! -type d signifie n’était pas un répertoire) ayant été modifié ces dernières 24h)

find . ! -user root
(Affiche tous les fichier n’appartenant pas à l’utilisateur root)

find . \( -name '*.jpg' -o -name '*.gif' \) -exec rm {} \;
(Recherche et supprime tous les fichier jpg et gif trouvés)

grep

Signification : global regular expression print
Recherche une chaine de caractère dans des fichiers (ou depuis la console si aucune fichier n’est indiqué) ; Souvent utilisé en filtre avec d’autres commandes.

Options :

-c : Retourne le nombre de ligne au lieu des lignes elles mêmes

-n : Retourne les lignes préfixées par leur numéro

-i : Insensible à la casse

-r : Recherche récursivement dans tous les sous-répertoires ; On peut utiliser la commande rgrep

-G : Recherche en utilisant une expression relationnelle basique (option par défaut)

-E : Recherche en utilisant une expression relationnelle étendue ; On peu utiliser la commande egrep

-F : Recherche en utilisant une chaîne fixe ; On peut utiliser la commande fgrep

Exemples :

grep -n montexte monfichier
(Retourne toutes les lignes ainsi que leur numéro ou montexte apparait dans monfichier)

Modification des droits d’accès

chmod

Signification : change mode
Modifie les permissions d’accès à un fichier ou à un répertoire.

Type d’autorisations (une autorisation d’exécution sur un répertoire autorise son ouverture) :

A qui s’applique le changement :

u : Propriétaire du fichier

g : Groupe propriétaire du fichier

o : Tous les autres utilisateurs

a (all, tous) représente l’ensemble des trois catégories.

La modification à appliquer :

+ : Ajoute une permission

– : Enlève une permission

= : Autorise uniquement l’autorisation indiquée

Le droit que l’on veut modifier :

r : Lecture ; Valeur octale 4

w : Écriture ; Valeur octale 2

x : Exécution ; Valeur octale 1

s : Utilise les droits du propriétaire ou du groupe lors de l’exécution

Options :

-R : Récursif, modifie les autorisation d’un répertoire et tout ce qu’il contient

-c : Ne montrer que les fichier ayant été réellement modifiés

-f : Ne pas afficher les messages d’erreur

Exemples :

chmod ugo+x mondossier
(Ajoute l’exécution (ouverture) du répertoire mondossier à tous (propriétaire, groupe, autres))

chmod go-wx mondossier
(Supprime l’autorisation de lecture et d’écriture de mondossier au groupe et aux autres)

chmod u=rw,go=r monfichier
(Fixe l’autorisation de lecture et d’écriture au propriétaire de monfichier et une autorisation de lecture au groupe et aux autres.)

chmod 644 monfichier
(Comme ci-dessus mais en utilisant les valeurs octales )
4+2 = 6 (écriture et lecture) pour le propriétaire du fichier, 4 (lecture) pour le groupe propriétaire, 4 (lecture) pour les autres utilisateurs

chmod u=rw,g=r,o= monfichier
(Fixe l’autorisation d’ouverture et de lecture de monfichier au propriétaire, uniquement la lecture au groupe et interdit tout accès aux autres.)

chown

Signification : change owner
Change le propriétaire et le groupe propriétaire d’un fichier

Options :

-R : Modifie récursivement un répertoire et tout ce qu’il contient

Exemples :

chown utilisateur_proprietaire monfichier
(Change le propriétaire de monfichier en utilisateur_proprietaire)

chown -R utilisateur_proprietaire:groupe_proprietaire mondossier
(Change le propriétaire en utilisateur_proprietaire et le groupe propriétaire en groupe_proprietaire du répertoire mondossier ainsi que tout ce qu’il contient)

chgrp

Signification : change groupe
Change le groupe propriétaire d’un fichier

Options :

-R : Change récursivement un répertoire et tout ce qu’il contient

-h : Change le groupe propriétaire d’un lien symbolique et seulement lui (ne touche pas à la destination du lien)

-L : Si fournie avec R , change le groupe propriétaire d’un répertoire et des fichiers qu’il contient si il est pointé par un lien symbolique rencontré lors de l’exécution

Exemples :

chgrp autregroupe monfichier
(Change le groupe propriétaire du fichier monfichier en autregroupe)

chgrp -R autregroupe mondossier
(Change le groupe propriétaire du répertoire mondossier ainsi que tout ce qu’il contient en autregroupe)