
Alcuni comandi di Linux sono così familiari che non ci accorgiamo nemmeno di usarli. Il cd il comando per cambiare directory è uno di questi. Ci sono alcuni trucchi che possono aiutarti a diventare più efficiente cd—Oppure puoi abbandonarlo del tutto.
Un comando a cui pensi raramente
Batti le palpebre tutto il giorno, tutti i giorni, ma, la maggior parte delle volte, non ne sei consapevole. A meno che qualcosa non ti venga in mente, raramente pensi a quel piccolo, regolare movimento. Alcuni comandi di Linux sono così. Si librano alla periferia della tua coscienza. Anche se li usi quotidianamente, non attirano la tua attenzione perché sono così piccoli e semplici.
Entro la prima ora di utilizzo di un computer Linux, impari come utilizzare cd comando incluso con Bash e altre shell. Forse hai avuto precedenti esperienze nell'usarlo su un altro sistema operativo e non hai bisogno di una spiegazione. Cambia l'attuale directory di lavoro, giusto? Cos'altro c'è da sapere?
Bene, più di quanto pensi. Ecco alcuni suggerimenti e consigli che potrebbero migliorare la tua efficienza.
Le operazioni cd standard
Per motivi di completezza, esaminiamo rapidamente gli usi standard di cd.
Se ci troviamo nella home directory, ma vogliamo passare a una situata in /usr/lib/firefox/browsere quindi tornare alla home directory, possiamo usare i seguenti comandi:
cd /usr/lib/firefox/browser/
cd /home/dave

Non è necessario digitare l'intero percorso della directory; puoi usare il completamento automatico. Per ogni parte di un percorso, dopo aver digitato abbastanza lettere per distinguere il nome della directory dagli altri, premere Tab per completare automaticamente il nome della directory.
Ad esempio, digitare quanto segue sulla riga di comando:
cd /usr/lib/fire
Ora, premi Tab e la shell riempirà il resto della directory “firefox” per te. Se si aggiunge “/ b” al percorso e si preme nuovamente Tab, si aggiunge la directory “browser” al comando.
La shell aggiunge una barra rovesciata finale in modo da poter ripetere il processo di completamento della scheda. Questo è anche il motivo per cui c'è una barra in avanti sul primo comando. Non ce n'è uno al secondo perché quello è stato digitato.
Puoi usare la tilde (~) Come modo abbreviato per tornare rapidamente alla home directory da qualsiasi parte del filesystem; basta digitare quanto segue:
cd ~

Questi sono esempi di percorsi assoluti, in cui viene fornito l'intero percorso dalla radice del filesystem alla directory di destinazione, a cd.
I percorsi relativi sono referenziati dalla directory di lavoro corrente. Nella home directory, c'è una directory chiamata work . Puoi usare il tree comando per visualizzare l'albero delle directory all'interno di work directory: basta digitare quanto segue:
tree

Il work directory contiene una directory chiamata dev . C'è anche una directory chiamata dev nella directory principale del filesystem. Puoi usare ls con -d (directory) per esaminare ciascuno di questi. Il -hl (leggibile dall'uomo, elenco lungo) dice ls utilizzare unità di facile lettura per le dimensioni della directory e l'elenco di formati lunghi.
Se digiti dev, la shell presuppone che tu intenda “dev” nella directory corrente. Per forzarlo a guardare il “dev” nella directory principale, basta aggiungere una barra in avanti per rappresentare la radice del filesystem, come mostrato di seguito:
ls -d dev -hl
ls -d /dev -hl

Il cd il comando si comporta come ls nel rispetto. Se si fa riferimento alla directory come dev, come mostrato di seguito, presuppone che tu intenda la directory in work directory:
cd dev

Senza una barra iniziale, si presume che anche i percorsi più lunghi inizino dalla directory di lavoro corrente, come mostrato di seguito:
cd dev/mobile/android

RELAZIONATO: 15 personaggi speciali che devi conoscere per Bash
Modifica della directory con doppio punto
L'identificatore doppio punto rappresenta la directory principale di quella corrente. Se ti trovi in una sottodirectory profondamente nidificata, puoi utilizzare .. con cd per passare alla directory principale di quella in cui ti trovi.
Questo ti porta su due directory nella struttura di directory. Se ne aggiungi altri .. sul comando, ti permette di spostare un numero arbitrario di livelli nella struttura della directory.
Digita quanto segue:
cd ..
cd ../..

Puoi anche creare un set di alias per eseguire queste manovre, digitando quanto segue:
alias .2="cd ../.."
alias .3="cd ../../.."

Puoi usarli allo stesso modo dei comandi stessi.

