Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tutoriel:console_commandes_de_base [Le 10/05/2017, 10:08]
109.7.48.114 [Tutoriels vidéos]
tutoriel:console_commandes_de_base [Le 28/04/2018, 11:24] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​administration système console terminal shell tutoriel}}
 +----
  
 +sudo dpkg-configure-a
 +
 + 
 + 
 + 
 + 
 + 
 +
 +==== 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 -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)
 +    * **-d** : Crée un lien sur un répertoire (uniquement en mode sudo ou root)
 +    * **-f** : Force l'​écrasement du fichier de destination s'il existe
 +  * 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 extention "​.ogg"​
 +
 +== avancé ==
 +    * **find /home/ -name monfichier ** \\  Recherche le fichiejjjjjr //​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]]uuuuu
 +
 +==== 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//​ apparait dans //​monfichier//​
 +
 +
 +==== 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-C 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.
 +  * m,,,,,​...';'​
 +
 +==== less ====
 +  * Équivalent MS-DOS/MS Windows : **more**
 +  * Signification : //less//
 +  * Affiche un fichier en permettant la navigation
 +  * 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** : Ecriture ; Valeur octale **2**
 +    * **x** : Execution ; 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,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.
 +    * **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
 +    * **-k** : Affiche la mémoire en kilooctets
 +    * **-m** : Affiche la mémoire en mégaoctets
 +    * **-h** : Affiche la mémoire en unités pertinentes
 +    * **-t** : Affiche en plus la ligne des totaux (RAM + swap)
 +    * **-s** : Spécifie le délai de réaffichage de la mémoire
 +  * Exemples d'​utilisation :
 +    * **free -th**
 +    * **free -m -s 5**  Réaffiche la mémoire du système en mégaoctets toutes les 5 secondes. (**Ctrl c** pour arrêter).
 +
 +==== mount ====
 +  * Signification : //mount//
 +  * Monter un système de fichiers
 +  * Options les plus fréquentes :
 +    * **-a** : Monter tous les systèmes de fichier déclarés dans le fichier ///​etc/​fstab//​
 +    * **-t** : Précise le type de fichier à monter
 +    * **-o** : Ajouter une option. Options adjointe à **-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 à 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 755 (%%rwxr-xr-x%%) (//umask 022//)
 +  * Ressource :
 +    * A 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 ====r
 +  * 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]
 +  * 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 //s// à 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 ou 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 a pas d'​autre choix que de redémarrer l'​ordinateur.
 + 
 +==== shutdown ====
 +  * Signification : //​shutdown//​ [éteindre]
 +  * Permet d'​éteindre ou relancer la machine au boût 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 le PC.
 +  * Exemples d'​utilisation :
 +    * **shutdown -r now** : reboot immédiat
 +    * **shutdown -P now** : extinction immédiate
 +
 +<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) \\  A moins d'​être adminsitrateur 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** \\  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 tel-nom** : Un groupe portant le nom fourni en paramètre est créé.
 +    * ** %%--%%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 systeme 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é 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 fichier.
 +  * 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 fichier.
 +
 +==== 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éqentes : 
 +    * **-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 (a é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** : A 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ée 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 : determiner 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.
 +
 +===== Voir aussi =====
 +
 +====Liens internes====
 +  * [[:​recherche_ligne_commande|Rechercher des fichiers en ligne de commande]]
 +  * [[:​commande_shell|Les commandes classées par catégorie et par usage]]
 +
 +==== 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 chainages de commandes et les scripts bash.
 +
 +==== Liens externes ==== 
 +
 +  * 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]]
 +  * [[http://​wiki.debian-facile.org/​manuel:​ligne_de_commande_et_commandes#​gnu_linux-_les_commandes|Les commandes de base 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]]//​