Due scorciatoie che uso sempre per cose come questa:
Alias
alias somedir='cd /home/john/www/something/'
Quindi puoi digitare somedir
per andare in quella directory. Aggiungili al tuo .bashrc
.
Link simbolici
ln -s /long/path/to/some/other/folder /shortcut
Questo creerà un file in /shortcut
che si collega a /long/path/to/some/other/folder
. Quindi puoi digitare cd /shortcut
invece. L'avvertenza è che riempie la tua directory principale (o qualsiasi directory in cui inserisci i collegamenti) abbastanza velocemente. Preferisco gli alias.
Puoi usare la variabile d'ambiente CDPATH
per questo. Dalla pagina man di Bash:
CDPATH
Il percorso di ricerca per il comando cd. Questo è un elenco di directory separate da due punti in cui la shell cerca le directory di destinazione specificate dal comando cd. Un valore di esempio è ".:~:/usr".
Nel tuo caso, puoi impostare
export CDPATH=.:/user/something/somefolders
in ~/.bashrc
, quindi digitando cd somewhere
ti porterebbe a /user/something/somefolders/somewhere
(supponendo che non ci sia una directory chiamata somewhere
all'interno della directory corrente).
In alternativa, se non vuoi fare riferimento alla cartella somewhere
con il suo vero nome, potresti creare una directory nascosta che contiene un collegamento simbolico a /user/something/somefolders/somewhere
con il nome che vuoi usare. Potrebbe anche contenere collegamenti a qualsiasi altra directory che visiti frequentemente. Quindi imposta CDPATH
per includere il percorso di quella directory nascosta. Anche se nota che con questo metodo, se cd somewhere
e poi cd ..
, finirai nella directory nascosta. Questo potrebbe essere o meno un problema per te.
Tendo a usare sempre la ricerca interattiva bash. Provalo. Invocalo con ctrl+r e inizia a digitare una parte del tuo percorso, ad esempio da qualche parte . Probabilmente apparirà il tuo comando cd. :)