Sei un nuovo utente Linux? Il tuo lavoro prevede script di shell? Se la tua risposta a entrambe queste domande è sì, lo strumento di cui parleremo qui probabilmente ti interesserà. Il nome dello strumento è dirname , ed è utilizzato principalmente in situazioni in cui è necessario rimuovere l'ultimo componente da un nome file assoluto.
In questo tutorial, discuteremo le basi di dirname e come puoi usarlo. Ma prima di farlo, vale la pena condividere che tutti gli esempi/istruzioni qui menzionati sono stati testati su Ubuntu 16.04 LTS.
Comando Linux dirname
Di seguito è riportata la sintassi generica del comando dirname:
dirname [OPTION] NAME...
Ecco come lo descrive la pagina man dello strumento:
Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains
no /'s, output '.' (meaning the current directory).
I seguenti esempi di domande e risposte ti daranno un'idea migliore su come utilizzare lo strumento.
Q1. Come funziona il comando dirname?
L'utilizzo di base dello strumento è molto semplice:basta scrivere il nome del comando, seguito dal nome assoluto di un file. Nell'output, otterrai l'albero di directory completo, ad eccezione del nome del file.
Ecco un esempio:
Q2. Può gestire più input?
Sì, naturalmente. Tutto quello che devi fare è passare i nomi dei file assoluti uno dopo l'altro. L'esempio seguente dovrebbe renderlo ampiamente chiaro:
Q3. E se il nome del file fosse anche il nome assoluto?
Se l'input è semplicemente un nome file (non assoluto, completo di albero di directory), nell'output viene prodotto un punto (.).
Se dai un'occhiata alla descrizione della pagina man del comando (menzionata all'inizio), questo comportamento è chiaramente menzionato lì.
Q4. Come sostituire newline con NUL nelle righe di output?
Per impostazione predefinita, le righe nell'output sono separate da una nuova riga, come chiaro da Domande e risposte 2 sopra. Tuttavia, se lo desideri, puoi invece avere le righe di output separate dal carattere NUL. Per questo, usa -z opzione della riga di comando.
Ecco uno screenshot di questa opzione della riga di comando in azione:
Osserva che le righe di output non erano più separate da una nuova riga.
Conclusione
Il dirname command potrebbe non essere ricco di funzionalità come alcuni degli altri comandi Linux, ma non sarebbe sbagliato dire che è uno strumento ingegnoso che potrebbe salvarti la giornata mentre lavori con gli script della shell. Qualunque cosa abbiamo discusso qui è praticamente tutto ciò che offre lo strumento. In caso di dubbi o domande, lascia un commento qui sotto.