La Ligne de commande sous GNU/Linux

Cette page vise à présenter une liste non exhaustive de commandes connues et souvent utilisées.

  • Il ne sera fait aucune différence entre les options POSIX et GNU
  • Il est presque toujours possible de combiner les options (exemple : ls -l -a deviendra ls -la)
  • Il ne sera pas précisé si les commandes doivent être exécutées avec des droits plus élevés que ceux des simples utilisateurs
  • Les mots répertoire et dossier sont équivalents.
La plupart des commandes présentées ici sont documentées dans votre système. Il vous suffit de taper dans une console man suivi d'un espace et du nom de la commande pour avoir toutes les informations sur le fonctionnement de la commande voulue. Pour plus d'informations à ce sujet, reportez-vous à la page « Le manuel ».

Notions de relativité des chemins de fichier

Le titre est un peu compliqué, mais le principe est simple : un fichier peut être référencé de manière relative, par rapport au répertoire courant, ou de manière absolue par rapport à la racine. Le premier caractère de la référence permet d'effectuer la distinction : les références absolues commencent toujours par le caractère /, alors que les références relatives commencent par tout autre caractère valide pour un nom de fichier.
Ainsi, les deux commandes ci-dessous sont équivalentes et peuvent être utilisées l'une comme l'autre pour renommer le fichier MonFichier localisé dans le répertoire personnel de l'utilisateur (/home/user) :

user@mulet:~$ mv MonFichier NouveauNomDuFichier
user@mulet:/srv $ mv /home/user/MonFichier /home/user/NouveauNomDuFichier

Dans le premier exemple, l'invite système (user@mulet:~$) montre que le répertoire courant est le répertoire personnel de l'utilisateur ("~", caractère spécial équivalent /home/user) ; la référence au fichier à renommer est exprimée de manière relative par rapport à ce répertoire. Dans le second exemple, l'invite système montre que le répertoire courant est /srv ; pour désigner le même fichier, il faut donc utiliser une référence absolue : /home/user/MonFichier (qui aurait tout aussi bien pu être exprimée par ~/MonFichier).

Comme vous le constatez, l'espace sert à séparer les directives d'une commande. Si dans votre ligne de commande un chemin comporte un espace dans le nom du répertoire et/ou du fichier, encadrez alors la totalité du chemin avec des guillemets ou des apostrophes. Exemple :
user@mulet:/srv $ mv /home/user/MonFichier '/home/user/Nouveau NomDuFichier'

Raccourcis pratiques

Les caractères spéciaux ~, . et .. correspondent respectivement au répertoire personnel de l'utilisateur, au répertoire courant et au répertoire parent. Ils permettent tous les trois de simplifier l'expression de références absolues.
Ainsi pour déplacer le fichier /UnRep/MonFichier respectivement dans le répertoire de l'utilisateur (/home/user), le répertoire courant (/rep1/sousrep2) ou le sous-répertoire toto du répertoire parent (/rep1/toto), on pourra utiliser les commandes ci-dessous :

user@mulet:/rep1/sousrep2 $ mv /UnRep/MonFichier ~
user@mulet:/rep1/sousrep2 $ mv /UnRep/MonFichier .
user@mulet:/rep1/sousrep2 $ mv /UnRep/MonFichier ../toto/

Méta-caractères

Pour de nombreuses commandes, il est souvent utile de faire appel à des méta-caractères : Il y a évidemment le caractère * qui remplace un ou plusieurs caractères (ou même aucun !) :

man

  • Équivalent MS-DOS/MS Windows : help
  • Signification : Page de manuel
  • Affiche les pages du manuel système.
    Chaque argument donné à man est généralement le nom d'un programme, d'un utilitaire, d'une fonction ou d'un fichier spécial.
  • Exemples d'utilisation :
    • man man
      affiche les informations pour l'utilisation de man
    • man exports
      décrit le contenu et la syntaxe du fichier /etc/exports pour les partages NFS
  • 'q' pour quitter.
  • Voir aussi la page man

ls

  • Équivalent MS-DOS/MS Windows : dir
  • Signification : list segment
  • Permet de lister un répertoire
  • Options les plus fréquentes :
    • -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))
    • -lct : Permet de trier les fichiers et répertoires par date de modification décroissante
  • Exemples d'utilisation :
    • ls -a
      affiche tous les fichiers et répertoires y compris les cachés du répertoire courant
    • ls /etc/
      affiche le contenu du répertoire /etc/
    • lspci ou lsusb
      affiche les périphériques PCI ou USB connectés.
    • lshw affiche les caractéristiques de tout le matériel physique, non-logiciel (hardware).

Remarque :
Il existe également une commande dir quasi identique à la commande ls. Elle s'utilise de la même façon, avec les mêmes options, et les pages man (manuel) les 2 commandes sont d'ailleurs identiques. Seul l'affichage par défaut de la sortie est différent avec dir :

  • par défaut la sortie n'est pas en couleur (il faut utiliser l'option --color pour obtenir une sortie en couleur avec dir) ;
  • les caractères spéciaux tels que les espaces dans les noms des fichiers et dossiers sont précédés d'un caractère \ (backslash).