Per rendere coerenti gli alias tra i riavvii del computer, è necessario aggiungerli al proprio .bashrc o .bash_aliases file.
RELAZIONATO: Come creare alias e funzioni Shell su Linux
Salta facilmente tra due directory
Il trattino (-) È un altro simbolo che ha una funzione speciale. Cambia la tua directory di nuovo a quella da cui sei appena arrivato.
Per questo esempio, supponiamo che ti trovi nella directory “c”. Puoi usare cd per passare alla “quarta” directory. Quindi, puoi usare cd - per rimbalzare avanti e indietro tra le due directory.
Per fare ciò, digitare quanto segue:
cd ../forth
cd –
cd –
Il nome della directory in cui ci si sposta viene visualizzato prima di spostarsi in essa.
RELAZIONATO: Come usare pushd e popd su Linux
Un altro tipo di parente
La shell utilizza la directory di lavoro corrente come “root” o directory di base per i percorsi relativi. Puoi usare il CDPATH variabile d'ambiente per impostare un'altra posizione come directory di base per i percorsi relativi. Se trascorri la maggior parte del tuo tempo in una determinata sezione dell'albero del filesystem, questo può farti risparmiare un sacco di tasti (e tempo) ogni giorno.
Digitiamo quanto segue per effettuare work/dev/projects la directory di base per i percorsi relativi:
export CDPATH=/home/dave/work/dev/projects

Ora, ogni volta che usi il dc comando, la posizione in CDPATH la variabile di ambiente viene prima controllata per i nomi di directory corrispondenti. Se uno di questi corrisponde al target che hai fornito in cd comando, vieni trasferito in quella directory.
Ora, indipendentemente da dove ti trovi nel filesystem, quando usi il file cd comando, la shell verifica se la directory di destinazione si trova nella directory di base. In tal caso, vieni spostato nella directory di destinazione.
Se la directory di destinazione inizia con una barra (/), il che lo rende un percorso assoluto, non sarà influenzato dal CDPATH variabile d'ambiente.
Per dimostrarlo, digitiamo quanto segue:
cd c
cd prolog
cd /usr
cd forth

Il CDPATH la variabile d'ambiente è veramente un percorso, proprio come il PATH variabile d'ambiente. Quando si digita un comando, la shell cerca le posizioni in PATH per una partita. Quando si usa CDPATH, la shell cerca le posizioni in CDPATH variabile d'ambiente per una partita. Inoltre, lo stesso di PATH, CDPATH può contenere più posizioni.
RELAZIONATO: Come lavorare con le variabili in Bash
Per fare in modo che la shell cerchi la directory corrente prima di altre posizioni in CDPATH variabile d'ambiente, basta aggiungere un punto ( . ) all'inizio del percorso in questo modo:
export CDPATH=.:/home/dave/work/dev/projects
Per rendere permanenti le impostazioni, è necessario aggiungerle a un file di configurazione, ad esempio .bashrc.
Una cosa da tenere presente: se si imposta una directory di base, influisce anche sulle modifiche alla directory eseguite all'interno degli script. Per evitare ciò, puoi usare percorsi assoluti nei tuoi script o un test nei tuoi .bashrc file quando si specifica il proprio CDPATH, come mostrato di seguito:
if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi
Questo esegue un test per vedere se la variabile del prompt della riga di comando, $PS1 , era stabilito. Il CDPATH la variabile di ambiente verrà impostata solo se il test ha esito positivo.
RELAZIONATO: Come aggiungere una directory al tuo $ PATH in Linux
Usando shopt con cd
Con il shopt comando, è possibile impostare alcune opzioni per la shell. Alcuni di questi possono migliorare l'utilizzo di cd. Per impostarli, si utilizza il -s (abilita) opzione con shopt per passargli un nome di opzione.
Il cdspell L'opzione controlla i nomi delle directory e corregge alcuni errori di battitura comuni, inclusi caratteri trasposti o mancanti o nomi con troppi caratteri. Se trova una directory che corrisponde a una qualsiasi delle correzioni, viene stampato il percorso corretto e il cd l'azione ha luogo.
Ad esempio, digitiamo quanto segue per impostare il cdspell opzione e errore di ortografia “Desktop” per vedere se la shell lo corregge per noi:
shopt -s cdspell
cd Desktpo

La shell ha rilevato l'errore, lo ha corretto e modificato nella directory “Desktop”.
Un altro shopt opzione che puoi usare con cd è autocd. Elimina la necessità di digitare cd affatto. Tutto ciò che digiti che non è un comando, uno script o un altro file eseguibile (come un alias), viene utilizzato come directory di destinazione. Se riesci a trasferire in quella directory, viene stampato nella finestra del terminale e sei passato a quella directory.
Ad esempio, digitiamo quanto segue:
shopt -s autocd
/usr/local/games
/etc
~

Vedere! Puoi saltare su tutto il filesystem senza nemmeno usarlo cd!
Le impostazioni con cui cambi shopt influisce solo sulle shell interattive, non sugli script.
La collezione cd
Probabilmente non adotterai tutti questi. Tuttavia, è probabile che tu abbia trovato qualcosa di interessante o utile qui. Dopotutto, tutto ciò che accelera o semplifica la navigazione da riga di comando va bene!

