Ce blog propose la plupart des solutions au format ligne de commande. Dâautres noms peuvent ĂȘtre utilisĂ©s : « terminal », « shell », « console », « bash », « invite de commande » (pour les personnes familiĂšres avec Windows).
La plupart des gens en sont effrayĂ©s pour une raison ou une autre par ce type dâinteraction avec les ordinateurs. Voici didacticiel tentera de vous fournir les commandes les plus Ă©lĂ©mentaires dĂ©placer dans votre ordinateur ainsi que les actions systĂšme de base pour ĂȘtre un peu plus confortable lorsque vous parler Ă votre ordinateur avec votre clavier.
Lâavantage de configurer votre ordinateur en ligne de commande est que cela est automatisable et reproductible (de maniĂšre fidĂšle).
La façon dâaccĂ©der au terminal peut-ĂȘtre diffĂ©rent en fonction de votre distribution, voir mĂȘme de sa version. Mais gĂ©nĂ©ralement il est immĂ©diatement accessible depuis le menu (pas besoin de chercher dans des sous-menus).
La combinaison de touche CTRL + ALT + T est permet gĂ©nĂ©ralement dây accĂ©der.
Quelques éléments à savoir
- Vous pouvez faire presque nâimporte quoi dans un terminal, tout ce vous pouvez faire Ă partir dâune interface graphique est accessible depuis la ligne de commande, au moins tant quâil sâagit dâinteragir avec le systĂšme.
- La plupart des commandes ont dâabord Ă©tĂ© conçues pour fonctionner dans le terminal, puis une interface graphique leur a Ă©tĂ© ajoutĂ©e. Câest pourquoi certaines interfaces graphiques peuvent sembler maladroites â elles ont parfois Ă©tĂ© prises en compte aprĂšs coup.
- Lâemplacement par dĂ©faut ou sâouvre votre terminal est votre dossier personnel, Ă©galement appelĂ©
~
- Votre rĂ©pertoire actuel peut ĂȘtre notĂ© par lâopĂ©rateur
.
. La plupart des commandes, lorsquâelles agissent sur la sĂ©lection de dossier en cours, fonctionnent depuis le rĂ©pertoire courant. - Les commandes, les emplacements et les fichiers sont sensibles Ă la casse (majuscules/minuscules).
/home
nâest pas la mĂȘme chose que/HOME
ou que/Home
. - La touche de tabulation permet de compléter les noms de fichiers (et parfois les paramÚtres de certaines commandes). Si vous avez un fichier avec nom long, par exemple,
driver-128947232jaseu.sh
, tapez simplementdri
suivi de la touche de tabulation, cela remplira le reste, Ă condition que vous nâayez pas 2 noms commençant pardri
et si vous en avez, ajoutez un autre caractĂšre pour le rendredriv
et rĂ©essayez. - Presque toutes les documentations des commandes peuvent ĂȘtre lues dans leur intĂ©gralitĂ© Ă lâaide de la page de manuel ou en tapant
-h
ou--help
aprĂšs avoir Ă©crit la commande initiale. Cette syntaxe est soitman nom_commande
,nom_commande -h
ounom_commande --help
. - Pour obtenir encore plus dâinformations, vous pouvez utiliser info. Une commande peut ĂȘtre recherchĂ©e en utilisant
info command_name
. Pour la plupart de ces commandes qui font partie du package coreutils, on peut Ă©galement trouver des informations en utilisantinfo coreutils command_name
, invocation oĂčcommand_name
est à remplacer par la commande recherchée.
Vous pouvez commencer par:
info coreutils
- Presque toutes les commandes peuvent Ă©galement afficher explicitement ce qui se passe. Cela se fait gĂ©nĂ©ralement Ă lâaide du paramĂštre
-v
ou--verbose
. - Vous pouvez spĂ©cifier plusieurs indicateurs de commande Ă une commande Ă la fois pour obtenir plus dâinformations, exemple :
ls -al
ouls -la
. - Les noms de commande ne sont pas toujours obtus â en raison des limitations dâespace dans lâancien temps dâUnix, ils ont Ă©tĂ© raccourcis et les conventions sont restĂ©es.
Les commandes essentielles :
cd (Change Directory) â Naviguer dans les rĂ©pertoires.
Vous pouvez vous dĂ©placer Ă nâimporte quel endroit de votre disque dur en utilisant le chemin depuis la position actuelle.
cd
â Cela vous ramĂšnera chez vous, tout commecd ~
cd ..
â Cela vous ramĂšnera exactement dans un rĂ©pertoire. Ă partir de/home/justin/Desktop
,cd ..
me mettra dans/home/justin
. Cela peut ĂȘtre Ă©tendu,cd ../../
Ă partir de lâemplacement du bureau Ă la place me fera reculer de 2, de mon bureau Ă/home
.cd nom_dossier/
â Cela vous amĂšnera au dossier donnĂ© dans votre dossier actuel. Prenez note du prĂ©fixe manquant/
câest une omission importante. Si je suis dans/home/justin
et que je veux accĂ©der ĂDesktop
, je dois tapercd Desktop/
sans le/
avantDesktop
. Taper/
avant de nous placer Ă la racine du systĂšme de fichiers, ce qui est incorrect.cd /some/other/path
â Cela vous mĂšnera au chemin du dossier spĂ©cifiĂ©, en supposant quâil existe exactement tel quâil a Ă©tĂ© saisi. Nâoubliez pas lâachĂšvement de votre onglet !
ls (LiSt) â Lister le contenu du dossier.
Vous pouvez afficher de nombreux types dâattributs de fichiers et de dossiers.
ls
â Par lui-mĂȘme,ls
listera simplement tous vos fichiers dans le dossier actuel.ls -l
â Fournit un format de liste plus long comprenant les propriĂ©taires, les autorisations, la taille et la date de modification.ls -a
â Affiche les fichiers et dossiers cachĂ©s ainsi que la liste normale (sous Linux, les Ă©lĂ©ments cachĂ©s ont leur nom qui commence par le caractĂšre point).ls -al
â Combine les options pour afficher Ă la fois les fichiers cachĂ©s et au format long.ls -h
â Afficher les tailles de fichier au format lisible par lâhomme (K, M, Go) au lieu dâoctets. Souvent utilisĂ© en conjonction avec le drapeau-l
.
Vous pouvez afficher les fichiers dans des rĂ©pertoires dans lesquels vous nâĂȘtes mĂȘme pas. Si je suis dans /home/justin/Desktop
et que je veux afficher un fichier dans /home/justin
, je peux faire ls ../
lister les fichiers dans un répertoire (et pas besoin de revenir en arriÚre pour le faire.)
cp (CoPy) â Copier des fichiers
cp file /path/to/folder
â Copie le fichier spĂ©cifiĂ© dans le chemin donnĂ©.cp -r dossier /chemin/vers/dossier
â Copie rĂ©cursivement le contenu du dossier vers un autre dossier.cp *.extension /path/to/folder
â Copie les fichiers correspondant Ă lâextension donnĂ©e dans le nouveau dossier. Pour copier tous les fichiers.pdf
, il devientcp *.pdf /path/to/folder
et le dossier doit exister (On rappelle que Linux est sensible Ă la casse).cp nom* /chemin/vers/dossier
â Copie tous les fichiers commençant parnom
dans le dossier donné. Pour copier tous les fichiers commençant parexample
, il devientcp example* /path/to/folder
et le dossier doit exister.
mv (MoVe) â DĂ©placer des fichiers
La syntaxe de mv
est similaire Ă lâexemple ci-dessus avec cp exemp
+ <TAB>
par exemple. Notez que mv
ne supporte pas le paramĂštre -r
, car le dĂ©placement dâun dossier dĂ©place Ă©galement son contenu. La syntaxe nâest pas exactement la mĂȘme pour des cas particuliers : Consultez vos pages de manuel pour plus de dĂ©tails.
rm (ReMove) â Supprimer des fichiers
Ă toutes fins utiles, la suppression de fichiers via rm
est permanente. Cette commande nâutilise pas la corbeille.
Utilisez rm
avec prudence et assurez-vous de supprimer explicitement ce que vous voulez, et non ce que vous pensez vouloir. Si vous dĂ©cidez dâĂȘtre fantaisiste avec la commande de suppression, vous le regrettez rapidement.
rm fichier
â Supprime le fichier spĂ©cifiĂ© du systĂšme .rm -r dossier
â Supprimer le dossier spĂ©cifiĂ© du systĂšmerm -rf dossier
â Supprime de force le dossier spĂ©cifiĂ© du systĂšme. Cette commande peut gravement endommager votre configuration si elle nâest pas utilisĂ©e correctement, car elle ne vous avertira pas si quelque chose de critique est en cours de suppression. Soyez trĂšs vigilant avec cette commande.
nano â Ăditeur de texte complet en ligne de commande
On peut Ă©diter des fichiers en utilisant nano
dans un terminal pour faire des fichiers rapides et sales jusquâaux configurations complĂštes. Câest pratique, mais gardez Ă lâesprit quâil gĂšre les fichiers texte brut et les fichiers de programmation, des choses comme les documents PDF ne sâouvriront pas correctement !
Si un fichier appartenant Ă lâutilisateur root (administrateur), il nâest pas modifiable en tant quâutilisateur normal. nano
doit ĂȘtre prĂ©fixĂ© par sudo
afin dâenregistrer les modifications. Sinon, il sâouvrira en mode lecture seule.
nano nouveau_fichier
â LâĂ©diteur crĂ©e un nouveau fichier du nom spĂ©cifiĂ© et lâouvre pour le modifier.nano fichier_existant
â LâĂ©diteur ouvre le fichier existant pour le modifier.
De lâintĂ©rieur nano
- Enregistrez le fichier Ă lâaide de la combinaison de touches CTRL + o et modifiez le nom ou appuyez sur entier pour conserver le mĂȘme nom. Cela enregistrera le fichier.
- Quittez
nano
en utilisant la combinaison de touches CTRL + x. Si vous avez des modifications non enregistrées, il vous demandera si vous souhaitez enregistrer.
mkdir (MaKe Directory) â CrĂ©er des rĂ©pertoires
mkdir nom_dossier
â CrĂ©e le dossier avec le nom spĂ©cifiĂ©mkdir -p /path/to/folder/name
â CrĂ©e chaque dossier selon les besoins. Pour crĂ©er le dossier/home/justin/nouveaudossier/2nddossier
, et que seul/home/justin
existe, lâutilisation demkdir -p
créera les deux répertoiresnewfolder
et2ndfolder
.
ps (ProceseS) â Lister les processus
ps aux
â RĂ©pertorier en dĂ©tail tous les processus en cours dâexĂ©cution sur le systĂšme, y compris lâutilisateur, lâID de processus (PID) et le nom du processus. En utilisant cela, on peut voir leur liste de processus et, si nĂ©cessaire, tuer les processus inutiles ou bloquĂ©s.
kill / killall / xkill â Tuer/arrĂȘter des processus.
kill PID
â PID est un numĂ©ro faisant rĂ©fĂ©rence au processus incriminĂ©. On devrait obtenir le PID Ă partir dâune commande commeps aux
. Si un processus refuse de mourir, on peut également spécifierkill -9 PID
qui devrait terminer le processus par nâimporte quel moyen, mĂȘme de maniĂšre sale ou sâil devrait faire « perdre » une partie de la mĂ©moire disponible du systĂšme.killall PROGRAMME
âkillall
tue par leur nom toutes les instances dudit programme. Sâil y a par exemple 3 sessions firefox ouvertes,killall firefox
fera exactement cela ; tue toutes les sessions firefox.kill
prendrait simplement le PID spécifié du processus firefox incriminé que vous souhaitez tuer, et ne tuerait que celui-là .xkill
est un moyen graphique de cliquer et de tuer des fenĂȘtres. Taperxkill
devrait prĂ©senter une icĂŽne en forme de tĂȘte de mort et la prochaine fenĂȘtre sur laquelle vous cliquerez sera tuĂ©e.
Les « pipes » |
La chose la plus utile que vous apprendrez dans *NIX. Rediriger la sortie dâun programme vers une autre entrĂ©e.
- Les tuyaux/tubes sont représentés par la « barre droite » le caractÚre
|
. - Ils sont utilisĂ©s pour lier des commandes entre elles. Cela permet de brancher la sortie dâune commande (son rĂ©sultat) et sur lâentrĂ©e dâune autre.
Les « redirecteurs » : >
et >>
Envoyer la sortie vers un fichier au lieu du terminal.
>
est utilisé pour écraser le contenu des fichiers actuellement existants et le remplacer par la sortie de la nouvelle commande.>>
est utilisé pour ajouter des informations aux fichiers actuellement existants. Ceci est utile pour la journalisation (« log » ou « traces »).
Exemple :
ps aux > process.log
â Envoie la sortie de ps
dans le fichier process.log
. Cette méthode écrase, le cas échéant, contenu du fichier. Vous pourrez afficher la sortie de la commande dans un éditeur de texte de votre choix par la suite.
tee
Envoyer la sortie Ă la fois vers un fichier et vers le terminal (la sortie standard).
- tee est utilisĂ© conjointement avec un ' | ' afin de prendre la sortie de la commande et de lâenvoyer ailleurs. Ceci est utile sâil y a des erreurs qui dĂ©filent Ă lâĂ©cran avant que vous ne puissiez les lire, de cette façon tout ce qui se passe Ă lâĂ©cran est Ă©galement capturĂ© dans un fichier.
Exemple :
dmesg | tee boot.txt
exécute la commande dmesg
qui affiche les informations de démarrage initiales, et le ' | ' envoie la sortie de dmesg
Ă tee
, qui fait ensuite son travail en lâenvoyant au terminal et au fichier boot.txt
.
Exécution de fichiers
Vous souhaitez donc exĂ©cuter des fichiers ou des programmes depuis le terminal ? Assurez-vous quâil est marquĂ© comme exĂ©cutable (voir les astuces ci-dessous).
- Si vous devez exĂ©cuter un fichier dans le rĂ©pertoire courant aprĂšs quâil ait Ă©tĂ© marquĂ© comme exĂ©cutable ? LâopĂ©rateur
./
peut exĂ©cuter le fichier en tant quâutilisateur normal Ă condition que vous nâayez pas besoin des droits root../
signifie littĂ©ralement « dans le rĂ©pertoire courant » donc cela ne fonctionne pas sur les fichiers en dehors du rĂ©pertoire actuel. - Si vous devez exĂ©cuter un fichier qui nâest pas dans le rĂ©pertoire courant ? Vous devez transmettre le chemin dâaccĂšs au programme dâexĂ©cution appropriĂ©. Sâil sâagit dâun programme python, câest
python /path/to/file
et sâil sâagit dâun fichier shell, câestsh /path/to/file
par exemple. Il existe bien sĂ»r dâautres programmes, mais ceux-ci seront les plus courants pour les dĂ©butants. - Besoin dâexĂ©cuter un fichier avec les droits root car vous avez reçu une opĂ©ration non autorisĂ©e ? PrĂ©fixez la commande avec
sudo
. Ainsi, Ă partir de lâexemple ci-dessus,sudo python /path/to/file
exĂ©cutera le script avec les droits root. - Si vous devez exĂ©cuter un programme avec une interface graphique (« GUI ») depuis le terminal ? Tapez simplement le nom du programme (sensible Ă la casse !) et il se lancera. Cela rendra le terminal actuel inutilisable jusquâĂ la fermeture de ce programme. La fermeture du terminal alors que le programme est encore en cours dâexĂ©cution tuera (arrĂȘt violent) le programme. Une meilleure façon est de mettre le programme en arriĂšre-plan, en utilisant
nom_programme &
puis en tapant le mot exit sur le terminal pour le fermer (ou pas) et maintenir le processus en cours dâexĂ©cution. - Attention lâutilisation des droits root pour lancer un programme graphique est une mauvaise idĂ©e et doit ĂȘtre Ă©vitĂ©. Les programmes nĂ©cessitant des droits particuliers prennent gĂ©nĂ©ralement cela en compte et vous demanderont le mot de passe ultĂ©rieurement.
- Nâutilisez pas
sudo
simplement parce que vous avez un message indiquant que lâopĂ©ration nâest pas autorisĂ©e. Gardez Ă lâesprit ce que vous faites, car vous pouvez absolument dĂ©truire le systĂšme en exĂ©cutant des commandes au mauvais endroit avec les droits root. - Assurez-vous que vos fichiers proviennent de sources fiables, particuliĂšrement si vous devez les exĂ©cuter avec les droits administrateurs (root,
sudo
).
Astuces rapides
- Vous ĂȘtes perdu dans un dossier ? Vous ne savez pas oĂč vous ĂȘtes ? Tapez
pwd
pour afficher le répertoire de courant (ou répertoire travail). - Vous souhaitez calculer rapidement votre espace disque ?
df -h
peut vous donner un contrĂŽle rapide. - Vous souhaitez calculer rapidement la taille dâun dossier ou dâun fichier ?
du -cksh nom_cible
peut faire exactement cela. Vous voulez calculer la taille du dossier actuel ?du -cksh
. - Besoin de marquer un fichier exécutable ?
chmod +x nom de fichier
peut le faire. La prochaine fois que vous voyez un fichier que vous devez exĂ©cuter et quâil nâest pas marquĂ© comme exĂ©cutable, vous savez maintenant comment le rĂ©parer. - Vous voulez monter un ISO (une image ISO) comme Daemon-Tools sous Windows ? Câest en fait le mode de fonctionnement naturel (natif) de Linux. CrĂ©ez simplement un rĂ©pertoire quelque part, disons
/home/justin/isomount
, et lancez la commandemount -o loop /path/to/myisofile.iso /home/justin/isomount
et le contenu sera montĂ© Ă lâintĂ©rieur ce dossier (le contenu de lâimage sera accessible depuis ce dossier). - ExĂ©cutez une commande avant, vous devez la relancer, mais vous ne vous souvenez plus vraiment de quoi il sâagissait exactement ? Tapez
history
dans le terminal et il affichera lâhistorique de vos commandes. Vous voulez effacer votre historique ?history -c
effacera les informations.
Liens
- Largement inspiré de The 5-Minute Essential Shell Tutorial
኿