note : vous n'êtes pas obligés de passer par l'interface graphique pour utiliser la console :
- [ctrl] + [alt] + [f1]-[F6] : aller vers l'écran console (il faudra vous loguer sous un compte, "root" pour se loguer en tant qu'administrateur)
- [ctrl] + [alt] + [f7] : retourner vers l'interface graphique.
- cible -h ou cible --help : obtenir de l'aide sur une commande cible
- man cible : affiche les pages du manuel sur la commande cible (q pour quitter)
- man -k cible : recherche dans le manuel toutes les occurrences de cible et affiche le résultat
- info cible : donne des informations sur une commande cible
- apropos MotClef : effectue une recherche sur une chaîne de caractères (MotClef), et affiche le résultat sur la sortie standard
- whatis MotClef : analogue à la commande apropos
commande whereis :
- whereis cible ou whereis -bmsu cible : recherche les fichiers exécutables, les sources et les pages de manuel d'une commande (cible)
- whereis -b cible : recherche uniquement les exécutables
- whereis -m cible : recherche uniquement les man pages
- whereis -s cible : recherche uniquement les fichiers sources
- whereis -u cible : recherche uniquement les fichiers anormaux (un fichier est anormal s'il manque l'exécutable ou le fichier source ou la page de manuel)
... (consulter la man page pour en savoir plus)
- su - : devenir super utilisateur (root) avec chargement du dossier par défaut et des variables d'environnement (cette commande est préférable à la commande su ci-dessous)
- su : devenir super utilisateur en restant sur le dossier courrant et sans charger les variables d'environnement root
- su - nom_du_compte : se loguer sur un compte utilisateur (nom_du_compte) avec chargement des variables d'envionnement et du répertoire par défaut
- su nom_du_compte : se loguer sur un compte utilisateur (nom_du_compte) en restant sur le dossier courrant et sans charger les variables d'environnement du compte
- sudo : pouvoir exécuter des commandes de super utilisateur
- visudo : éditer le fichier /etc/sudoers définissant les droits de la commande sudo pour chaque utilisateur
- sudo -s : se loguer en super utilisateur (si le fichier /etc/sudoers le permet)
- adduser NomDuNouvelUtilisateur ou useradd NomDuNouvelUtilisateur : ajout d'un utilisateur
- userdel Nom_De_L_Utilisateur ou deluser Nom_De_L_Utilisateur : supprime un utilisateur
- addgroup NomDuNouveauGroupe ou groupadd NomDuNouveauGroup : ajout d'un groupe
- groupdel Nom_Du_Groupe ou delgroupe Nom_Du_Groupe : supprime un groupe
- chown et chgrp : changer les utilisateurs et groupes propriétaire d'un fichier (voir ici)
- passwd : change le mot de passe de l'utilisateur courrant
- who : donne la liste des utilisateurs connectés
- history : affiche l'historique des commandes
- env : affiche les variables d'environnements et leur contenu
- echo "export PATH=$PATH:chemin_repertoire" >> ~/.bashrc : ajouter un répertoire dans sa variable d'environnement $PATH (on ajoute cette ligne dans le fichier ~/.bashrc pour que l'export perdure)
- echo "alias nom_alias='commande'" >> ~/.bashrc : ajouter un alias dans le fichier ~/.bashrc (pour que l'alias perdure)
III - Les commandes de manipulations de fichiers :
- file cible : détermine le type d'un fichier cible (image, texte, musique, etc.)
- less cible ou more cible ou cat cible : affiche le contenu d'un fichier cible écran par écran
- ls cible : liste les fichiers d'un répertoire cible (équivalent à dir sous Windows)
- ls -l cible : liste les fichiers d'un répertoire cible en affichant ses fichiers avec de nombreuses informations dessus
- ls -lh : liste les fichiers d'un répertoire cible en affichant avec de nombreuses informations et la mémoire qu'ils occupent
- cd cible : remonte au niveau du répertoire cible dans l'arborescence
- cd .. : remonte d'un niveau dans l'arborescence
- cd - : retourne au répertoire précédent
- cd : retourne au répertoire utilisateur
- pwd : affiche l'arborescence du répertoire courant (affiche ou l'on se trouve)
- cp cible -l cible2 : copie un fichier cible dans un répertoire cible2
- mv cible -t cible2 : déplace un fichier cible dans un répertoire cible2
- rm cible : supprime un fichier cible
- rm -r cible : supprime un répertoire cible
- rmdir cible : supprime le répertoire cible a condition qu'il soit vide
- rm -rdf cible : supprime le répertoire cible récursivement (même s'il n'est pas vide)
note : la touche [tab] peut aider à taper plus rapidement le chemin d'un fichier ou d'un répertoire (lorsque l'on tape le début du nom).
- mkdir cible : crée un répertoire cible
- mkdir -p cible3/cible2/cible : crée un répertoire cible contenant un répertoire cible2cible3
- touch cible : crée un fichier vierge cible
- ln cible : crée un lien d'un fichier cible dans le dossier courant
- ln -s cible1 cible2 : crée un lien symbolique d'un fichier ou répertoire cible1 dans le répertoire cible2
- wc -l cible : compte le nombre de lignes d'un fichier cible
- tail cible : affiche les dix dernières lignes d'un fichier cible
- sed : éditeur de flux pour filtrer (parser) et transformer du texte.
- awk : langage de traitement et de parsing sur des fichiers textes
Commande chmod :
- chmod +x NomDuFichier : donne le d'exécution sur un fichier
- chmod +r NomDuFichier : donne le droit de lecture sur un fichier (ou répertoire)
- chmod 777 NomDuFichier : donne tout droits à tous les groupes sur un fichier (ou répertoire)
- chmod -R 777 NomDuRépertoire : donne tout droits à tous les groupes sur un répertoire et son contenu de manière récursive
- chmod --help et man chmod pour en savoir plus
Commande find :
- find -P cible1 cible2 : Vérifie l'existante d'un fichier ou répertoire cible2 dans un répertoire cible1
- find cible -name "*.c" : recherche dans un répertoire cible tout les fichiers ayant l'extension .c
- find cible -iname "*.c" : ne tient pas compte dans la recherche des fichiers ayant l'extension .c du répertoire cible
- find cible -maxdepth 1 -type f : recherche tout les fichiers d'un répertoire cible (avec un niveau de profondeur, c'est-à-dire, que ça ne tient pas compte du contenu des sous répertoires, le niveau de profondeur peut changer, il suffit de modifier la valeur en rouge).
- find cible -maxdepth 1 -type d : recherche tout les dossiers d'un répertoire cible (même principe que la commande précédant).
- halt ou poweroff ou shutdown -h now ou init 0 : arrêt de la machine
- reboot ou shutdown -r now : redémarrage de la machine
- bye ou exit : déconnexion
V - gestionnaire des paquets :
Les gestionnaires des paquets sont des programmes permettant d'installer des logiciels qui sont d'abord sous formes de packages. Cependant, chaque distribution possède son ou ses gestionnaires des paquets spécifique (à part pour les distribution proche comme Red Hat/Fedora, Ubuntu/Debian, etc). Ici, nous aborderons seulement l'utilisation de trois gestionnaires différents, pour plus de détails consultez la doc de votre distribution (voir les liens à l'accueil).
Sous Fedora, RHEL et CentOS (en root) :
- yum install cible : installer un programme ou paquet cible
- yum remove cible : supprimer un programme cible
- yum update cible : mettre à jour un programme cible
- yum search cible : recherche l'existence d'un paquet cible
- rpm -U NomDuPaquet.rpm : installe un paquet rpm
Sous Mandriva (en root) :
- urpmi cible : installer ou mettre à jour un programme ou paquet cible
- uprme cible : supprimer un programme ou un paquet cible
- urpmq : recherche un paquet
- urpmf : recherche l'origine d'un fichier
- urpmi.addmedia : ajoute un dépôt
- rpm -U NomDuPaquet.rpm : installe un paquet rpm
Sous Ubuntu et Debian :
Gestionnaire APT :
- sudo apt-get install cible : installer un programme ou paquet cible
- apt-get update : mettre a jour les informations des paquets
- apt-get upgrade : mettre à jour le système en installant les derniers paquets
- sudo apt-get remove cible : désinstalle le paquet cible
- sudo apt-get remove --purge cible : désinstalle le paquet cible et supprime les éventuels fichiers de configuration
- apt-cache search : chercher un nouveau paquet à installer
Gestionnaire Aptitude :
il est fortement conseillé de privilégier aptitude qui, selon la documentation de Debian, assure une meilleur gestion des dépendances.
- sudo aptitude install cible : installer un programme ou paquet cible
- sudo aptitude update :mettre a jour les informations les paquets
- sudo aptitude safe-upgrade : mettre à jour le système en installant les derniers paquets
- sudo aptitude remove cible : désinstalle le paquet cible
- sudo aptitude purge cible : désinstalle le paquet cible et supprime les éventuels fichiers de configuration
- aptitude search : chercher un nouveau paquet à installer
Commande dkpg :
dpkg est une commande de gestion des paquets de bas niveau et qui ne gère pas les dépendances. On peut la comparer à rpm (pour les distro comme Fedora, RHEL, CentOS, SuSE, OpenSuSE, Mandriva, etc).
- sudo dpkg -i cible : installe un paquet cible sans ses dépendances
- sudo dpkg -r cible : désinstalle un paquet cible sans se soucier des
dépendances
- dpkg -l et dpkg --get-selections : liste les paquets installés
- sudo dpkg -l | grep ^rc | awk '{print $2}' | xargs dpkg -P : supprime les fichiers de configuration orphelins
VI - gestion des processus :
- ps -ef ou ps aux : afficher tout les procéssus et leurs numéros identifiant (pid)
- top ou htop : affiche les tâches en cours (liste dynamique des processus avec des informations comme le PID, les ressources CPU consommées, etc)
- kill num_ps : tuer un processus dont le pid est num_ps
- xkill : tuer un processus graphiquement avec la sourris
- killall nom_ps ou pkill nom_ps : fermer le procéssus correspondant au nom nom_ps
VII - commandes réseau :
- ifconfig ou /sbin/ifconfig : équivalent de la commande ipconfig (et ipconfig /all) sous Windows. Cette commande liste les différentes interfaces réseaux et les informations qui leur sont relatives (ip privée, masque, adresse de broadcast, etc)
- iwconfig : affiche les informations relatives à l'interface wifi (ip privée, masque, adresse de broadcast, etc)
- ping adresse_ip ou ping nom_domaine : teste la connexion (on affiche la réponse du serveur) avec un serveur dont on fournit l'ip ou le nom de domaine
- route -n ou /sbin/route -n : affiche la table de routage IP
- traceroute : équivalent de la commande tracert sous Windows. Permet de connaître la route emprunté par un paquet lors d'un échange. Exemple : traceroute google.fr (ici on a mis un nom de domaine en paramètre de la commande, on aurait pu, à la place, mettre une adresse ip).
- nslookup ip_ou_domaine ou dig ip_ou_domaine : intérogge le serveur DNS sur un nom de domaine ou une adresse IP
- dhclient : demander à obtenir une IP au serveur DHCP, équivalent à la commande ipconfig /renew sous Windows. dhclient eth0 pour se connecter à une interface particulière (ici eth0).
- netstat -tanpu : voir la liste des ports ouverts
- nmap ip_ou_domaine : liste des ports ouverts sur un hôte dont on fournit l'ip ou le nom de domaine
Pour obtenir des informations sur les différentes interfaces réseaux en cas de problème :
- cat /etc/network/interfaces pour Debian & Co (Ubuntu, Knoppix, Backtrack à partir de la version 4, ...)
- cat /etc/sysconfig/network pour Red Hat & Co (CentOS, Fedora, Mandriva, ...)
- cat /etc/rc.d/rc/inet1.conf pour Slackware & Co (Frugalware, Backtrack jusqu'à la version 3, ...)
VIII - commandes relatives au montage de volumes et aux partitions :
- fdisk -l ou cfdisk : lister les différentes partitions
- ls -l /media : lister les périphériques montés dans /media
- ls -l /mnt : lister les volumes montés dans /mnt
- mount /dev/sda1 /mnt : monter la partition /dev/sda1 dans le répertoire /mnt (point de montage)
- umount /dev/sda1 : démonter la partition /dev/sda1 (à faire en dehors du point de montage)
- df -h : affiche l'état de l'espace disque des volumes don l'utilisateur possède l'accès en lecture
- du -h repertoire : afficher l'etat de l'espace disque occupé par un répertoire et ses sous-répertoires recursifs.
IX - commandes materiel :
- lspci ou /sbin/lspci : liste les périphériques intégrées et les cartes PCI
- lsusb ou /sbin/lsusb : liste les périphériques USB présents
- lspcmcia ou /sbin/lspcmcia : liste les périphériques de type carte PCMCIA
X - Les tâches cron :
- crontab -l : visualise la liste des tâches en cours
- crontab -r : suppression le fichier crontab
- crontab -e : édition du fichier /usr/spool/cron/crontabs
XI - Rediriger la sortie d'une commande
- commande > fichier.txt : rediriger la sortie d'une commande vers un fichier (fichier.txt)
- commande >> fichier.txt : rediriger la sortie d'une commande à la suite d'un fichier (fichier.txt)
- commande > /dev/null : ne pas voir la sortie d'une commande lors de son exécution (on la redirige vers /dev/null)
XII - Autres commandes :
Certaines de ces commandes peuvent s'avérer utiles, d'autres non.
- éditeurs de texte en console : vi ou vim, emacs -nw, nano (en savoir plus)
- editor : lance l'éditeur de texte par défaut du système
- commandes liées à la compilation en console : gcc, g++, javac avec l'outil make (en savoir plus)
- gbd : debugger de programmes en console
- gnome-terminal : ouvre un terminal sous GNOME
- konsole : ouvre un terminale sous KDE
- xterm : petit terminal minimal installable sur tout les environnements graphiques
- uname -a : affiche toutes les informations sur le système d'exploitation
- sleep nb_secondes : marque une pause de nb_secondes secondes dans la console
- read : saisir une valeur (lit le buffer clavier)
- bc : calculatrice en console
- links ou elinks ou lynx : navigateurs web en mode console
- mc : environnement Midnight Commander (gestionnaire de fichiers en console)
- echo "texte" : affiche une ligne de texte
- clear : efface toutes les commandes précédentes (équivalent à la commande cls de Windows)
- exit : quitte le mode root ou la console lorsque l'on n'est pas en root
- xeyes& : retrouvez votre souris grâce aux yeux qui la suivent
- xclock& : affichage d'un horloge
- gnuplot : tracez vos fonctions en console grâce à Gnuplot :
- alsamixer : Alsamixer (égaliseur audio en console)
- ffmpeg : transcodeur de vidéos et de sons en console