La puissance du terminal Linux réside dans le fait que vous pouvez rapidement personnaliser votre environnement afin qu'il fonctionne de mieux en mieux selon vos besoins. Il existe de nombreuses façons de "pirater" votre terminal, dont certaines sont pratiquement des domaines entiers de l'informatique en eux-mêmes, mais il existe de nombreuses petites astuces pour les débutants, en particulier lorsqu'il s'agit de travailler avec le système de fichiers Linux. Voir mon article Gestion des fichiers avec le terminal Linux pour les bases.
Le moyen le plus simple de personnaliser l'environnement de travail de votre terminal consiste à modifier son fichier de configuration, qui contient vos paramètres de shell personnels. Bash (le Bourne Again Shell ) est le shell le plus courant sous Linux (Red Hat Enterprise Linux et Fedora inclus), et le fichier de configuration de Bash est ~/.bashrc
.
Créer un alias
Une première étape facile dans la personnalisation consiste à créer des alias. Les alias vous permettent de définir vos propres commandes simples ou de redéfinir celles qui existent déjà. Pour ajouter des alias, éditez votre fichier .bashrc
dans un éditeur de texte, ou créez-les directement depuis le terminal en utilisant le echo
commande.
Par exemple, pour redéfinir le ls
commande afin qu'elle utilise toujours le --classify
(-F
) et --almost-all
(-a
), ajoutez une règle d'alias à .bashrc
, puis source
(relire et charger) le fichier de configuration modifié.
$ echo "alias ls='ls --classify --almost-all'" >> ~/.bashrc
$ source .bashrc
$ ls
bin/
Desktop/
despacer.sh
documentation.zip*
Documents/
Music/
Pictures/
Public/
Une fois l'alias créé et rechargé, le ls
la commande utilisera toujours le --classify
pour que vous puissiez distinguer les fichiers des dossiers, et l'option --almost-all
option pour exclure la notation pointée et double pointée. Il y a beaucoup plus d'options pour le ls
commande. Voir le ls
manuel pour plus d'informations en tapant :
$ man ls
Vous pouvez créer des alias pour toutes sortes de tâches simples répétitives. Les opérations complexes peuvent nécessiter quelque chose de plus robuste qu'un alias, comme un script shell, mais les alias sont un excellent moyen de laisser votre environnement travailler pour vous.
Personnalisez votre corbeille
Ouvrez une série de fenêtres pour trouver le fichier que vous souhaitez supprimer. Déplacez le fichier vers la corbeille ou Bien icône sur votre bureau. Lorsque vous avez collecté suffisamment de corbeille et êtes sûr que tout peut être supprimé en toute sécurité de votre système, accédez à la Corbeille menu et sélectionnez Vide .
Il n'y a pas de corbeille dans votre terminal par défaut, mais encore une fois, une "corbeille" n'est qu'une autre dossier qui accepte tous les fichiers que vous avez l'intention de supprimer éventuellement. Les données sont toujours là jusqu'à ce que vous les vidiez. Le faire est trivial. Avec les leçons que vous avez apprises dans cet article, vous pouvez créer un système de corbeille sûr et fiable pour votre terminal.
Si votre ordinateur possède un bureau, tel que le bureau GNOME sur Red Hat Enterprise Linux et Fedora, vous avez déjà une corbeille système située dans ~/.local/share/Trash/files
. Vous pouvez référencer ce dossier directement ou, pour réduire la saisie, vous pouvez créer un lien symbolique vers celui-ci :
$ ln --symbolic ~/.local/share/Trash/files ~/.trash
Si votre ordinateur n'a pas de bureau, vous n'avez peut-être pas de corbeille dossier, mais vous pouvez en créer un manuellement. Une corbeille n'est en réalité qu'un autre dossier. Utilisez le mkdir
commande avec le --parents
(-p
) option pour créer une série de dossiers en une seule commande :
$ mkdir --parents ~/.local/share/Trash/files
$ ln --symbolic ~/.local/share/Trash/files ~/.trash
Lorsque vous souhaitez déplacer un fichier ou un dossier vers la corbeille, utilisez le mv
commande comme d'habitude :
$ mv oldfile.txt ~/.trash
Créer une meilleure commande de corbeille
Une façon encore plus simple d'utiliser une corbeille dossier est d'écrire votre propre nouvelle commande appelée trash
, qui déplace un fichier vers votre ~/.trash
dossier. Il s'agit d'un exercice avancé qui introduit quelques nouvelles commandes, mais vous pourriez être surpris de la facilité avec laquelle vous pouvez créer vos propres commandes personnalisées. En seulement deux lignes de code Bash, vous pouvez concevoir votre propre système personnel de gestion des déchets.
Avant de créer votre propre commande, vous avez besoin d'un emplacement pour stocker les scripts personnalisés. Il est courant pour les utilisateurs de Linux de maintenir un ~/bin
répertoire, où ils conservent les utilitaires personnels et les exécutables binaires. Celui-ci n'existe pas par défaut, mais vous pouvez le créer puis l'ajouter à votre chemin :
$ mkdir ~/bin
$ echo "export PATH=$PATH:$HOME/bin" >> ~/.bashrc
$ source ~/.bashrc
Vous pouvez maintenant créer votre propre commande de corbeille avec le echo
commande :
$ echo '#!/bin/sh' > ~/trash
$ echo 'mv "${@}" ~/.local/share/Trash/files' >> ~/trash
Vous pouvez également ouvrir un éditeur de texte et y copier et coller le code :
#!/bin/sh
mv "${@}" ~/.local/share/Trash/files
Enregistrez le fichier sous ~/bin/trash .
La première ligne de ce script déclare quelle application est requise pour l'exécuter. Dans ce cas, la première ligne précise que le sh
shell, situé dans le /bin
répertoire à la racine de votre système de fichiers, est requis. Après tout, il s'agit d'un script shell :une série de commandes shell Bash dans l'ordre d'exécution souhaité.
La deuxième ligne utilise le mv
commande en conjonction avec une variable Bash spéciale, "${@}"
, c'est-à-dire tout ce qui est tapé après la commande . C'est ce qui permet à une même commande d'agir sur plusieurs fichiers. Vous n'aurez pas à exécuter votre commande une fois par fichier comme ceci :
$ trash foo
$ trash bar
$ trash baz
Au lieu de cela, vous programmez votre commande pour qu'elle reconnaisse plusieurs arguments à la fois :
$ trash foo bar baz
Pour confirmer que votre script shell est correct, utilisez le cat
commande pour concaténer le contenu du fichier dans la sortie de votre shell :
$ cat trash
#!/bin/sh
mv "${@}" ~/.local/share/Trash/files
Pour rendre cette commande utilisable par vous-même, utilisez mv
pour le déplacer dans un répertoire appelé ~/bin
(ce répertoire n'existe pas par défaut, donc créez-le d'abord):
$ mkdir ~/bin
$ mv trash ~/bin
Votre shell voit actuellement votre script shell comme un fichier plein de texte. Vous n'avez pas encore autorisé l'ordinateur à traiter votre script comme une commande exécutable. Cette différenciation est importante, car si votre shell était capable de tout exécuter en tant que commande sans votre autorisation explicite, alors n'importe quel fichier de votre système aurait le potentiel d'exécuter du code arbitraire (imaginez supprimer toutes les tables d'une base de données importante simplement parce que vous ou un de vos utilisateurs ont cliqué sur le mauvais fichier).
Pour accorder à un fichier l'autorisation d'être traité comme un exécutable, vous définissez le bit exécutable dans ses attributs de fichier en utilisant le chmod
(changer de mode) commande :
$ chmod +x ~/bin/trash
Vous pouvez maintenant exécuter le fichier en tant que commande. Testez ceci en créant un fichier, puis en le déplaçant vers la corbeille :
$ echo "This is rubbish." >> rubbish.file
$ cat rubbish.file
This is rubbish.
$ ~/bin/trash rubbish.file
Si vous utilisez un ordinateur de bureau sur votre ordinateur, ouvrez votre corbeille et confirmez que rubbish.file
est maintenant dans la corbeille de votre système. Si vous n'utilisez pas de bureau, regardez simplement dans votre ~/.trash
lien symbolique. En tant que filtre ad hoc, envoyez la sortie du ls
commande via un tube (|
), en utilisant le grep
commande pour rechercher la chaîne ordures :
$ ls ~/.trash | grep rubbish
rubbish.file
Notez cependant que l'utilisation de votre trash
commande sans fournir le chemin complet ne le fait pas fonctionne comme prévu :
$ echo "This is more rubbish." >> rubbish2.file
$ trash rubbish2.file
bash: trash: command not found...
C'est parce qu'il n'est pas encore dans votre chemin exécutable.
Dites à votre shell où chercher
Certaines commandes, comme cd
, pwd
, et alias
, sont intégrés à votre shell. D'autres, comme ls
, mv
, et echo
, sont installés dans des emplacements que votre shell désigne comme emplacements de recherche valides pour les commandes. Lorsque vous tapez des commandes comme ls
, mv
, ou trash
, votre shell parcourt une liste de répertoires qui contiennent des fichiers exécutables. Vous pouvez afficher cette liste d'emplacements de recherche en regardant le PATH
variable. L'echo
La commande vous permet d'examiner les variables en ajoutant un signe dollar ($
) avant le nom de la variable :
$ echo $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin
Pour que vous puissiez utiliser la trash
comme vous le feriez pour toute autre commande sur votre système, vous devez ajouter votre ~/bin
personnel répertoire à votre variable PATH. Les variables d'environnement du shell sont chargées lorsque le shell est lancé, elles sont donc définies dans le ~/.bashrc
fichier de configuration. Vous pouvez ajouter ce répertoire dans votre PATH à l'aide d'un éditeur de texte, ou simplement utiliser le echo
commande avec une double redirection pour ajouter la règle à votre configuration :
$ echo 'export PATH=$PATH:/home/seth/bin' >> ~/.bashrc
Chargez votre nouvelle configuration dans votre shell :
$ source ~/.bashrc
Et essayez votre commande une fois de plus :
$ trash rubbish2.file
Supprimer définitivement un fichier
Finalement, votre poubelle doit être vidée. Le rm
supprime un fichier de votre système de fichiers (de manière permanente, utilisez-le donc avec parcimonie et précaution).
Parce que le rm
commande peut être nuisible si elle est mal utilisée, c'est une bonne idée de limiter votre interaction avec elle et de limiter sa portée lors de son utilisation. Dans ce cas, vous voulez rm
pour fonctionner uniquement dans votre corbeille, vous pouvez donc créer un alias pour réduire le risque de taper la commande de manière erronée. Moins vous invoquez rm
, moins vous risquez de supprimer accidentellement des fichiers.
Créez un alias appelé empty
en tapant ce qui suit :
$ echo 'empty="rm --recursive --verbose --force ~/.local/share/Trash/files/*"' >> ~/.bashrc
Contrairement à votre trash
commande, empty
est traité comme une commande intégrée puisqu'il s'agit d'un alias plutôt que d'un script externe. Cela signifie que vous n'avez rien à mettre dans votre ~/bin
répertoire ou ajoutez quoi que ce soit à votre PATH
variable. Il vous suffit de recharger votre configuration shell, puis de tester votre nouvelle commande intégrée :
$ source .bashrc
$ empty
removed '/home/seth/.trash/rubbish.file
removed '/home/seth/.trash/rubbish2.file
La pratique rend fluide
Vous avez maintenant programmé votre premier script shell et personnalisé votre environnement shell. Les petits exercices comme celui-ci sont importants, car plus vous travaillez dans la coque, mieux vous devenez. Essayez de maximiser votre temps de travail dans le terminal pour vous familiariser avec celui-ci. Vous n'avez pas à faire de tâches importantes au début. Commencez petit et progressez progressivement.
Il n'y a pas de meilleur moment que le présent, alors allez explorer le terminal Linux !