Chaque fois que je souhaite passer à un répertoire que j'utilise très souvent, je dois taper ce chemin de répertoire long:
cd /media/prasanth/01D0F888E7BC91801/github projects
ou je dois utiliser l'interface graphique pour entrer dans le dossier et ouvrir le terminal.
Est-il possible d'attribuer ce long chemin à un seul nom et de le saisir via le terminal, comme
cd mygitfiles
?
Jusqu'à présent, deux excellentes réponses ont été données, il me reste une possibilité:
ln -s /media/prasanth/01D0F888E7BC91801/github/projects ~/mygitfiles
Crée un lien symbolique vers le long chemin dans votre maison.
Les liens symboliques sont comme des raccourcis qui pointent vers un autre fichier ou répertoire, et la plupart des programmes les traiteront normalement. vous pouvez en toute sécurité rm
le lien symbolique sans affecter le chemin sur lequel il pointe. vous pouvez observer où pointe le lien symbolique avec ls -l
.
Vous pouvez utiliser le lien symbolique comme s'il s'agissait d'un répertoire réel et faire cd ~/mygitfiles
.
Notez que ~ est simplement un alias pour votre répertoire personnel, ce qui pourrait être un endroit judicieux pour un tel lien symbolique.
Sachez que l’utilisation de ce lien symbolique affecte en définitive votre répertoire de travail actuel.
Dans le cas général, je suggérerais la réponse de Nicolas Delvaux ou d'Eduardo Cola, mais l'utilisation d'un lien symbolique pourrait être tout aussi utile, voire plus utile.
Vous pouvez stocker votre chemin dans une variable d'environnement. Courir:
nano $HOME/.bashrc
Allez à la fin du fichier, créez une nouvelle ligne et écrivez:
export mgf="/media/prasanth/01D0F888E7BC91801/github projects"
Frappé Ctrl+O et ENTER pour sauvegarder le fichier. Frappé Ctrl+X pour quitter. Maintenant, déconnectez-vous et connectez-vous. Lorsque vous ouvrez un terminal (en cours d’exécution), vous pouvez exécuter cd "$mgf"
pour accéder à votre répertoire.
Vous devriez utiliser des alias. Voir help alias
.
En un mot, vous pouvez définir un alias en tapant:
alias whatever="cd /media/prasanth/01D0F888E7BC91801/github/projects"
Ensuite, taper whatever
vous mènera au dossier défini.
Vous pouvez mettre la commande alias dans votre ~/.bashrc pour la conserver en permanence.
Il semble que vous cherchiez cdargs .
Il fournit des signets pour la commande cd
.
Vous pouvez ajouter un favori en exécutant mark NAME
dans le répertoire des favoris. Vous pouvez ensuite accéder à ce répertoire de n’importe où en utilisant cv NAME
, NOM étant le nom du signet.
Vous pouvez jeter un oeil à autojump
. Il apprend fondamentalement que vous utilisez cd
en construisant une base de données des dossiers que vous visitez et en leur attribuant des poids: plus vous visitez un dossier, plus il est haut dans la base de données.
Ensuite, après avoir cd
plusieurs fois dans un répertoire (même une fois suffit):
cd /media/prasanth/01D0F888E7BC91801/github projects
vous pouvez y accéder en utilisant la commande j
:
j proj
Vous pouvez utiliser n’importe quelle partie du nom du répertoire comme argument de la commande j
. La première entrée correspondante correspond, ce qui est utile lorsque vous ne vous souvenez pas du chemin complet.
Il a quelques autres fonctionnalités qui sont plutôt chouettes telles que passer à l'enfant (jc
). Je vous encourage à l'inspecter.
Bash a un petit problème pratique appelé CDPATH
. Lorsque cd foo
cherche un chemin relatif, il cherche dans le répertoire actuel par défaut. En définissant CDPATH
sur une liste de préfixes de chemin séparés par deux points, nous pouvons accéder à cette cible si aucune correspondance n'a été trouvée. Cela fonctionne de manière similaire à la variable PATH
lors de la recherche de fichiers exécutables.
Dans votre cas, vous pouvez utiliser export CDPATH=.:/media/prasanth/01D0F888E7BC91801/github/
dans votre ~/.bashrc
, puis exécuter cd projects/foo
de n'importe où pour accéder à /media/prasanth/01D0F888E7BC91801/github/projects/foo
.
Toutefois, cela ne fonctionnera pas si votre répertoire actuel contient une entrée correspondante. Cela peut donc entraîner des modes d'erreur déroutants. Il y a des gens qui ne jurent que par cette méthode, je préfère moi-même plutôt liens symboliques dans le répertoire personnel comme suggéré par Paul Grove.
Je taperais
cd /media/prasanth/01D0F888E7BC91801/github projects #demo-proj
la première fois que j'exécute cette commande. Le contenu après # est un commentaire.
Ensuite, pour l'appeler, je voudrais CtrlR et tapez de
(une sous-chaîne commode de demo-proj
), jusqu'à ce que la commande précédente soit affichée.
(reverse-i-search)`de': cd /media/prasanth/01D0F888E7BC91801/github projects #demo-proj
Je peux frapper CtrlR encore une fois pour des utilisations encore plus tôt.
Cela n'a pas besoin de définir/remplacer des alias permanents. Je le fais aussi pour les longues commandes ou même netstat -tulpn
que je trouve cryptique.