J'ai beaucoup de dossiers sur ma machine, beaucoup d'entre eux contiennent plus de dossiers, plus de dossiers dans ces dossiers, et ainsi de suite ... Maintenant, lorsque je fais certaines opérations cd
et cp
faire tous les jours dans le cadre d’un processus de sauvegarde ou de quelque chose qui devient ennuyeux de devoir taper tout le chemin du fichier vers un fichier ou un emplacement, même avec le TAB fonctionnalité de correction automatique.
Je pense donc que ce serait vraiment utile si je pouvais créer un alias, comme pour une commande, mais plutôt pour un chemin de fichier. Est-ce possible?
Voici quelques exemples de la manière dont j'aimerais que cela fonctionne:
J'aimerais pouvoir affecter ~/Documents/SectionA/Sub-folder65/SectionF-2
à un alias tel que pandaPictures
afin que je puisse l'utiliser pour effectuer les opérations suivantes:
cp pandaPictures/pic1.png ~/Pictures
cd pandaPictures
cd pandaPicture/Specials
Et ce serait aussi bien si TAB l'auto-complétion fonctionnerait avec les chemins de fichiers quand ils incluraient également ces alias de chemin de fichiers.
J'aimerais également pouvoir attribuer PandaImages/2016/Sector7
à un alias tel que safePandaImages
afin de pouvoir l'utiliser pour effectuer les opérations suivantes:
cp ~/Documents/Images/safePandaImages/panda.jpg ~/Pictures
cd ~/Pictures/Photos/Images/Wallpaper/safePandaImages
Dans les exemples que je viens de donner, la deuxième section n’est pas un impératif absolu (où le pseudonyme n’est pas simplement au début, mais aussi au milieu et à la fin) s’il n’est pas possible ou très impraticable de le faire. Bien que, si cela est possible, cela ne me dérange pas que cela ne ressemble pas vraiment à ce qui précède (par exemple, si vous devez avoir []
s autour de l'alias ou quelque chose comme ça, il est clair qu'il ne s'agit pas simplement d'un chemin de fichier normal. ).
J'utilise Ubuntu GNOME 15.10 avec GNOME 3.18.
Franchement, c'est un travail pour les variables:
pandaPictures=~/Documents/SectionA/Sub-folder65/SectionF-2
cp "$pandaPictures"/pic1.png ~/Pictures
cd "$pandaPictures"
cd "$pandaPictures"/Specials
Ou:
safePandaImages=PandaImages/2016/Sector7
cp ~/Documents/Images/"$safePandaImages"/panda.jpg ~/Pictures
cd ~/Pictures/Photos/Images/Wallpaper/"$safePandaImages"
Bash n'est pas assez intelligent pour compléter le contenu des variables, mais zsh peut:
$ foo=/usr
$ cp $foo/ # press Tab
bin/ include/ lib/ lib32/ lib64@ local/ sbin@ share/ src/
Avec bash, vous pouvez d’abord le faire développer chaque variable, alias, substitution de commande, etc., en utilisant CtrlAltE puis utilisez l'onglet de complétion:
$ foo=/usr
$ cp $foo # press Ctrl-Alt-E
$ cp /usr
Cela dit, si vous le faites régulièrement, scriptez-le. Faites un script. Ajoutez-le à crontab. Oublie.
Les variables sont probablement la meilleure solution, mais vous pouvez également créer des liens symboliques qui feraient la même chose, du moins dans le premier cas. L'avantage est l'auto-complétion facile.
ln -s ~/Documents/SectionA/Sub-folder65/SectionF-2 ~/pandaPictures
cp ~/pandaPictures/pic1.png ~/Pictures
cd ~/pandaPictures
cd ~/pandaPictures/Specials