Per impostazione predefinita, il terminale di Linux si apre automaticamente sulla cartella "home" dell'utente corrente. Ad esempio: se sono loggato con l'account "pippo", non appena aperta la shell testuale mi ritrovo in /home/pippo/, mentre se sono "pluto" sono posizionato in /home/pluto/. Anche quando si lavora con l'account "root" il percorso iniziale è la relativa home, solo che in questo caso si tratta di /root/. È una buona scelta di default, ma vi sono circostanze in cui sarebbe molto più pratico aprire il terminale di Linux e trovarsi immediatamente in una directory specifica: penso, ad esempio, a chi sviluppi pagine HTML/PHP e debba sistematicamente impartire cd /var/www/ subito dopo aver lanciato il terminale per entrare nella cartella dalla quale il server web Apache legge i file che compongono la web application, oppure ai sistemisti che inizino sempre la sessione con cd /etc/ per entrare nella directory con i file di configurazione della macchina. Fortunatamente, modificare la configurazione per aprire il terminale in una cartella "preferita" è molto semplice

Linux CentOS/Ubuntu: Modificare cartella lavoro predefinita terminale (locale via SSH) - ubuntu home terminale putty spotlight

Nota: la procedura è stata testata sotto CentOS ed Ubuntu, ma dovrebbe essere compatibile con qualsiasi distribuzione Linux.

Locale ed SSH

Il comportamento appena descritto è il medesimo indipendentemente dal fatto che si tratti di un terminale locale o che sia stata aperta una connessione SSH per lavorare su un computer remoto. Come unica accortezza, è ovviamente necessario svolgere la procedura seguente sul computer locale in caso si desideri modificare il percorso di apertura del terminale per la macchina che si ha davanti, mentre bisogna agire tramite SSH sull'host remoto per specificare la directory di default da utilizzarsi in seguito alla connessione.

» Leggi anche: "Accedere con PuTTY (SSH) senza password a Linux/Ubuntu/CentOS: guida all'autenticazione con chiave asimmetrica (RSA)"

Aprire l'editor di testo

Per raggiungere l'obbiettivo, è sufficiente modificare il file .bashrc che si trova all'interno della directory home.

Per prima cosa, aprite il terminale (ad esempio, con la combinazione da tastiera Ctrl+Alt+T). Quindi:

  • se state lavorando con un ambiente grafico, impartire il comando gedit $HOME/.bashrc
  • se siete in un ambiente completamente testuale (come SSH o Ubuntu Server, ad esempio), lanciate nano $HOME/.bashrc (se ottenete un errore, significa che dovete prima installare "nano" dal repository)

Aggiungere il comando

A questo punto, aggiungete queste due righe in fondo al file (sostituendo al percorso proposto a titolo di esempio quello da voi desiderato, ovviamente):

[nota: se state lavorando in ambiente testuale e vi trovate in difficoltà consultate "Guida: modificare i file di configurazione di Linux Ubuntu/CentOS da terminale è facile con "nano" (alternativa a "vi")"]

  • export zd=/mia_cartella/
  • alias zd='cd $zd'
  • zd

La prima crea una variabile di nome zd e le assegna il percorso della cartella che desiderate raggiungere, mentre la seconda istruzione crea un nuovo comando omonimo che, una volta lanciato, si sposta dentro questa cartella. Infine, viene effettivamente lanciato il nuovo comando per spostarti nella posizione desiderata

Linux CentOS/Ubuntu: Modificare cartella lavoro predefinita terminale (locale via SSH)

In realtà potete scegliere un nome a piacere per la variabile, evitando però gli spazi ed i caratteri "speciali"; anche miacartella va benissimo, se così preferite, ma la comodità di un nome molto breve diverrà evidente in seguito).

Salvate il file e il gioco è fatto.

Verificare il funzionamento

Per verificare che la modifica abbia effettivamente sortito l'effetto voluto, aprite una nuova finestra di terminale e scrivete immediatamente pwd, ovvero il comando che mostra la cartella nella quale ci si trova. Se l'operazione è andata a buon fine, vi verrà mostrato il percorso della directory scelta

Bonus: usare il nuovo comando manualmente

Il nuovo comando creato (zd, nel nostro esempio) resta a nostra disposizione anche in seguito. Di conseguenza, ricordate che in qualsiasi momento potete impartire zd per spostarvi dentro tale cartella.

Anche la variabile $zd rimane definita: di conseguenza, potete utilizzarla in tutte le circostanze in cui, altrimenti, dovreste digitare il percorso completo. Per esempio: potrete sempre utilizzare nano ${zd}mio_file.txt per aprire un documento presente nella directory.