Che cos'è un nome percorso completo?


21

Vorrei capire cosa significa veramente il nome completo del percorso. Ho un file nella mia home directory chiamato my_script. Ho ipotizzato che il nome completo del percorso sia ./my_script, nel senso che si trova nella cartella principale, ma non ne sono sicuro. Qualcuno può illuminarmi su questo?


Puoi chiedere "è possibile scrivere un comando che visualizzerà l'elenco dei file con i loro nomi?" in un'altra nuova domanda ?
Braiam,

Risposte:


30

No, il tuo presupposto è sbagliato. Il percorso completo per il my_scriptfile dalla propria directory home è: /home/your_user_name/my_script. Quando si digita il ./my_scriptterminale si tenta effettivamente di eseguire lo script (se è eseguibile) e verrà eseguito solo se la directory di lavoro corrente è /home/your_user_name/. Per eseguire lo script è possibile utilizzare anche il percorso completo del file che è, come ho detto /home/your_user_name/my_script.

Si ritiene che un nome di percorso UNIX assomigli e sembri indirizzi Internet, risultando quindi in compatibilità. Il nome percorso completo della directory di lavoro corrente può essere trovato nel terminale usando il comando seguente:

pwd

Per scoprire il percorso completo della home directory dell'utente, è possibile utilizzare:

echo ~
echo $HOME
echo /home/$USER

I tre comandi precedenti sono equivalenti.

Per scoprire il nome completo del percorso per un file è possibile utilizzare il readlinkcomando. Ad esempio, nel tuo caso:

cd ~
readlink -f my_script

+1 readlinkrivela il percorso effettivo dei soft link
lamino,

7

Il nome completo del percorso indica in realtà il percorso completo di quel file o cartella dalla directory del filesystem /.

Ad esempio, il percorso completo dello script è:

/home/your_username/my_script

Oppure, il nome completo del percorso grepdell'eseguibile è

/bin/grep

Per quanto riguarda il ./my_script, il simbolo .sta per la directory corrente, quindi dici effettivamente "Cerca nella directory corrente un file o una cartella di nome my_script"


3

Per comprendere il percorso completo, devi prima conoscere il punto di partenza.

La directory principale /è il punto di partenza dei sistemi operativi basati su * nix. Contiene tutte le altre directory sia del sistema che dell'utente.

La home directory dell'utente /home/USERNAME/o, ~/in breve, contiene i file e le directory dell'utente. Ad esempio Immagini, Musica, Documenti, ecc. Ognuna di queste directory è referenziata come /home/USERNAME/DIRECTORYper esempio Documenti si trova in /home/USERNAME/Documents.

Come per le directory, ai file viene fatto riferimento allo stesso modo, ad esempio un file denominato my_scriptsituato nella home directory dell'utente sosyteepuò essere referenziato usando il percorso completo /home/sosytee/my_scripto ~/my_scriptin breve.

È possibile fare riferimento / accedere a file e directory utilizzando i loro percorsi completi da qualsiasi parte del sistema. Inoltre, è possibile accedervi utilizzando solo il loro nome se si trova nella stessa directory. Ad esempio, se l'utente si trova ~/quando usa il terminale, può accedere al my_scriptfile usando solo my_script.

Inoltre, è possibile accedere a directory e file utilizzando solo il loro nome, se sono collocati nella sua variabile PATH. Puoi vedere cosa è memorizzato in PATH usando echo $PATH.

Semplici esempi su come accedere ai file usando la riga di comando:

  • L'utente è attualmente su /home/USERNAME/e desidera utilizzare il catcomando su un file che si trova in /home/USERNAME/Documentsfoo.txt:

cat Documents/foo.txt

  • L'utente è dentro ~/Documentse vuole eseguire uno script chiamato foo.shannuncio localizzato ~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    o

    sh ~/Scripts/Foo/foo.sh

questo è solo un sommario.

Ulteriori informazioni


2

Il nome completo del percorso è il percorso dalla directory principale (ovvero, /). ./my_scriptè il nome del percorso relativo, poiché il percorso è dato relativamente alla directory corrente, che è indicata da .. Quindi, se ti trovi nella tua home directory, il percorso completo è s.th. come /home/sosytee/my_script. Per la tua home directory c'è la "scorciatoia" ~, il che significa che puoi anche scrivere ~/my_script. Ma ciò si risolverà ovviamente in un percorso diverso per ogni utente.

Per visualizzare il percorso completo della chiamata corrente alla rubrica pwd.


2

Presumo che il nome completo del percorso sia ./my_script

No non lo è. Quel percorso è relativo. Il punto all'inizio indica la directory corrente:

$ ls ./my_script
my_script
$ cd ..
$ ls ./my_script
ls: cannot access ./my_script: No such file or directory

Come puoi vedere, ho cambiato la directory e my_scriptnon è stato trovato, il che significa che ./my_scriptnon è un percorso assoluto.

Ho ipotizzato che il nome completo del percorso sia ./my_script, nel senso che si trova nella cartella principale, ma non ne sono sicuro.

Da Wikipedia :

[...] Un percorso completo o percorso assoluto è un percorso che punta alla stessa posizione su un file system indipendentemente dalla directory di lavoro o dai percorsi combinati.

Dal momento ./my_scriptche non riempiono la condizione che ogni volta che riesco a trovare il my_scriptfile , dovremmo dedurre che è un percorso relativo.

Un percorso relativo è un percorso relativo alla directory di lavoro dell'utente o dell'applicazione, quindi non sarà necessario fornire il percorso assoluto completo.


0

Qui ... suppongo che te lo chieda perché hai installato il server Ubuntu su Windows ...

copia questo codice in Esplora cartelle su Windows %userprofile%\AppData\Local\Packages

che ti mostrerà la posizione di casa ... è nascosta da qualche parte sul tuo sistema

In questa cartella, fare doppio clic sulla cartella per la distribuzione Linux di cui si desidera visualizzare i file:

  1. Ubuntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  2. openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  3. SUSE Linux Enterprise Server 1246932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

I nomi di queste cartelle potrebbero leggermente cambiare in futuro. Cerca una cartella che prende il nome dalla distribuzione Linux.

la tua casa sarà sotto LocalState\rootfs\home

La maggior parte di queste informazioni sono state ottenute da Come accedere ai file Ubuntu Bash in Windows (e all'unità di sistema di Windows in Bash)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.