Come aggiungere una directory al percorso in Linux

Come aggiungere una directory al percorso in Linux
Il percorso è una variabile predefinita in una shell Linux. È costituito da directory con i loro percorsi di directory, a partire dalla radice. Il percorso è un elenco separato da colon. Ogni directory con il suo percorso è separata dalla directory precedente con il suo percorso da un colon. La shell cerca comandi in queste directory.

I comandi non sono solo comandi del sistema operativo del disco. Il percorso è un elenco di directory in cui la shell cerca comandi del sistema operativo e altri comandi. I comandi sono come brevi file di programma. Quindi, i comandi sono eseguibili. Ogni applicazione installata nel computer viene fornita con un file eseguibile. Per eseguire l'applicazione, il file eseguibile è coinvolto per primo. Questi file eseguibili sono anche chiamati comandi.

Senza la variabile del percorso, ogni comando verrebbe comandato con il percorso assoluto, come in,

/home/john/dir1/dir2/comando.exe

dove il primo / è la directory principale; John è la directory dell'utente per l'utente, John; DIR1 e DIR2 sono sotto-directory; e comando.exe è il nome del file eseguibile.

Molti altri nomi sono possibili per il file eseguibile. In effetti, comando.exe è simbolico, qui. Quindi, se la directory,/home/John/dir1/dir2 (senza file), è nella variabile del percorso, l'utente John, eseguirà il comando.exe al prompt, John@host: ~ $ semplicemente digitando, comando.exe, senza il percorso precedente. Questo è:

John@host: ~ $ comando.exe

e poi premendo Invio.

Per vedere l'elenco corrente delle directory del percorso nel computer, digitare:

$ echo $ percorso

e premere Invio, al terminale. Il risultato sarebbe qualcosa di simile,

/USR/LOCAL/SBIN:/USR/LOCAL/BIN:/USR/SBIN:/USR/Bin:/Sbin:/Bin:/USR/Games:/USR/Local/Games:/Snap/Bin

La domanda ora è: come è una directory (e il suo percorso precedente), aggiunta alla variabile del percorso? Con alcune installazioni, la directory viene aggiunta automaticamente. Con altri, deve essere aggiunto manualmente. Questo articolo spiega i due modi principali, in cui viene aggiunta la directory. La directory non viene aggiunta (inclusa) in quanto verrebbe fatto a un array. I due modi principali sono indicati come aggiunta temporanea e aggiunta permanente. Bash è la shell utilizzata per gli esempi di codice in questo articolo.

Contenuto dell'articolo

  • Introduzione - Vedi sopra
  • Aggiunta temporanea
  • Aggiunta permanente
  • Conclusione

Aggiunta temporanea

Aggiunta temporanea significa che l'aggiunta ha luogo solo in memoria. Non viene salvato per l'uso quando il computer viene riavviato.

Il comando di esportazione integrato in shell Bourne

In termini semplici, il comando di esportazione è:

$ esportazione [nome [= valore]]

In questo caso, riassegna un valore a una variabile in memoria.

La variabile del percorso in memoria potrebbe già avere un valore simile,

Path =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/locale/giochi:/snap/bin

Supponiamo che la directory venga aggiunta è/home/john/dir1/dir2. Se il comando di esportazione viene digitato come,

$ Export Path =/Home/John/Dir1/Dir2

Quindi/Home/John/Dir1/Dir2 sostituirà tutto ciò che è già in memoria come valore per la variabile del percorso.

Se il comando di esportazione viene digitato come,

$ Export Path = $ Path:/Home/John/Dir1/Dir2

Quindi,/Home/John/Dir1/Dir2 si collegherebbe alla fine di ciò che è già nella variabile. Quindi, la nuova variabile sarebbe:

Path =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/locale/giochi:/snap/bin:/bin:/ Home/John/Dir1/Dir2

Si noti che nella riga precedente di codice sopra, la parte del valore che è già è separata dalla nuova parte con un colon, che è ":". $ Percorso nella riga del codice, si espande (viene sostituito) dal valore del percorso già in memoria.

Ora, lo stesso comando può essere in più di una directory. Quando un comando eseguibile viene digitato senza il percorso precedente al prompt, la shell inizia a cercare il valore (stringa) della variabile del percorso in memoria, da sinistra a destra. Quindi, con la riga di codice sopra,/Home/John/Dir1/Dir2 sarebbe finalmente arrivato, nella ricerca. Chi vuole che la sua directory arrivi per ultimo? - Nessuno. Quindi, un modo migliore per includere (aggiungere) la directory, è il seguente:

$ Export Path =/Home/John/Dir1/Dir2: $ Path

/Home/John/Dir1/Dir2 è ora all'inizio, separato dalla prossima directory, con un colon. Quindi, con una richiesta di "John@host: ~ $",

John@host: ~ $ Export Path =/Home/John/Dir1/Dir2: $ Path

Dopo aver digitato e premuto Invio, il comando, comando.Exe nella directory, dir2, verrebbe eseguito con:

John@host: ~ $ comando.exe

Finché il computer non viene chiuso, l'utente continuerà a eseguire il comando.exe senza digitare il percorso precedente.

