Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

utilisateurs:krodelabestiole:brouillons:ligne_de_commande [Le 04/02/2020, 17:33] (Version actuelle)
krodelabestiole créée
Ligne 1: Ligne 1:
 +{{tag>​administration système console terminal shell tutoriel}}
  
 +====== La Ligne de commande sous GNU/Linux ======
 +
 +=====  Introduction =====
 +
 +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 [[wpfr>​POSIX|POSIX]] et [[wpfr>​Gnu|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 [[:​sudo|droits plus élevés]] que ceux des simples utilisateurs
 +  * Les mots //​répertoire//​ et //dossier// sont équivalents.
 +
 +<note tip>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 << **[[:man|Le manuel]]** >>​.</​note>​
 +
 +==== 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) :
 +<​file>​
 +user@mulet:​~$ mv MonFichier NouveauNomDuFichier
 +</​file>​
 +<​file>​
 +user@mulet:/​srv $ mv /​home/​user/​MonFichier /​home/​user/​NouveauNomDuFichier
 +</​file>​
 +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).
 +<note help> 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 : <​file>​
 +user@mulet:/​srv $ mv /​home/​user/​MonFichier '/​home/​user/​Nouveau NomDuFichier'​
 +</​file></​note>​
 +
 +==== 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 :
 +<​file>​
 +user@mulet:/​rep1/​sousrep2 $ mv /​UnRep/​MonFichier ~
 +</​file>​
 +<​file>​
 +user@mulet:/​rep1/​sousrep2 $ mv /​UnRep/​MonFichier .
 +</​file>​
 +<​file>​
 +user@mulet:/​rep1/​sousrep2 $ mv /​UnRep/​MonFichier ../toto/
 +</​file>​
 +
 +==== 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 !) :
 +
 +===== Les commandes Unix de base à connaître =====
 +
 +==== 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).
 +  * [[:​ls_couleur|ls en couleur]]
 +
 +**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 ====
 +
 +<note warning>​Attention cette commande est très dangereuse ([[:​commandes_dangereuses|voir commandes dangereuses]]). **Exécutez-la uniquement si vous savez ce que vous faites** !</​note>​
 +
 +  * É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 : [[http://​htop.sourceforge.net/​|htop]] qui est plus complet et disponible dans les dépôts ([[apt>​htop|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_et_symbolique|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
 +    * [[http://​www.go2linux.org/​usages-examples-of-find-command|Autres exemples]] ou encore [[https://​touticphoto.fr/​assistance-informatique/​26-commande-find-sous-linux-avec-l-option-regex|sur touticphoto]]
 +
 +==== 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 : <​code>​cat > fichier  ​
 +texte à inclure dans le fichier </​code>​ 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
 +<​code>​
 +  id ubuntu-user
 +uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),​29(audio)
 +</​code>​
 +
 +===== commandes système =====
 +
 +==== 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 (**b**ytes)
 +    * **-k** : Affiche la mémoire en **k**ilooctets
 +    * **-m** : Affiche la mémoire en **m**égaoctets
 +    * **-g** : Affiche la mémoire en **g**igaoctets
 +    * **-h** : Affiche la mémoire en unités pertinentes pour l'​**h**umain
 +    * **-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 [[wpfr>​Setuid|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 :
 +    * À lire aussi [[:​mount_fstab]]
 +
 +==== 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 :
 +    * [[:sudo]]
 +    * Site officiel de **sudo** :  [[http://​www.courtesan.com/​sudo/​|Sudo Main Page]]
 +    * Voir aussi la commande **visudo**
 +
 +==== 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
 +<note tip>​pensez à utiliser avec grep pour limiter la liste : ps -aux | grep tuxpaint ne vous retournera que les processus contenant tuxpaint </​note>​
 +
 +==== 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 :<​code>​kill pid (envoie le signal 15, TERM)
 +kill -INT pid  (envoie le signal 2, INT)
 +kill -KILL pid (envoie le signal 9, KILL)
 +</​code>​
 +<​note>​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.</​note>​
 +  * Ç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
 +    * 
 +
 +<note tip>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.</​note>​
 +
 +<note tip>En effet, il suffit de remplacer "​now"​ par "​0"​ soit 0 minutes et le tour est joué.</​note>​
 +
 +==== 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 [[http://​projects.gw-computing.net/​projects/​dfc|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. ​
 +<note tip> Ne pas confondre avec **apt**, plus jeune, qui a beaucoup moins d'​​options. </​​note>​​
 +  * Ressources :
 +    * [[:​apt-get]] ​
 +    * **man apt-get**
 +    * Chez Debian le [[http://​www.debian.org/​doc/​manuals/​apt-howto/​index.fr.html|APT HOWTO]]
 +
 +==== 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 [[wpfr>​Multipurpose_Internet_Mail_Extensions|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 :
 +    * <​code>​$ file Images/​karmic_koala-transparent_60px.png
 +Images/​karmic_koala-transparent_60px.png:​ PNG image, 60 x 46, 8-bit/color RGBA, non-interlaced</​code>​
 +    * <​code>​$ 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</​code>​
 +  * Voir aussi : [[exiftool]] du paquet [[apt://​libimage-exiftool-perl|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
 +
 +===== Voir aussi =====
 +
 +==== 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.
 +
 +  * [[http://​www.tutoriels-video.fr/​decouverte-de-la-console-sous-ubuntu/​|Découverte de la console et quelques généralités]] Partie 1
 +  * [[http://​www.tutoriels-video.fr/​quelques-commandes-indispensables-sur-unix/​|Quelques commandes indispensables]] Partie 2 (suite)
 +  * [[http://​www.tutoriels-video.fr/​quelques-commandes-unix-avancees/​|Des commandes Unix avancées]] Partie 3 (suite)
 +
 +À noter que 2 autres vidéos vont venir sur le thème des chaînages de commandes et les scripts bash.
 +
 +==== Liens ==== 
 +
 +  * [[:​recherche_ligne_commande|Rechercher des fichiers en ligne de commande]]
 +  * [[:​commande_shell|Les commandes classées par catégorie et par usage]]
 +  * Le site de Nadir Soualem très pédagogique dédié à Linux [[http://​www.math-linux.com]],​ on y trouve des tutos très clairs, notamment[[http://​www.math-linux.com/​article.php3?​id_article=22|une introduction à la console]]
 +  * [[https://​debian-facile.org/​doc:​systeme:​commandes:​gnu_linux|Les commandes GNU/Linux]] sur le Wiki de [[http://​debian-facile.org/​|Debian-Facile]]
 +  * [[http://​jp.barralis.com/​linux-man/​|Les pages de manuel en français sur le site de Jean-Philippe Barralis]]
 +  * [[http://​www.roesler-ac.de/​wolfram/​acro/​Cmd.htm|Liste des acronymes Unix et leurs significations]]
 +  * [[wpfr>​Commandes_unix|Article de Wikipedia sur les commandes unix]]
 +  * Une plaquette à imprimer et à garder dans sa poche avec les commandes importantes [[http://​www.forgeard-grignon.fr/​index.php?​post/​2007/​10/​22/​Memento-pour-les-Linuxien|téléchargeable librement ici]] (merci de lire le mini cahier des charges avant de demander une modification)
 +  * Une seconde plaquette, sur les commandes, en couleur celle-ci, est [[http://​www.biologeek.com/​journal/​index.php/​documentation-ubuntu-fr-telechargeable-en-relecture|disponible ici]]
 +  * [[http://​www.commandeslinux.fr/​commandes-linux-fondamentales/​|Commandes Linux fondamentales]]
 +
 +----
 +
 +//​Contributeurs : [[:​utilisateurs:​CyberSDF]],​ [[:​utilisateurs:​krodelabestiole]]//​
  • utilisateurs/krodelabestiole/brouillons/ligne_de_commande.txt
  • Dernière modification: Le 04/02/2020, 17:33
  • par krodelabestiole