La commande « ls -C -b » produira une sortie identique à la commande dir employée sans options.

cd

  • Équivalent MS-DOS/MS Windows : cd
  • Signification : change directory
  • Permet de se promener dans les répertoires
  • Exemples d'utilisation :
    • cd
      permet de revenir au répertoire /home/utilisateur (identique à cd ~)
    • cd -
      permet de revenir au répertoire précedent
    • cd ..
      permet de remonter au répertoire parent (ne pas oublier l'espace contrairement à windows)
    • cd /
      permet de remonter à la racine de l'ensemble du système de fichiers
    • cd /usr/bin/
      se place dans le répertoire /usr/bin/

mv

  • Équivalent MS-DOS/MS Windows : move ou ren
  • Signification : move
  • Permet de déplacer ou renommer des fichiers et des répertoires
  • Options les plus fréquentes :
    • -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 d'utilisation :
    • mv monFichier unRep/
      Déplace monFichier dans le répertoire unRep
    • mv unRep/monFichier .
      Déplace le fichier monFichier du répertoire unRep là où on se trouve
    • mv unRep monRep
      Renomme unRep en monRep

cp

  • Équivalent MS-DOS/MS Windows : copy (et xcopy avec l'option -u)
  • Signification : copy
  • Permet de copier des fichiers ou des répertoires
  • Options les plus fréquentes :
    • -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 ou -r : Copie un répertoire et tout son contenu, y compris les éventuels sous-répertoires
    • -u : Ne copie que les fichiers plus récents ou qui n'existent pas
    • -v : permet de suivre les copies réalisées en temps réel
  • Exemples d'utilisation :
    • cp monFichier sousrep/
      Copie monFichier dans sousrep
    • cp -r monRep/ ailleurs/
      Copie le répertoire monRep (et ses éventuels sous-répertoires) vers ailleurs en créant le répertoire ailleurs/monRep s'il n'existe pas.
    • cp monRep/{*.cpp, *.h, MakeFile, Session.vim} ailleurs/
      Copie les fichiers spécifiés dans {} contenus dans le répertoire monRep vers ailleurs

rm

Attention cette commande est très dangereuse (voir commandes dangereuses). Exécutez-la uniquement si vous savez ce que vous faites !
  • Équivalent MS-DOS/MS Windows : del ou erase
  • Signification : remove
  • Permet d'effacer des fichiers
  • Options les plus fréquentes :
    • -i : Demande confirmation avant d'effacer
    • -f : Ne demande pas de confirmation avant d'effacer
    • -r : Efface récursivement. Ce mot signifie "y compris ses sous-répertoires et leur contenu".
  • Exemples d'utilisation :
    • rm CeFichier
      Efface du répertoire courant le fichier CeFichier.
    • rm -rf /tmp/LeRep
      Efface le répertoire /tmp/LeRep ainsi que tous ses fichiers, liens et sous-répertoires sans demander de confirmation.
    • rm -rf /*
      …La commande qui "tue"… Disparition immédiate de tous vos fichiers.

mkdir

  • Équivalent MS-DOS/MS Windows : mkdir ou md
  • Signification : make directory
  • Crée un répertoire vide
  • Options les plus fréquentes :
    • -p : Crée les répertoires parents s'ils n'existent pas
  • Exemples d'utilisation :
    • mkdir photos
      Crée le répertoire photos
    • mkdir -p photos/2005/noel
      Crée le répertoire noel et s'ils n'existent pas les répertoires 2005 et photos

rmdir

  • Équivalent MS-DOS/MS Windows : rmdir ou rd
  • Signification : remove directory
  • Supprime un répertoire (vide)
  • Options les plus fréquentes :
    • -p : Supprime les répertoires parents s'ils deviennent vides
  • Exemples d'utilisation :
    • rmdir LeRep
      Supprime le répertoire LeRep

top

  • Montre la charge CPU
  • La combinaison des touches [ Majuscules + M ] permet de classer en fonction de l'occupation de la mémoire.
  • La combinaison des touches [ Majuscules + P ] classe en fonction de l'occupation du CPU.
  • La combinaison des touches [ Majuscules + W ] permet de conserver ces préférences
  • La touche [ k ] permet de tuer directement un processus en rentrant son PID
  • La touche [ q ] permet de quitter le programme
  • Options les plus fréquentes :
    • -u : affiche les processus pour un utilisateur donné
  • Exemples d'utilisation :
    • top
    • top -u root
  • 'q' pour quitter.
  • Alternative : htop qui est plus complet et disponible dans les dépôts (htop)

pwd

  • Équivalent MS-DOS/MS Windows : chdir
  • Signification : print working directory
  • Affiche le répertoire de travail

ln

  • Signification : link
  • Crée un lien (physique ou symbolique) vers un fichier (ou un répertoire)
  • Options les plus fréquentes :
    • -s : Crée un lien symbolique (similaire au raccourci 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 d'utilisation :
    • ln -s Rep1/Rep2/Monfichier MonLien
      Crée un lien symbolique MonLien de Rep1/Rep2/Monfichier dans le répertoire où on se trouve
    • ln Monfichier unRep/AutreNom
      Crée un lien physique AutreNom de Monfichier dans le répertoire unRep
  • Note :
    • Vérifiez que vous vous trouvez bien dans le répertoire dans lequel vous souhaitez créer le lien avant d’exécuter cette commande.

find

  • Équivalent MS-DOS/MS Windows : find
  • Signification : rechercher
  • Permet de chercher des fichiers et éventuellement d'exécuter des commandes sur ceux-ci ; la recherche est récursive c'est-à-dire qu'elle concerne le répertoire de départ et toute sa descendance (sous-répertoires ainsi que toute leur descendance …)
  • Options les plus fréquentes :
    • -name : Recherche d'un fichier par son nom
    • -iname : Même chose que -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 les plus fréquentes :
    • -exec : Exécute la commande donnée aux fichiers trouvés
    • -ok : Même chose que -exec mais demande une confirmation
    • -ls : exécute la commande ls à chaque fichier trouvé
  • Opérateurs les plus fréquents :
    • -a : Opérateur ET
    • -o : Opérateur OU
    • ! ou -not : Opérateur NOT
  • Exemples d'utilisation :
simple

Placez-vous dans le répertoire à partir duquel la recherche récursive doit être effectuée et faites :

  • find monfichier*
    Recherche un fichier commençant par "monfichier"
  • find -name *monfichier*.ogg
    Recherche un fichier contenant "monfichier" et ayant pour extension ".ogg"
avancé
  • find /home/ -name monfichier
    Recherche le fichier monfichier dans toute la descendance de /home/
  • find . -name "*.c"
    Recherche tous les fichiers ayant une extension .c
  • find . -mtime -5
    Recherche les fichiers du répertoire courant qui ont été modifiés entre maintenant et il y a 5 jours
  • find /home/ -mtime -1 \! -type d
    Recherche uniquement les fichiers (! -type d signifie n'était pas un répertoire) ayant été modifiés ces dernières 24h
  • find . ! -user root
    Affiche tous les fichiers n'appartenant pas à l'utilisateur root
  • find . \( -name '*.wmv' -o -name '*.wma' \) -exec rm {} \;
    Recherche et supprime tous les fichiers WMA et WMV trouvés
  • find . \( -type f -exec sudo chmod 664 "{}" \; \) , \( -type d -exec sudo chmod 775 "{}" \; \)
    Modifie récursivement les droits en 664 sur les fichiers et en 775 sur les répertoires en une seule instruction

grep

  • Équivalent MS-DOS/MS Windows : find
  • Signification : global regular expression print
  • Recherche une chaîne de caractères dans des fichiers (ou depuis la console si aucun fichier n'est indiqué) ; souvent utilisé en filtre avec d'autres commandes.
  • Options les plus fréquentes :
    • -c : Retourne le nombre de lignes 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 rationnelle basique (option par défaut)
    • -E : Recherche en utilisant une expression rationnelle étendue ; on peut utiliser la commande egrep
    • -F : Recherche en utilisant une chaîne fixe ; on peut utiliser la commande fgrep
    • -v toto : Recherche les lignes qui ne contiennent pas le mot toto
  • Exemples d'utilisation :
    • grep -n montexte monfichier
      Retourne toutes les lignes ainsi que leur numéro où montexte apparaît dans monfichier

locate

Son utilisation - très simple - est détaillée ici : recherche_ligne_commande

cat

  • Équivalent MS-DOS/MS Windows : type
  • Signification : concatenate
  • Affiche le contenu d'un fichier
  • Options les plus fréquentes :
    • -n : Affiche les numéros de ligne
    • -v : Affiche les caractères de contrôles
  • Exemple d'utilisation :
    • cat -n monFichier
      Affiche monFichier en numérotant les lignes à partir de 1
    • créer un fichier texte contenant quelques lignes sans avoir recours à un éditeur :
      cat > fichier  
      texte à inclure dans le fichier 

      Ctrl+D pour terminer.

more

  • Équivalent MS-DOS/MS Windows : more
  • Signification : more
  • Affiche un fichier page par page
  • Options les plus fréquentes :
    • -s : Regroupe les lignes vides consécutives en une seule
    • -f : Ne coupe pas les lignes longues
  • Exemple d'utilisation :
    • more -sf monFichier
      Affiche monFichier page par page en concaténant les lignes vides sans couper les lignes longues.

less

  • Équivalent MS-DOS/MS Windows : less
  • Signification : less
  • Affiche un fichier en permettant la navigation, ainsi que certaines possibilités de vi (par ex: la recherche)
  • Options les plus fréquentes :
    • -e ou -E : Quitte automatiquement la deuxième fois que la fin du fichier est atteinte, ou dès la première fois avec -E.
    • -F : Quitte automatiquement si le fichier tient sur le terminal.
    • -m ou -M : Prompt long a la more.
    • -r ou -R : Autorise les caractères spéciaux.
    • -x : Règle la taille des tabulations.
    • -~ : ne comble pas les lignes vides par des ~
  • Exemple d'utilisation :
    • less -Emr~ monFichier
      Affiche monFichier page par page avec un prompt long (affichage du pourcentage du fichier parcouru) en affichant les caractères spéciaux sans combler les lignes vides par des ~

id

La commande id affiche les informations utilisateur et de groupe pour un utilisateur spécifié, ou si aucun utilisateur n'est spécifié, elle affiche les informations sur l'utilisateur courant

  id ubuntu-user
uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),29(audio)

chmod

  • Équivalent MS-DOS/MS Windows : cacls
  • 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) :
    • + : Ajoute une permission
    • - : Enlève une permission
    • = : Autorise uniquement l'autorisation indiquée
    • 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
    • u : Propriétaire du fichier
    • g : Groupe propriétaire du fichier
    • o : Tous les autres utilisateurs
  • Options les plus fréquentes :
    • -R : Récursif, modifie les autorisations d'un répertoire et tout ce qu'il contient
    • -c : Ne montrer que les fichiers ayant été réellement modifiés
    • -f : Ne pas afficher les messages d'erreur
  • Exemples d'utilisation :
    • chmod ugo+x monRep
      Ajoute l'exécution (ouverture) du répertoire monRep à tous (propriétaire, groupe, autres)
    • chmod go-wx monRep
      Supprime l'autorisation d'écriture et l'exécution de monRep 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
      Exactement la même chose que ci-dessus mais en utilisant les valeurs octales (Nota : 6 = 4+2 = lecture + écriture)
    • chmod u=rw,g=r 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.
    • chmod 640 MonFichier
      Exactement la même chose que ci-dessus mais en utilisant les valeurs octales

chown

  • Équivalent MS-DOS/MS Windows : cacls
  • Signification : change owner
  • Change le propriétaire et le groupe propriétaire d'un fichier
  • Options les plus fréquentes :
    • -R : Modifie récursivement un répertoire et tout ce qu'il contient
  • Exemples d'utilisation :
    • chown autreUtilisateur MonFichier
      Change le propriétaire de MonFichier en autreUtilisateur
    • chown -R lui:nous monRep
      Change le propriétaire en lui et le groupe propriétaire en nous du répertoire monRep ainsi que tout ce qu'il contient

chgrp

  • Signification : change groupe
  • Change le groupe propriétaire d'un fichier
  • Options les plus fréquentes :
    • -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 s'il est pointé par un lien symbolique rencontré lors de l'exécution
  • Exemples d'utilisation :
    • chgrp unGroupe MonFichier
      Change le groupe propriétaire du fichier MonFichier en unGroupe
    • chgrp -R unGroupe monRep
      Change le groupe propriétaire du répertoire monRep ainsi que tout ce qu'il contient en unGroupe

free

  • Signification : mémoire libre
  • Affiche la mémoire disponible / utilisée du système
  • Options les plus fréquentes :
    • -b : Affiche la mémoire en octets (bytes)
    • -k : Affiche la mémoire en kilooctets
    • -m : Affiche la mémoire en mégaoctets
    • -g : Affiche la mémoire en gigaoctets
    • -h : Affiche la mémoire en unités pertinentes pour l'humain
    • -s : Spécifie le délai de réaffichage de la mémoire
    • -t : Affiche en plus la ligne des totaux (RAM + swap)
  • Exemples d'utilisation :

​* free -th

  • free -m -s 5
    Affiche la mémoire du système en mégaoctets toutes les 5 secondes

mount

  • Signification : mount
  • Monter un système de fichiers
  • Options les plus fréquentes :
    • -a : Monter tous les systèmes de fichiers déclarés dans le fichier /etc/fstab
    • -t : Précise le type de fichier à monter
    • -o : Ajouter une option. Options adjointes à -o les plus fréquentes :
    • auto : Permet d'être monté par -a
    • async : Les entrées/sorties sur le système de fichiers seront asynchrones
    • defaults : Utilise les options rw, suid, dev, exec, auto, nouser, et async.
    • dev : Interprète les fichiers spéciaux de périphériques du système présent dans /dev/
    • exec : Permet l'exécution de fichiers binaires du système monté
    • noauto : Empêche d'être monté avec -a
    • nodev : Ne pas interpréter les fichiers spéciaux de périphériques du système
    • noexec : Empêche l'exécution de fichiers binaires du système monté
    • nouser : Ne pas autoriser d'autres utilisateurs que root (ou sudo) à monter le système de fichiers (comportement par défaut)
    • ro : Monte le système en lecture seule
    • rw : Monte le système en lecture et écriture
    • suid : Prend en compte les bits SetUID ou SetGID du système monté
    • user : Permet aux utilisateurs ordinaires de monter et démonter le système de fichiers (implique noexec, nosuid, et nodev sauf si surchargées)
  • Exemples d'utilisation :
    • mount
      Liste tous les systèmes de fichiers actuellement montés
    • mount -a
      Monte tous les systèmes de fichiers déclarés dans le fichier /etc/fstab
    • mount /mnt/maPartion
      Monte le système de fichiers ad-hoc déclarés dans le fichier /etc/fstab
    • mount -t iso9660 monFichier.iso /mnt/monIso -o loop
      Monte dans un périphérique boucle (loop) le fichier iso monFichier.iso dans le répertoire /mnt/monIso
    • mount -t vfat -o defaults,rw,user,umask=022,uid=1000 /dev/sda1 /mnt/Mondisk/
      Monte un disque dur USB (/dev/sda1) formaté en FAT32 (-t vfat) en lecture écriture (rw) dans le répertoire /mnt/Mondisk/ ; tous les utilisateurs peuvent le démonter (user), les droits d'exécution (uid=1000) sont fixés à l'utilisateur ayant l'UID 1000 (sous Ubuntu, l'uid 1000 correspond au premier utilisateur créé) et la création d'un fichier s'effectuera avec les permissions 644 (rw-r---r--) et pour un répertoire 644 (rwxr-xr-x) (umask 022) 666-022
  • Ressource :

umount

  • Signification : unmout
  • Démonte un système de fichiers
  • Options les plus fréquentes :
    • -a : Démonte tous les systèmes de fichiers présents dans /etc/mtab
    • -d : Si le système monté est un périphérique loop, libérer le périphérique.
    • -f : Forcer le démontage
    • -r : Si impossible de démonter, monter en lecture seule
  • Exemples d'utilisation :
    • umount /mnt/Mondisk
      Démonte le système de fichiers monté dans /mnt/Mondisk
    • umount -f /dev/cdrom
      Force le démontage du périphérique CDROM
    • umount -d /mnt/monIso
      Démonte et libère le périphérique loop
    • umount -a
      Démonte tous les systèmes de fichiers montés (à l'exception de /proc) ; ne sert que lorsque l'on veut redémarrer ou éteindre sa machine manuellement et proprement.

sudo

  • Équivalent MS-DOS/MS Windows : runas
  • Signification : substitute user - do
  • Permet d'exécuter des commandes en tant qu'un autre utilisateur, donc avec d'autres privilèges que les siens.
  • Options les plus fréquentes :
    • -s : Importe les variables d'environnement du shell
    • -k : Lorsque l'on utilise sudo, il garde en mémoire le mot de passe ; cette option déconnecte l'utilisateur et forcera à redemander un mot de passe si sudo est exécuté avant le timeout défini.
  • Exemples d'utilisation :
    • sudo reboot
      Lance la commande reboot avec les droits de l'utilisateur root
  • Ressources :

ps

  • Équivalent MS-DOS/MS Windows : tasklist
  • Signification : processes snapshot
  • Affiche les processus en cours
  • Options les plus fréquentes :
    • -u : Affiche les processus de l'utilisateur qui exécute la commande
    • -au : Affiche les processus de tous les utilisateurs
    • -aux : Affiche l'intégralité des processus du système. Équivalent à ps -A
    • -faux : Affiche tous les processus du système en les regroupant par enchaînement d'exécution.
  • Exemples d'utilisation :
    • ps -u
      Tous les processus de l'utilisateur courant
    • ps -aux
      Tous les processus en cours
pensez à utiliser avec grep pour limiter la liste : ps -aux | grep tuxpaint ne vous retournera que les processus contenant tuxpaint

kill / killall

  • Équivalent MS-DOS/MS Windows : taskkill
  • Signification : kill / kill all [tuer/tuer tous] lalalalalalalala
  • Permet d'envoyer un signal à un processus ; kill ne comprend que les PID (Process Identifier, numéro d'ordre du processus), killall quant à lui comprend le nom du processus.
  • Options les plus fréquentes :
    • -s : Indique quel signal envoyer au processus ; Le signal peut être identifié soit par son nom (exemple : SIGTERM) soit par son numéro (exemple : 9) ; Cette option peut être remplacée par le numéro du signal : -s 9 est équivalent à -9.
    • -l : Affiche la liste des signaux connus.
  • Les signaux les plus courants sont :
    HUP signal 1 : signal de fin d'exécution où le processus doit relire son fichier de configuration.
    TERM signal 15 : Le signal Terminate indique à un processus qu'il doit s'arrêter.
    KILL signal 9 : Le signal Kill indique au système qu'il doit arrêter un processus qui ne répond plus.
  • Exemples d'utilisation :
    • kill -15 14774 : Envoie le signal 15, ou TERM, au processus ayant le numéro 14774 ce qui a pour effet de terminer proprement le processus.
    • kill -9 7804 : Envoie le signal 9, ou KILL, au processus ayant le numéro 7804 ce qui a pour effet de tuer le processus.
    • killall -TERM firefox-bin : Envoie le signal TERM, ou 15, au processus firefox-bin ce qui a pour effet de le fermer.
  • Il est généralement conseillé de lancer des signaux de faible importance avant de lancer la grosse artillerie. En pratique, tester dans l'ordre et deux fois chacune de ces commandes :
    kill pid (envoie le signal 15, TERM)
    kill -INT pid  (envoie le signal 2, INT)
    kill -KILL pid (envoie le signal 9, KILL)
L'option par défaut de kill est TERM, c'est pourquoi il n'est pas nécessaire de le préciser explicitement. kill et kill -TERM sont donc équivalents.
  • Ça ne marche pas ? Deux possibilités, diagnosticable à l'aide de la commande ps aux|grep nom_du_process :
    • Le processus est devenu « zombie ». Dans ce cas, la commande précédente affiche un 'Z'. Pour le tuer, il faut tuer ou redémarrer son processus parent, que l'on peut déterminer avec la commande ps -ef ou ps afx.
    • Le processus est ininterruptible (il apparaît comme 'D' avec la commande précédente), bloqué sur une opération d'entrée/sortie (I/O), vraisemblablement suite à un bug dans un pilote matériel. Dans ce cas, aucune issue : la politique des développeurs du noyau linux est de considérer qu'avoir la main sur ce type de processus compromettrait trop profondément la stabilité du système. C'est l'un des rares cas où l'on n'a pas d'autre choix que de redémarrer l'ordinateur.

shutdown

  • Équivalent MS-DOS/MS Windows : shutdown
  • Signification : shutdown [éteindre]
  • Permet d'éteindre ou relancer la machine au bout d'un temps déterminé (requis : on peut mettre now pour éteindre immédiatement). Les nouvelles connexions seront bloquées quelques minutes avant l'extinction et les utilisateurs connectés sont prévenus à l'avance.
  • Options les plus fréquentes :
    • -r : pour relancer (reboot).
    • -P : pour éteindre.
    • -t : pour programmer le temps (en secondes)
    • -c : pour annuler
  • Exemples d'utilisation :
    • shutdown -r now : reboot immédiat
    • shutdown -P now : extinction immédiate
    • shutdown -r -t 600 : reboot dans 600 secondes (10 minutes)
    • shutdown -c : annule toutes programmation d'extinction
Il semblerait que shutdown now ne fonctionne plus, ni sur Ubuntu, ni sur OpenBSD (du moins sur les miens). Cependant, la commande shutdown -P now fonctionne.
En effet, il suffit de remplacer "now" par "0" soit 0 minutes et le tour est joué.

passwd

  • Signification : password
  • Permet de modifier le mot de passe d'un utilisateur.
  • Options les plus fréquentes :
    • -S : Affiche l'état d'un compte (nom du compte, bloqué (L), si l'utilisateur n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P), date de dernière modification du mot de passe, durée minimum avant modification, durée maximum de validité, durée d'avertissement, durée d'inactivité autorisée)
      À moins d'être administrateur système ou réseau (auquel cas pourquoi lisez-vous ces lignes ;-) ?) cette commande s'utilise généralement sans option.
  • Exemple d'utilisation :
    • passwd <nom_compte_a_modifier>
      Demande à changer le mot de passe

groups

  • Signification : groups
  • Affiche les groupes auxquels appartient un utilisateur
  • Exemples d'utilisation :
    • groups
      Affiche la liste des groupes auxquels appartient l'utilisateur ayant tapé la commande.
    • groups MonUtilisateur
      Affiche tous les groupes auxquels appartient l'utilisateur MonUtilisateur.

adduser

  • Signification ​: "​ajouter un utilisateur"​ (en anglais ​: add user)
  • Ajoute un utilisateur, ou un groupe, au système.
  • Options les plus fréquentes :
    • --disabled-login : Crée un nouvel ​utilisateur ​qui ne pourra ​se connecter ​jusqu'​à ce qu'un mot de passe lui soit attribué.
    • --disabled-password : Comme --disabled-login sauf que le nouvel utilisateur pourra ​se connecter ​en SSH avec des clefs RSA : pratique pour créer un utilisateur qui ne se connectera que via SSH.
    • --system : Crée un utilisateur système.

​* --group --system ​: Un groupe ​ayant le même nom et le même identifiant numérique ​que l'​utilisateur système ​est créé.

  • --home tel-répertoire : Utilise "​tel-répertoire"​ comme répertoire ​personnel ​de l'​utilisateur, plutôt que la valeur par défaut. Si le répertoire n'​existe pas, il est créé, et les fichiers du squelette y sont copiés.
  • --no-create-home : Ne crée pas de répertoire HOME.
  • Exemples d'utilisation :
  • adduser MonUtilisateur
    Crée l'utilisateur MonUtilisateur.
  • adduser ​--disabled-password ​--no-create-home UtilisateurSSH
    Crée un utilisateur ​UtilisateurSSH​ sans mot de passe ni répertoire personnel dans /​home, ​qui ne pourra pas se connecter ​à la machine ​directement,​ mais en SSH, oui.
  • adduser ​--disabled-password ​--home /​home/​UtilisateurSSH UtilisateurSSH
    Même chose que ci-dessus sauf qu'on lui donne le même répertoire HOME qu'à l'​utilisateur ​UtilisateurSSH​ créé en premier.
  • adduser UtilisateurSSH fuse
    Ajoute l'​utilisateur ​UtilisateurSSH​ (créé ​préalablement) dans le groupe "​fuse"​. On peut faire aussi un: gpasswd -a $USER fuse
  • adduser NouvelUtilisateur ​--ingroup users
    Crée l'​utilisateur ​NouvelUtilisateur​ et l'​ajoute au groupe "​users"​.
  • adduser NouvelUtilisateur ​--ingroup users --uid 1000
    Crée l'​utilisateur ​NouvelUtilisateur​ avec l'uid 1000 et l'​ajoute au groupe "​users"​ (utile pour écrire sur une partition ext2/3/4 externe au système ou un dossier appartenant au uid 1000).

deluser

  • Signification : delete user
  • Supprime un utilisateur du système.
  • Option la plus fréquente :
    • --system : Ne supprime l'utilisateur que si c'est un utilisateur système.
    • --remove-home : Supprime l'utilisateur ainsi que son répertoire dans le home.
  • Exemple d'utilisation :
    • deluser UtilisateurSSH
      Supprime l'utilisateur UtilisateurSSH
    • deluser –remove-home NouvelUtilisateur
      Supprime l'utilisateur NouvelUtilisateur ainsi que le répertoire /home/NouvelUtilisateur
    • deluser NouvelUtilisateur users
      Supprime l'utilisateur NouvelUtilisateur du groupe "users"

usermod

  • Signification : user modification
  • Modifie les paramètres d'un compte utilisateur.
  • Options les plus fréquentes :
    • -G, –groups GROUPE1[,GROUPE2,…[,GROUPEN]]] : Ajouter l'utilisateur aux groupes précédents. ATTENTION : si l'utilisateur fait partie d'un groupe qui n'est pas listé dans votre ligne de commande ("admin" par exemple), l'utilisateur sera supprimé de ce groupe avec des conséquences pouvant être désastreuses. Ce comportement peut être changé avec l'option -a, qui permet d'ajouter l'utilisateur à une liste de groupes supplémentaires sans prendre le risque de le supprimer d'autres groupes importants.
  • Exemples d'utilisation :
    • usermod -aG toto machin
      Ajoute l'utilisateur machin au groupe toto sans supprimer machin de ses groupes d'origine.
    • usermod -g group1 user1
      Défini pour l'utilisateur user1 le groupe group1 comme groupe primaire
    • sudo usermod -d /home/nouveau_login -m -l nouveau_login ancien_login
      Permet de renommer le répertoire (dossier) utilisateur et de changer son nom. Pratique lorsque le pc change de mains.

df

  • Signification : disk free
  • Affiche la quantité d'espace disque utilisée par les systèmes de fichiers.
  • Options les plus fréquentes :
    • -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) pour que ce soit plus lisible.
    • -H : Pareil que -h mais en mégaoctets (10^6 octets).
    • -T : Affiche le type du système de fichiers.
  • Exemples d'utilisation :
    • 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
      Affiche le nom des partitions et leur point de montage.
  • Alternative : On peut aussi utiliser dfc, avec affichage en couleur de l'occupation des systèmes de fichiers.

fdisk

  • Équivalent MS-DOS/MS Windows : fdisk
  • Signification : Manipulateur de partitions
  • Modifie la table de partition des disques, son utilisation est auto-documentée avec la commande m
  • Options les plus fréquentes :
    • -l Informations détaillées des disques
  • Exemples d'utilisation
    • sudo fdisk /dev/sda
    • sudo fdisk -l

du

  • Équivalent MS-DOS/MS Windows : dir
  • Signification : disk usage
  • Affiche l'espace disque utilisé par les fichiers et/ou les répertoires
  • Options les plus fréquentes :
    • -a : Afficher pour tous les fichiers et pas uniquement les répertoires.
    • -s : Afficher le total sans lister les différents fichiers
    • -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 d'utilisation :
    • du -hs dir
      Affiche la taille du répertoire dir ou du répertoire courant si dir est omis.
    • du -ch /home/MonUtilisateur
      Affiche la taille des répertoires contenus dans /home/MonUtilisateur en utilisant un suffixe puis le total.
    • du -sm ~/Images/*.jpg
      Affiche la taille totale des fichiers JPEG contenus dans le répertoire ~/Images

uptime

  • Signification : uptime
  • Indique depuis quand le système fonctionne.
  • Exemples d'utilisations :
    • uptime
      Affiche l'heure actuelle, la durée depuis laquelle le système fonctionne, le nombre d'utilisateurs actuellement connectés, et la charge système moyenne ; Commande de geek par excellence :-) qui ne sert pas à grand chose pour un utilisateur lambda, mais utile pour un administrateur.

lspci

  • Signification : list pci
  • Liste tous les périphériques PCI
  • Option la plus fréquente :
    • -v : Affiche des informations plus détaillées
  • Exemples d'utilisation :
    • lspci

lsusb

  • Signification : list usb
  • Liste tous les périphériques USB
  • Option la plus fréquente :
    • -v : Affiche des informations plus détaillées
  • Exemples d'utilisation :
    • lsusb

uname

  • Signification : unix name
  • Affiche des informations sur le système.
  • Options les plus fréquentes :
    • -s : Affiche le nom du noyau.
    • -n : Affiche le nom de la machine (hostname).
    • -r : Affiche la révision du noyau
    • -v : Affiche la version du noyau
    • -m : Affiche le type de processeur de la machine (i386, i686, etc.)
    • -o : Affiche le nom du système d'exploitation
    • -a : Afficher les informations en utilisant les options -snrvmo
  • Exemple d'utilisation :
    • uname -a
      Affiche tout.

apt-get

  • Signification : avanced package tool - get
  • Permet l'​installation et la désinstallation ​de paquets ​en tenant compte des dépendances ainsi que le téléchargement des paquets ​s'ils sont sur une source réseau.
  • Commandes les plus fréquentes :
    • update : Met à jour la liste des paquets disponibles en fonction des sources fournies.
    • upgrade : Met à jour tous les paquets déjà installés.
    • dist-upgrade : Pareil ​à upgrade ​mais permet ​en plus de passer à une version ​supérieure du noyau et de certains paquets, sans changer de version d'​ubuntu.
    • install : Installe un ou plusieurs paquets.
    • remove : Supprime un ou plusieurs paquets.
    • clean : Efface du système ​les installateurs,​ sans désinstaller de paquets.
  • Options les plus fréquentes :
    • -f : Utilisée avec install ou remove cette option permet de réparer un système dont les dépendances sont défectueuses.
    • -m : Ignore les paquets manquants (à éviter si on ne sait pas exactement ce que l'on fait).
    • -s : Fait une simulation des actions à mener sans rien toucher au système.
    • -y : Répond automatiquement oui à toutes les questions.
    • -u : Affiche les paquets mis à jour.
    • --purge : À utiliser conjointement avec remove pour supprimer tout ce qui peut l'​être (fichiers de configuration par exemple, sauf ceux éventuellement présents dans /home).
    • --reinstall : Réinstaller les paquets avec leur version plus récente.
  • Exemples d'utilisation :
    • sudo apt-get update
      Met à jour la liste des paquets disponibles.
    • sudo apt-get upgrade
      Met à jour tous les paquets ​installés.
    • sudo apt-get install ​paquet1 paquet2
      Installe ​paquet1 paquet2.
    • sudo apt-get ​--purge remove ​paquet3
      Supprime ​paquet3 ​ainsi que tous ses fichiers de configuration ​sauf ceux éventuellement présents dans /home.
Ne pas confondre avec apt, plus jeune, qui a beaucoup moins d'​options. </​note>​

apt-cache

  • Signification : avanced package tool - cache
  • Gestion des paquets et manipulation du cache par APT
  • Commandes les plus fréquentes :
    • show : Affiche les informations associées au paquet.
    • search : Recherche l'expression régulière donnée sur tous les paquets disponibles.
    • depends : Affiche les paquets dépendants du paquet donné.
    • rdepends : Affiche les paquets qui ont en dépendance le paquet donné.
    • madison : Affiche le dépôt dans lequel se trouve le paquet donné.
  • Options les plus fréquentes :
    • -f : Affiche tous les champs d'information.
    • -n : Ne recherche que dans les noms des paquets.
  • Exemples d'utilisation :
    • apt-cache show xeyes
      Affiche les informations associées au paquet xeyes.
    • apt-cache depends ubuntu-desktop
      Affiche toutes les dépendances du paquet ubuntu-desktop.
    • apt-cache rdepends gnome-about
      Affiche tous les paquets dont dépend le paquet gnome-about.
    • apt-cache search -n irc
      Recherche et affiche tous les paquets ayant dans leur nom irc
    • apt-cache madison brasero
      Indique le dépôt fournissant le paquet brasero

file

  • Fonction : déterminer le type de fichier
  • Permet d'identifier le type de fichier grâce à son MIME en utilisant les tests magic sur le contenu des fichiers (en général les premiers bits). Les tests sont fournis par le paquet libmagic1.
  • Exemples d'utilisation :
    • $ file Images/karmic_koala-transparent_60px.png
      Images/karmic_koala-transparent_60px.png: PNG image, 60 x 46, 8-bit/color RGBA, non-interlaced
    • $ file /usr/share/example-content/Ubuntu_Free_Culture_Showcase/*
      /usr/share/example-content/Ubuntu_Free_Culture_Showcase/How fast.ogg:                 Ogg data, Theora video
      /usr/share/example-content/Ubuntu_Free_Culture_Showcase/Josh Woodward - Swansong.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~100000 bps, created by: Xiph.Org libVorbis I
  • Voir aussi : exiftool du paquet libimage-exiftool-perl qui travaille sur les métadonnées (lecture et écriture) des fichiers image, audio et vidéo.

Pour accéder aux merguez de Linux la commande : /MerguezGrillé est très utilisée

Tutoriels vidéos

Une série de tutoriels vidéos concernant les commandes Unix est en cours de réalisation, voici les 3 vidéos disponibles qui donnent de bonnes bases.

À noter que 2 autres vidéos vont venir sur le thème des chaînages de commandes et les scripts bash.

Liens


Contributeurs : CyberSDF, krodelabestiole

  • utilisateurs/krodelabestiole/brouillons/ligne_de_commande.txt
  • Dernière modification: Le 11/09/2022, 13:15
  • par moths-art