La ligne de commande Linux est très populaire car vous avez plus de commandes et d'options à portée de main qu'avec vos applications de bureau et vous pouvez créer des scripts pour des tâches répétitives, créer des alias et écrire des fonctions shell. Vous pouvez également utiliser la ligne de commande bash dans le fichier Sous-système Windows pour Linux.
Si vous savez ce que vous voulez faire mais que vous ne vous souvenez plus de la commande dont vous avez besoin, utilisez apropos. Le fait de taper apropos suivi de tout ce qui vous intéresse, comme « impression » ou « connexion à distance », répertorie toutes les commandes associées à ce sujet. Par exemple, « apropos printing » répertoriera toutes les commandes concernant l'impression. Autres ressources :
6 erreurs commises par les débutants dans le terminal Linux
Ligne de commande pour les débutants
10 commandes Linux de base pour les débutants
37 commandes Linux importantes à connaître
Aide-mémoire sur les commandes Linux
Synthaxe :
Linux est sensible à la casse. Nous gardons les majuscules pour les variables.
Aucun accent ni espace n’est utilisé.
Sous Linux, tout est fichier et il n'y a pas d'extension
On ne voit pas les partitions, il n'y a qu'un seul système de fichiers
Il est possible de regrouper les paramètres ls -lisa -color=tty (équivalent à ls -l -i -s -a -color=tty)
Joker : * et ? (un personnage)
&& permet d'enchaîner les commandes
Navigation - Commandes :
- Cd ~ ⇒ aller dans mon dossier personnel
- Cd toto ⇒ adressage relatif
- Cd /home/henchoz-d/toto ⇒ adressage absolu
-Cd. ⇒ Où je suis
- Cd.. ⇒ retour d'où je viens (répertoire parent au dernier étage) n'oubliez pas l'espace
- Cd / ⇒ retour racine
Exemple : Trois façons de passer de /usr/local/doc à /usr/X11R6/doc.
1.
- cd ..
- cd ..
- cd X11R6
- cd doc
2.
- cd ../../X11R6/doc
3.
- cd /usr/X11R6/doc
Dossier personnel = /root
~ (tilde) indique le dossier personnel
Mon dossier = /home/henchoz-d
Fichiers commençant par "." sont cachés
Navigation- Structure du fichier:
"bin" contient les commandes nécessaires au démarrage du système.
"sbin" contient les commandes nécessaires au démarrage du système, réservées à l'administrateur système ou au superutilisateur
"etc" contient toutes les configurations de toutes les applications, les fichiers de configuration générale, les commandes à exécuter au démarrage du système, le mode de démarrage du système
"proc" est virtuel, créé en mémoire
"tmp" temporaire
"usr" pour les applications Répertoire polyvalent dont les principaux sont :
/usr/bin Commandes utilisables par tous les utilisateurs et non nécessaires au démarrage du système.
/usr/sbin Commandes réservées au super-utilisateur, et non nécessaires au démarrage du système.
/usr/man Contient des pages de manuel
/usr/doc Contient de nombreuses sources de documentation et d'informations.
/usr/X11R6 Contient tous les fichiers liés à la couche graphique X-Window
/usr/local Emplacement où sont stockés les fichiers spécifiques au système installé.
dossiers personnels « accueil » de tous les utilisateurs
"lib" et "lib64" (équivalent à dll ?)
"media" et "mnt" (mount) sont des endroits où les supports amovibles et les partages réseau sont attachés
Informations et programmes spécifiques au serveur "srv"
système "sys"
"var Fichiers journaux. Contient des données mises à jour par divers programmes pendant le fonctionnement du système.
/var/lock Bloquer des fichiers, par exemple pour empêcher deux utilisations simultanées du modem.
/var/spool Répertoires utilisés pour organiser le travail des imprimantes, de la messagerie électronique, etc.
/var/log Contient les fichiers journaux de différents points du système.
"dev Ce répertoire contient tous les fichiers spéciaux permettant d'accéder au matériel, que ce soit le clavier, le disque dur, la carte son...
Fichiers importants
/etc/passwd ⇒ Le fichier utilisateurs
/etc/group ⇒ Le fichier groupe
Structure : Nom : Mot de passe : Numéro d'utilisateur : Numéro de groupe : Champ spécial : Répertoire personnel : Programme de démarrage
/etc/inittab ⇒ Spécifie le mode de démarrage du système et les actions associées.
/etc/fstab ⇒ Répertorie les partitions utilisées par le système et comment il les utilise.
XF86Config ⇒ Peut être localisé à différents endroits (mais souvent sous /etc/X11) selon la distribution utilisée. Contient la configuration de la couche graphique
vmlinuz... ⇒ Se trouve généralement soit sous la racine (/) soit sous /boot. C'est le système lui-même !
Invite:
henchoz-d@vador:/$ username@machinename:currentfolder
# ⇒ indique que vous êtes root
$ ⇒ indique que vous êtes un utilisateur
Redirection
Envoyer l'affichage dans un dossier rpm -qa > all_packages.txt
Les redirections peuvent se faire dans l’autre sens. Prendre ce qu'il y a dans un fichier
mail untel à tel.adresse < message.txt
Commandes
[] facultatif
{} choisissez l'une de ces options
Commandes sous bash (il existe 400 commandes bash ou sh de base) :
Tapez une lettre puis TAB TAB pour voir les commandes
Cat (catalogue) ⇒ affiche le contenu du fichier
Chmod - définit les autorisations des fichiers (voir paragraphe en bas du document)
Clear ⇒ efface l'écran
Cmp ⇒ permet de comparer des fichiers
DD au lieu de cp ⇒ permet une copie bit à bit (y compris la taille de la partition donc agrandir la partition avec expandfs)
Diff - compare deux fichiers et affiche leurs différences ?
Df -h ⇒ permet de connaître l'espace disque total occupé et restant sur les partitions de votre système
Dmesg ⇒ journal du noyau
Du ⇒ afficher l'espace disque utilisé par les fichiers dans un répertoire
echo $PATH ⇒ pour voir les variables d'environnement
export PATH="$PATH:/foldername" ⇒ pour ajouter une variable
find ⇒ rechercher des fichiers
ex : find / -name core trouve à la racine les fichiers nommés core
ex : find / -mtime -2 trouve les fichiers modifiés dans les deux jours
find /volume1/Personnel -maxdegree 15 | grep -P '\/
\/{143,}^\/' (trouve tous les noms de fichiers de plus de 143 caractères)
Grep - recherche les fichiers pour les correspondances. grep 'string to search' file ⇒ recherche le fichier s'il contient la chaîne à rechercher
ex : grep 'string to search' dossiera/* dossierb/* recherche dans les fichiers appartenant à dossiera et dossierb s'ils contiennent la chaîne à rechercher (-i pour ignorer la case)
Groupes ⇒ pour afficher les groupes auxquels vous appartenez
Gzip ⇒ pour compresser des fichiers
ip addr - trouvez votre adresse IP
Ifconfig ⇒ équivalent à ipconfig
Join ⇒ mélanger deux fichiers à l'écran
Kill ⇒ interagit avec les procédures
Ex : kill -1 numéro de processus permet de réinitialiser un processus
Ex : kill -15 numéro de processus permet d'arrêter un processus en douceur
Ex : kill -9 processnumber permet de forcer l'arrêt d'un processus
Less ⇒ permet d'afficher un fichier à l'écran (comme more mais en mieux)
Ln ⇒ création d'un lien
Ex : ln tata tatacopie crée un lien "en dur". Les deux fichiers pointent vers le même endroit, la suppression de l’un n’affecte pas l’autre
Ex : ln -s tata tatacopie crée un lien "symbolique". Les deux fichiers pointent vers le même endroit, la suppression de celui d'origine rend impossible l'ouverture du lien symbolique. Un lien symbolique est indiqué par -> en faisant ls-l
Ls ⇒ tri par liste (équivalent au répertoire MS-DOS) -a avec fichiers cachés ; -l avec des détails ; -R avec sous-répertoires ; -color=tty avec les couleurs (n'oubliez pas de faire une arborescence d'installation apt-get)
Ls -al ⇒ liste les fichiers, y compris ceux cachés, avec des détails (permet de voir les permissions)
Ls -Al ⇒ liste les fichiers, sans ceux cachés, avec des détails (permet de voir les permissions)
Ls -p ⇒ ajoute l'indicateur / aux répertoires
Ls -g ⇒ regroupe les répertoires avant les fichiers
Ls -al |less ⇒ écran de pause (barre d'espace pour continuer)
Ls-al | less grep texmf ⇒ répertorie uniquement ce qui contient texmf
Commande man ⇒ manuel (équivalent à /h) q pour quitter, préférable à help
Command -help ⇒ pour obtenir de l'aide sur une commande
More ⇒ pour afficher un fichier à l'écran
Ps a ⇒ pour obtenir une liste de tous les processus
Ps-ef | grep nom du processus ⇒ connaître l'état d'un processus donné
Pwd ⇒ affiche l'arborescence du répertoire courant
Reboot ⇒ redémarre
Service --status-all ⇒ lister les services et afficher leur statut
Shutdown -h maintenant ⇒ s'arrête
Smbclient //machine/répertoire -U administrateur -l 192.168.1.1 ⇒ accéder au partage
Startx ⇒ démarrer une session graphique sur un serveur distant
Stat ⇒ permet d'avoir des informations détaillées sur un fichier (création, modification)
Su (sudo) ⇒ devenir super utilisateur - permet à un utilisateur d'exécuter un programme en tant qu'utilisateur root
tar ⇒ pour archiver des fichiers
Traceroute ⇒ équivalent du tracert MAS-DOS
Uname -a ⇒ informations système
Userdel ⇒ supprimer un compte utilisateur
WhoAmI
Who ⇒ affiche les utilisateurs actuels
Certaines commandes (notamment les commandes d'administration) ne sont pas disponibles pour les utilisateurs.
Pipes :
|(pipe) ⇒ passe le résultat de la commande précédente
Ce mécanisme permet d'enchaîner l'exécution de plusieurs commandes
Exemple, les deux commandes suivantes :
- ls -alR /> all_files (répertorie tous les fichiers du système et envoie le résultat au fichier "tous les fichiers")
- grep doc all_files (recherche "doc" dans le fichier "tous les fichiers")
devient
-ls-alR / | grep doc
==
La commande chmod définit les attributs du fichier, un peu comme le fait la commande Windows attrib. Sous Linux, vous pouvez définir des autorisations pour lire des fichiers, écrire dans des fichiers et exécuter des fichiers, avec un ensemble d'attributs différent pour le propriétaire du fichier, le groupe d'utilisateurs auquel appartient le fichier et tous les autres. Ces attributs peuvent également être appliqués aux répertoires.
0 : Aucune autorisation
1 : Exécuter l'autorisation
2 : autorisation d'écriture
3 : Autorisations d'écriture et d'exécution
4 : Autorisation de lecture
5 : Autorisations de lecture et d'exécution
6 : Autorisations de lecture et d'écriture
7 : Autorisations de lecture, d'écriture et d'exécution
Le fichier "howtogeek.txt" dispose d'autorisations complètes pour tout le monde. Nous allons changer cela en autorisations complètes pour le propriétaire (7), lire et écrire (6) pour le groupe et lire (4) pour tous les autres.
chmod 764 howtogeek.txt
==
Voici quelques vidéos de formation qui pourraient vous intéresser