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. :)