GNU/Linux >> Tutoriels Linux >  >> Linux

Personnalisation des commandes du système de fichiers Linux

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 !


Linux
  1. Vérifier l'espace disque sous Linux à l'aide des commandes df et du

  2. 5 commandes de dépannage du réseau Linux

  3. Comment chiffrer un seul système de fichiers Linux

  4. Mes 8 commandes Linux pratiques préférées

  5. 5 commandes Linux que je n'utilise jamais

Commandes FreeDOS pour les fans de Linux

Commandes Linux de base

Commandes Linux - Guide complet

Commandes de gestion de groupe sous Linux

90 commandes Linux fréquemment utilisées par les administrateurs système Linux

Commandes du répertoire Linux :un guide complet