Dans cet article, j’explique comment utiliser les commandes de terminal pour fournir des informations sur certaines commandes et ce qu’elles font.
Je donne également des exemples pour illustrer le processus.
L’outil de ligne de commande est puissant. Il existe des outils qui remplacent un travail fastidieux dans une interface utilisateur graphique (UI) en tâche exécutée en quelques secondes. La suppression des quatre dernières lignes de chaque ligne d’un fichier volumineux serait un processus long dans une application d’interface utilisateur. Toutefois, elle peut être automatisée sur la ligne de commande.
Les méthodes les plus courantes pour ouvrir une fenêtre Terminal sous Linux Ubuntu sont les suivantes :
Il existe de nombreuses commandes qui sont associées au shell de terminal dans Ubuntu Linux. L’article ci-dessous répertorie les commandes les plus couramment utilisées, classées par groupe.
Il existe trois commandes principales que nous utilisons pour fournir toutes les informations nécessaires à l’utilisation des diverses commandes de terminal.
La commande man affiche le manuel relatif à toutes les commandes utilisées dans le terminal.
La plupart des commandes shell acceptent plusieurs options. Pour obtenir des informations sur une commande et la liste des options disponibles, utilisez la commande man
- abréviation de manuel. Donnez comme argument le nom de la commande sur laquelle vous souhaitez obtenir des informations supplémentaires. C’est-à-dire la commande sur laquelle la commande man
fonctionne.
Exemple : si vous saisissez la commande man who
, la sortie suivante s’affiche.
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
La plupart des manuels ont une longueur de plusieurs écrans. Utilisez le curseur ou les touches ARROW
ou les touches Page précédente et Page suivante pour naviguer dans le texte. La barre d’espace affiche la ligne de texte suivante. Appuyer sur la touche q permet de quitter le manuel et de revenir au shell.
En consultant la page man, nous constatons qu’il est possible d’utiliser l’option -a
pour afficher plus d’informations sur les sessions utilisateur actives.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Cela lit également les fichiers d’aide pour les programmes. La commande man
peut également fournir des informations sur les shells, les fonctions et les bibliothèques.
Si vous ne savez pas exactement comment utiliser une commande spécifique, exécutez la commande avec les instructions switch -h
ou –help
. Des informations sur l’utilisation et la liste des options que vous pouvez utiliser avec la commande s’affichent.
Exemple : Si vous voulez savoir comment utiliser la commande wget
, saisissez wget –help
ou wget -h
.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Cette opération imprime souvent un grand nombre d’informations sur le terminal. Il peut être difficile de faire défiler l’écran. Pour lire la sortie plus facilement, vous pouvez utiliser pipe
et la commande less. Cela vous permet de faire défiler l’écran avec les touches de curseur ou des flèches du clavier.
Exemple : wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
Appuyez sur q pour fermer l’utilitaire less lorsque vous avez terminé.
Pour trouver une option spécifique, vous pouvez utiliser pipe
pour la sortie via la commande grep
. (Par exemple : utilisez la commande suivante pour rechercher des options contenant le mot proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Certaines commandes sont également documentées dans le système info
. Ces informations complètent celles affichées par la commande man
.
Exemple : Saisissez la commande info ls,
, la sortie suivante s’affiche.
[support@support]$" info ls
Vous pouvez désormais afficher un manuel contenant des informations importantes sur la commande ls
.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
Vous pouvez faire défiler la page vers le bas en appuyant sur la barre d’espace ou en utilisant les touches de curseur/ARROW
.
help
, appuyez sur H.quit
, appuyez sur Q.
Dans un terminal, vous pouvez exécuter pratiquement toutes les opérations que vous effectueriez dans une interface utilisateur.
Comme indiqué précédemment, de nombreuses commandes ont été conçues pour fonctionner en premier dans le terminal, puis une interface utilisateur a été ajoutée. C’est la raison pour laquelle certaines interfaces graphiques peuvent sembler incommodes : elles ont été pensées après coup, car la plupart des versions de serveur Linux ne s’en soucient pas.
L’emplacement par défaut de votre terminal pour qu’il s’ouvre à partir du menu se trouve dans votre dossier de base. Connu sous le nom de ~
Vous pouvez trouver votre répertoire actuel avec l’opérateur .
. Lorsqu’elles agissent sur la sélection du dossier actuel, la plupart des commandes opèrent sur les commandes, les emplacements et les fichiers, et sont sensibles à la casse. /home
n’est pas identique à /HOME
ou /Home
.
Utilisez la touche de tabulation pour compléter le nom des fichiers si vous avez un titre de pilote long. driver-128947232jaseu.sh
par exemple, saisissez dri
et le reste est saisi automatiquement. À condition que vous n’ayez pas deux noms commençant par dri
et si c’est le cas, ajoutez un autre caractère pour le nommer driv
et réessayez. Assurez-vous que la saisie automatique correspond à ce que vous souhaitez voir.
Presque toutes les commandes peuvent être lues dans leur intégralité depuis la page man
ou en saisissant -h
ou --help
après avoir écrit la commande initiale. Cette syntaxe peut être man command_name
, command_name -h
ou command_name --help
.
Pour obtenir encore plus d’informations, vous pouvez utiliser la commande info. Vous pouvez rechercher une commande en utilisant info command_name
. Pour la plupart de ces commandes qui font partie du package coreutils. Vous pouvez également trouver info
en utilisant l’invocation info coreutils command_name
où la commande recherchée remplace command_name
.
Presque toutes les commandes peuvent afficher exactement ce qui se passe, étape par étape. En général, il s’agit de -v
ou --verbose
.
Pour obtenir plus d’informations, vous pouvez spécifier plusieurs indicateurs pour une commande à la fois. Consultez l’exemple ls -al
ci-dessous.
Les noms de commande ne sont pas toujours évidents. En raison des anciennes limitations d’espace d’UNIX, leur longueur a été réduite et ces conventions sont restées en vigueur.
cd
- Vous redirige vers le dossier de base, comme cd ~
cd..
- Vous redirige vers un répertoire. À partir de /home/user/Desktop
, cd..
vous place dans /home/user
. Cela peut être étendu à cd ../../
, ce qui vous fait reculer de deux répertoires jusqu’à /home
.
cd foldername/
- Vous déplace vers le dossier indiqué dans le dossier actuel.
/
, il s’agit d’une omission importante. Si je suis dans /home/user
et que je veux aller à Desktop
. Je dois saisir cd Desktop/
sans /
avant Desktop
. Si vous saisissez /
avant Desktop, vous accédez à la racine du système de fichiers, ce qui ne fonctionne pas.
cd /some/other/path
- Vous dirige vers le chemin d’accès au dossier spécifié. À condition que vous ayez le chemin d’accès approprié. N’oubliez pas que vous pouvez utiliser la touche TAB
pour effectuer la saisie semi-automatique.
ls
- Répertorie tous les fichiers du dossier en cours.
ls -l
- Fournit une liste plus longue incluant les propriétaires, les autorisations, la taille et la date de modification.
ls -a
- Affiche les fichiers et dossiers masqués, ainsi que la liste normale.
ls -al
- Combine deux options pour afficher les fichiers et dossiers masqués au format long.
ls -h
- Affiche les tailles de fichier au format lisible par l’utilisateur KB, MB, GB,
au lieu d’octets. Généralement utilisé avec l’indicateur -l
.
Vous pouvez afficher les fichiers dans les répertoires dans lesquels vous ne vous trouvez pas. Si je suis dans /home/user/Desktop
et si je veux afficher un fichier dans /home/user
, je peux appliquer ls ../
pour répertorier les fichiers d’un répertoire en arrière.
cp file /path/to/folder
- Copie le fichier spécifié dans le chemin d’accès donné.
cp -r folder /path/to/folder
- Copie à plusieurs reprises 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 .doc, cela devient cp *.doc /path/to/folder
et le dossier doit exister.
cp name* /path/to/folder
Copie tous les fichiers commençant par name
vers le dossier donné. Pour copier tous les fichiers commençant par example
, cela devient cp example* /path/to/folder
et le dossier doit déjà exister.
La syntaxe de mv
est similaire à l’exemple ci-dessus, où cp
est exempt de l’exemple nº 2. mv
n’accepte pas l’indicateur -r
dans la mesure où le déplacement d’un dossier déplace également son contenu. La syntaxe n’est pas exacte en toutes circonstances, mais elle fonctionne avec les exemples ci-dessus. Pour plus de détails, consultez les pages du manuel.
La suppression de fichiers via la commande rm
est définitive. Elle ne passe pas par la corbeille. Utilisez cette commande avec précaution et assurez-vous que vous supprimez exactement ce que vous souhaitez avant d’appuyer sur la touche Enter
. Si vous compliquez trop les commandes de suppression, vous risquez de ne pas obtenir les résultats souhaités.
rm file
- Supprime ce fichier spécifique de l’ordinateur.
rm -r folder
- Supprime ce dossier spécifique de l’ordinateur.
rm -rf folder
- Supprime de force ce dossier spécifique de l’ordinateur. Cette commande peut perturber votre configuration si vous l’utilisez de manière incorrecte.
Vous pouvez modifier les fichiers en utilisant la commande nano
dans un terminal pour effectuer des actions rapides et approximatives sur des fichiers dans des configurations complètes. Cette commande peut être utile, mais elle gère les fichiers de programmation et les fichiers en texte brut. Par conséquent, les éléments tels que les documents Microsoft Word ne s’ouvrent pas correctement.
Si un fichier est détenu par l’utilisateur racine, un utilisateur ordinaire ne peut pas le modifier. nano
doit comporter le préfixe sudo
pour que les modifications soient enregistrées. Sinon, la commande s’ouvre en mode de lecture seule.
nano newfile.whatever
du nom spécifié et l’ouvre à des fins de modification.
nano existing_file
- ouvre le fichier existant à des fins de modification.
À l’intérieur nano
Enregistrez le fichier en appuyant sur les touches CTRL+O
, puis modifiez le nom ou appuyez sur la touche Enter
pour conserver le même nom. Cette opération enregistre le fichier.
Quitter nano
à l’aide des touches CTRL+X
. Si certaines modifications ne sont pas enregistrées, vous êtes invité à le faire.
mkdir folder_name
- Crée le dossier portant le nom spécifié.
mkdir -p /path/to/folder/name
- Crée chaque dossier selon les besoins. Pour créer un dossier /home/user/1stfolder/2ndfolder
, et si seul le dossier /home/user
existe, l’exécution de mkdir -p
va créer deux répertoires : 1stfolder,
et 2ndfolder
.
ps aux
- Répertorie en détail tous les processus en cours d’exécution sur l’ordinateur. Cela inclut l’utilisateur, l’ID de processus PID,
et le nom du processus. À l’aide de cette fonction, vous pouvez afficher la liste des processus et, si nécessaire, supprimer les processus inutiles ou bloqués.
kill PID
- PID est un numéro qui référence le processus compromis. Vous devez obtenir le PID à l’aide d’une commande comme ps aux
. Si un processus refuse d’être arrêté, vous pouvez également spécifier kill -9 PID
, qui met fin au processus par quelque moyen que ce soit.
killall program
- Killall
arrête by name
toutes les instances de listed program
. Par exemple, s’il existe 3 sessions ouvertes du navigateur Internet Firefox, killall Firefox
arrête toutes les sessions Firefox. kill
prend le PID spécifié du processus Firefox compromis que vous souhaitez arrêter, et arrête uniquement celui-ci.
xkill
est un moyen de cliquer sur des fenêtres et de les arrêter sur une interface utilisateur. Lorsque vous saisissez xkill
, une icône en forme de tête de mort s’affiche et la fenêtre suivante sur laquelle vous cliquez est arrêtée.
Pipes
sont représentés par le caractère straight bar,
, également connu comme la touche |
.
Cette touche est rarement utilisée dans Windows, mais elle se trouve souvent sur la touche de barre oblique inverse.
Cette barre est utilisée pour relier les commandes entre elles. Pipes
prend la sortie d’une commande et l’achemine pour qu’elle serve d’entrée à une deuxième commande une fois chaînées ensemble.
Pour plus d’informations sur les pipes
et leur utilisation, reportez-vous aux ressources en ligne, car les informations y sont nombreuses.
>
permet d’appliquer une action overwrite
les contenus des fichiers existants en les remplaçant par la sortie de la nouvelle commande.
>>
permet d’appliquer une action append
pour ajouter des informations aux fichiers existants. Cela est utile pour les actions de journalisation.
Example:
ps aux > processes.log
envoie la sortie de ps aux
dans le fichier processes.log
pour afficher la sortie de la commande dans un éditeur de texte et écrase les contenus actuels du fichier.
tee
est utilisé avec une commande |
pour prendre la sortie de la commande et l’envoyer à un autre emplacement. Cela est utile si vous avez manqué des erreurs. De cette façon, tout ce qui se passe sur 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. la commande |
envoie la sortie de dmesg
to tee
, qui accomplit ensuite sa tâche en l’envoyant au terminal et au fichier journal. boot.txt
.
Voulez-vous exécuter un fichier dans le répertoire actuel une fois qu’il est 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 d’utilisateur root. ./
signifie in the current directory
, donc cela ne fonctionne pas sur les fichiers en dehors du répertoire actuel.
Si vous souhaitez exécuter un fichier qui ne se trouve pas dans le répertoire actuel, vous devez transmettre le chemin d’accès au programme d’exécution approprié. S’il s’agit d’un programme Python, le chemin sera python /path/to/file
. Si c’est un fichier shell, sh /path/to/file
est un exemple de chemin. Il existe d’autres programmes, mais ces derniers sont les plus courants.
Si vous souhaitez exécuter un fichier avec des droits d’utilisateur root parce que vous avez reçu operation not permitted?
. Vous devez ajouter le préfixe à la commande sudo
. Comme dans l’exemple ci-dessus, sudo python /path/to/file
exécute le script avec les droits d’utilisateur racine.
Si vous souhaitez exécuter un programme d’interface utilisateur à partir du terminal, saisissez le nom du programme - case sensitive!
pour le démarrer. Cela rend le terminal actuel inutilisable. Si vous fermez le terminal pendant l’ouverture du programme, vous arrêterez le programme. Vous pouvez utiliser le programme en arrière-plan, avec program_name
, puis saisir le mot exit
sur le terminal pour fermer le programme et maintenir le processus en cours d’exécution.
Si vous souhaitez exécuter un programme d’interface utilisateur avec des droits d’utilisateur root sur le terminal, ajoutez le préfixe gksudo
ou gksu
et non sudo
. L’utilisation de la commande sudo
pour lancer les applications d’interface utilisateur est une mauvaise habitude à éviter.
N’utilisez pas not
le préfixe sudo
simplement parce qu’un événement affiche Operation not permitted.
N’oubliez pas que vous pouvez utiliser une action destroy
sur les systèmes en exécutant des commandes à un emplacement incorrect avec des droits d’utilisateur racine. Vérifiez que vos fichiers proviennent de sources fiables.
Vous êtes-vous perdu dans un répertoire ? Saisissez pwd
pour imprimer le répertoire de travail.
Voulez-vous calculer l’espace disque ? df -h
peut vous donner un chiffre rapide.
Voulez-vous calculer la taille d’un dossier ou d’un fichier ? du -cksh target_name
fait exactement cela. Voulez-vous calculer la taille du dossier actuel ? du -cksh
.
Voulez-vous marquer un fichier comme exécutable ? chmod +x filename
s’en charge.
Vous voulez monter un fichier ISO ? Cette fonctionnalité est intégrée à Linux. Créez un répertoire, par exemple à l’emplacement /home/user/isomount
, et émettez la commande mount -o loop /path/to/myisofile.iso /home/user/isomount
pour que le contenu soit monté à l’intérieur de ce dossier.
Vous avez exécuté une commande, vous devez la réexécuter, mais vous ne vous souvenez pas de ce qui s’était passé ? Saisissez history
dans le terminal pour imprimer l’historique des commandes. Vous souhaitez effacer l’historique ? history -c
efface toutes les données.