Quando il computer viene chiuso, tutto in memoria di accesso casuale viene cancellato. La cattiva notizia è che l'utente del computer dovrà ripetere questo processo di aggiunta della sua directory alla variabile del percorso ogni volta che il computer viene riavviato. Nessuno vuole farlo oggi. Pertanto, l'approccio di aggiunta permanente è l'approccio raccomandato. Cioè, l'aggiunta al percorso, deve essere salvata (nel disco rigido).

Aggiunta permanente

Dalla discussione di cui sopra, l'idea è di salvare la modifica apportata (nel disco rigido). Quindi, se la modifica viene salvata in un file che Shell legge ogni volta che il computer si avvia, andrebbe bene. Cioè, ogni volta che il computer si avvia, la variabile del percorso in memoria verrà aggiornata in modo appropriato. Quando un computer inizia, al momento dell'avvio, legge alcuni file. Uno dei file La shell bash per Linux lette è, ~/.Bashrc . Il nome del file è .Bashrc , A partire dal punto. È nella directory dell'utente.

Bash è solo un shell, probabilmente il shell più popolare per Linux, oggi. Un altro shell per Linux è ZSH. Con ZSH, il file corrispondente è ~/.zshrc, Ancora nella directory dell'utente. Quando la shell inizia, all'avvio, legge questo file. Per Bash, il file è, ~/.Bashrc . Quindi, se il codice di addizione sopra riportato viene digitato nel ~/.file bashrc, la directory sarà sempre in memoria, come ~/.Bashrc lo includerà sempre nel percorso, ogni volta che gli stivali del computer. Rimane in memoria, fino a quando il computer non viene chiuso.

In Bash, ~/.Bashrc è un file nascosto, quindi l'uso ordinario del comando, LS non lo mostrerà. ~/.Bashrc contiene alcuni comandi bash (shell). Ubuntu è una variante di Linux. Ubuntu viene fornito con un editor di testo. Nel computer dell'autore, lo sfondo dell'editor di testo di Ubuntu è nero.

Il comando di addizione sopra (senza prompt) dovrebbe essere incluso a ~/.file bashrc. È bene aggiungerlo alla fine del file per non temperare con il contenuto disponibile, probabilmente funziona bene.

Per aprire ~/.Bashrc in Ubuntu, digitare quanto segue nel prompt dei comandi al terminale e premere Invio:

$ nano ~/.Bashrc

Dove nano è l'editore di testo. Qui, nano è un comando (eseguibile), il cui argomento è, ~/.Bashrc . Il contenuto del file dovrebbe aprirsi nell'editor di testo per sovrapporre la finestra del terminale.

Il ~/.Il file Bashrc si aprirà nell'editor di testo, probabilmente con uno sfondo nero. Il cursore lampeggerà all'angolo in alto a sinistra.

Premere continuamente il tasto di freccia verso il basso sulla tastiera fino a quando il cursore raggiunge la fine del file. Aggiungi una nuova linea di,

$ Export Path =/Home/John/Dir1/Dir2: $ Path

Non è tutto. La modifica a ~/.Il file bashrc non è stato salvato. Per salvare il file con la modifica apportata, premere Ctrl+O e seguire qualsiasi altra istruzione che appaiono. Per uscire dall'editor di testo, premere Ctrl+X e la finestra terminale normale dovrebbe sostituire la finestra dell'editor di testo. Altri comandi della shell possono quindi essere emessi.

Se viene emesso "Echo $ Path", la nuova directory non sarà vista nel display. Esistono due modi per continuare da qui: riavviare il computer o ottenere i nuovi contenuti di ~/.file bashrc in memoria con il comando sorgente. È semplice usare il comando di origine, come segue:

$ fonte ~/.Bashrc

Se il comando di origine viene emesso senza riavvio, "Echo $ Path" mostrerà la nuova directory aggiunta nel risultato (display). Il comando di interesse può quindi essere digitato senza il percorso precedente.

Nota: Non confondere tra la fine del valore del percorso (elenco) e la fine di ~/.file bashrc. Inoltre, non confondere tra una directory in percorso in memoria e un file eseguibile nella directory nel disco rigido.

Conclusione

Il percorso è una variabile integrata nei shell Linux. Il valore del percorso è un elenco di directory separate dai due punti. C'è un comando (file eseguibile) nel disco rigido per ciascuna di queste directory. Se viene emesso un comando alla vendita senza precedenti con un percorso, la shell esaminerà queste directory per il comando. Se non vede il comando in nessuna delle directory, il comando non verrà eseguito. In questo caso, per eseguire il comando, il comando deve essere preceduto con il suo percorso. Il comando può essere in più di una directory nel valore del percorso. Non appena la shell vede la prima directory con il comando, esegue il comando. Il valore del percorso è in realtà una stringa composta da directory separate dai due punti.

Il problema è come aggiungere la directory per l'eseguibile di una nuova applicazione in percorso. In alcuni casi, questo viene eseguito automaticamente dal programma di installazione della nuova applicazione. In altri casi, deve essere fatto manualmente. Esistono due modi per farlo manualmente, indicati come: aggiunta temporanea e aggiunta permanente. L'aggiunta temporanea utilizza il comando di esportazione e aggiunge semplicemente la directory mentre il computer è acceso. L'aggiunta permanente deve salvare la riga di comando di esportazione in ~/.Bashrc Initialization File (BASH) per operazioni future.