GNU/Linux >> Linux Esercitazione >  >> Linux

Tutorial sui comandi Linux readlink e realpath per principianti (con esempi)

Abbiamo già discusso del comando ln, che consente di creare collegamenti tra file. Ma ci sono anche strumenti che ti permettono di risolvere questi link.

In questo tutorial, discuteremo le basi di realpath e link di lettura comandi simili (se non uguali) nel senso che mostrano collegamenti simbolici risolti nell'output. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui presenti sono stati testati su Ubuntu 18.04 LTS e su Debian 10.

Come già accennato all'inizio, sia i comandi realpath che readlink mostrano il percorso risolto per i collegamenti simbolici nell'output.

Di seguito è riportata la loro sintassi:

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

Ed ecco cosa dicono le rispettive pagine man:

Print the resolved absolute file name
print resolved symbolic links or canonical file names

Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti un'idea migliore di come funzionano questi strumenti.

Semplice, basta fornire il file o il percorso come input. L'esempio seguente mostra entrambi questi comandi che risolvono un collegamento simbolico.

Ed ecco come funzionano con i percorsi:

Quindi puoi vedere entrambi i comandi risolti con successo i collegamenti simbolici nei due casi.

Q2. Come stampare il percorso risolto relativo a una directory?

Il comando realpath ti consente di farlo facilmente. Ad esempio, supponiamo che questo sia ciò che stai cercando di fare:

realpath /var/local/Downloadslink

Tuttavia, un requisito aggiuntivo è avere l'output di questo comando relativo alla directory /home/himanshu. Quindi il comando che devi eseguire è il seguente:

realpath /var/local/Downloadslink --relative-to=/home/himanshu

Ecco l'output:

Downloads

Quindi puoi vedere che l'opzione '--relative-to' ti permetteva di avere un output relativo alla directory /home/himanshu.

T3. Come sbarazzarsi di .. nei percorsi?

Potrebbero esserci momenti in cui l'espansione/risoluzione dei collegamenti simbolici non è l'obiettivo, ma lo è sbarazzarsi di .. nel percorso. Il comando realpath ti consente di farlo.

Tutto quello che devi fare è usare l'opzione della riga di comando -s. Ecco un esempio:

realpath -s ../../var/local/Downloadslink

E di seguito è riportato l'output di questo comando:

/var/local/Downloadslink

Q4. Come modificare il carattere di delimitazione?

Per impostazione predefinita, la nuova riga viene utilizzata come carattere di delimitazione. Tuttavia, entrambi i comandi forniscono invece un modo per avere NUL come delimitatore.

L'opzione che devi usare in entrambi i casi è -z.

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]

Conclusione

Ciò di cui abbiamo discusso qui sono solo una manciata di opzioni/funzionalità fornite da questi comandi. Una volta che hai finito di esercitarti, vai alle pagine man readlink e realpath (qui e qui) per saperne di più su questi strumenti.


Linux
  1. Linux expand Command Tutorial per principianti (con esempi)

  2. Tutorial sui comandi di Linux factor per principianti (con esempi)

  3. Linux yes Command Tutorial per principianti (con esempi)

  4. Esercitazione sui comandi nproc Linux per principianti (con esempi)

  5. Linux tac Command Tutorial per principianti (con esempi)

Tutorial sui comandi di test di Linux per principianti (con esempi)

Linux sha1sum Command Tutorial per principianti (con esempi)

Tutorial sui comandi per l'aspetto di Linux per principianti (con esempi)

Esercitazione sui comandi lsattr Linux per principianti (con esempi)

Linux tload Command Tutorial per principianti (con esempi)

Linux tr Command Tutorial per principianti (con esempi)