dando un nome breve per la directory aperta di frequente tramite terminale [duplicato]

8

Ogni volta che desidero passare a una directory che uso molto spesso, devo digitare questo lungo percorso di directory:

cd /media/prasanth/01D0F888E7BC91801/github projects

oppure devo usare il gui per entrare nella cartella e aprire il terminale.

È possibile assegnare questo percorso lungo a un singolo nome e inserirlo tramite il terminale come

cd mygitfiles

    
posta Prasanth P 04.01.2016 - 15:53

7 risposte

17

Finora due grandi sono stati dati in altre risposte, ho ancora una possibilità:

ln -s /media/prasanth/01D0F888E7BC91801/github/projects ~/mygitfiles

Creerà un collegamento simbolico al percorso lungo nella tua casa.

I collegamenti simbolici sono come scorciatoie che puntano a un altro file o directory e la maggior parte dei programmi li tratterà normalmente. puoi tranquillamente rm del link simbolico senza influenzare il percorso a cui punta. puoi osservare dove punta il link simbolico con ls -l .

Puoi usare il link simbolico come se fosse una directory reale e fare cd ~/mygitfiles .

Tieni presente che ~ è semplicemente un alias per la tua home directory, che potrebbe essere un posto sensato per tale link simbolico.

Tieni presente che l'uso di questo link simbolico alla fine influisce sulla tua attuale directory di lavoro.

Nel caso generale, suggerirei Nicolas Delvaux, o la risposta di Eduardo Cola, ma usare un link simbolico potrebbe essere altrettanto - o forse più utile.

    
risposta data Paul Grove 04.01.2016 - 19:26
9

È possibile memorizzare il percorso in una variabile di ambiente. Esegui:

nano $HOME/.bashrc

Vai alla fine del file, crea una nuova riga e scrivi:

export mgf="/media/prasanth/01D0F888E7BC91801/github projects"

Premi Ctrl + O e ENTER per salvare il file. Premi Ctrl + X per uscire. Ora scollegati e accedi. Quando apri un terminale (eseguendo bash) puoi eseguire cd "$mgf" per passare alla tua directory.

    
risposta data Eduardo Cola 04.01.2016 - 16:08
8

Dovresti usare alias. Vedi help alias .

In poche parole, puoi definire un alias digitando:

alias whatever="cd /media/prasanth/01D0F888E7BC91801/github/projects"

Quindi, digitando whatever ti sposti nella cartella definita.

Puoi mettere il comando alias nel tuo ~ / .bashrc per tenerlo permanentemente.

    
risposta data Nicolas Delvaux 04.01.2016 - 16:01
8

Sembra che tu stia cercando cdarg .

Fornisce segnalibri per il comando cd .

Puoi aggiungere un segnalibro eseguendo mark NAME nella directory che è stata aggiunta ai segnalibri. Quindi puoi passare a questa directory da qualsiasi posizione utilizzando cv NAME con NOME come nome del segnalibro.

    
risposta data rbialon 04.01.2016 - 20:17
4

Potresti dare un'occhiata a autojump . In pratica impara come si usa cd costruendo un database di cartelle che si visitano e assegnando loro pesi: più si visita una cartella, più è alta nel database.

Quindi, dopo aver passato cd un paio di volte in una directory (anche solo una volta è sufficiente):

cd /media/prasanth/01D0F888E7BC91801/github projects

puoi saltarci utilizzando il comando j :

j proj

Puoi utilizzare qualsiasi parte del nome della directory come argomento per il comando j e salterà alla prima voce corrispondente, quindi è utile quando non ricordi il percorso completo.

Ha alcune altre funzionalità che sono abbastanza pulite come vai al figlio ( jc ). Ti incoraggio a controllarlo.

    
risposta data Ciprian Tomoiagă 05.01.2016 - 00:36
3

Bash ha un piccolo inconveniente pratico chiamato CDPATH . Quando cd foo cerca un percorso relativo, per impostazione predefinita cerca nella directory corrente. Impostando CDPATH in un elenco separato da due punti di prefissi del percorso, possiamo invece andare a quell'obiettivo se non è stata trovata alcuna corrispondenza. Funziona in modo simile alla variabile PATH quando cerchi i file eseguibili.

Nel tuo caso, potresti export CDPATH=.:/media/prasanth/01D0F888E7BC91801/github/ nel tuo ~/.bashrc , quindi esegui cd projects/foo da qualsiasi luogo per arrivare a /media/prasanth/01D0F888E7BC91801/github/projects/foo .

Tuttavia, questo non funzionerà se la tua directory corrente contiene una voce corrispondente, quindi questo può avere alcune modalità di errore confuse. Ci sono alcune persone che giurano su questi metodi, io preferisco preferibilmente i link simbolici nella home directory come suggerito da Paul Grove.

    
risposta data amon 04.01.2016 - 20:59
1

Scriverò

cd /media/prasanth/01D0F888E7BC91801/github projects #demo-proj

la prima volta che eseguo questo comando. Il contenuto dopo # è un commento.

Quindi per chiamarlo, vorrei Ctrl R e digitare de (una sottostringa conveniente di demo-proj ), fino a quando non viene visualizzato il comando precedente.

(reverse-i-search)'de': cd /media/prasanth/01D0F888E7BC91801/github projects #demo-proj

Posso premere nuovamente Ctrl R per usi ancora precedenti.

Questo non ha bisogno di impostare / sostituire alias permanenti. Lo faccio anche per i comandi lunghi o anche netstat -tulpn che trovo criptico.

    
risposta data aitchnyu 05.01.2016 - 08:53

Leggi altre domande sui tag