Come usare il comando cd su Linux

Un grafico di una finestra terminale su un sistema laptop Linux.
Fatmawati Achmad Zaenuri / Shutterstock

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

I comandi "cd / usr / lib / firefox / browser /" e "cd / home / dave" in una finestra del terminale.

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 ~

Il comando "cd ~" in una finestra del terminale.

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 comando "albero" in una finestra terminale.

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

I comandi "ls -d dev -hl" e "ls -d / dev -hl" in una finestra terminale.

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

Il comando "cd dev" in una finestra del terminale.

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

Il comando "cd dev / mobile / android" in una finestra del terminale.

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 ../..

I comandi "cd .." e "cd ../ .." in una finestra del terminale.

Puoi anche creare un set di alias per eseguire queste manovre, digitando quanto segue:

alias .2="cd ../.."
alias .3="cd ../../.."

L'alias .2 = "cd ../ .." e alias .3 = "cd ../../ .." comandi in una finestra del terminale.

Puoi usarli allo stesso modo dei comandi stessi.

alias .2 = "cd ../ .." utilizzato per cambiare directory in una finestra di terminale

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 –

I comandi "cd ../forth", "cd -," e "cd -" in una finestra del terminale.

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

Il comando "export CDPATH = / home / dave / work / dev / projects" in una finestra terminale.

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

I comandi "cd c", "cd prolog", "cd / usr" e "cd forth" in una finestra terminale.

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

Il comando "shopt -s cdspell" in una finestra di terminale.

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
~

I comandi "shopt -s autcd", "" / usr / local / games, "" / etc "e" ~ "in una finestra del terminale.

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!

Articoli correlati

Ultimi articoli