Ricerca nel sito web

Spiegazione del comando Linux dirname per principianti (4 esempi)


Su questa pagina

  1. Comando Linux dirname
  2. D1. Come funziona il comando dirname?
  3. Q2. Può gestire più input?
  4. Q3. Cosa succede se il nome del file è anche il suo nome assoluto?
  5. Q4. Come sostituire una nuova riga con NUL nelle righe di output?
  6. Conclusione

Sei un nuovo utente Linux? Il tuo lavoro prevede lo scripting della shell? Se la tua risposta a entrambe queste domande è sì, lo strumento che discuteremo 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 menzionati qui sono stati testati su Ubuntu 22.04 LTS.

Comando dirname di Linux

Di seguito è riportata la sintassi generica del comando dirname:

dirname [OPTION] NAME...

Ecco come lo descrive la pagina man degli strumenti:

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 di come lo strumento può essere utilizzato. Per passare a una nuova directory, utilizzare il comando cd.

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 delle directory completo, ad eccezione del nome del file.

Ecco un esempio:

D2. Può gestire più input?

Sì, naturalmente. Tutto quello che devi fare è passare i nomi file assoluti uno dopo l'altro. Il seguente esempio dovrebbe renderlo ampiamente chiaro:

D3. Cosa succede se il nome del file è anche il suo nome assoluto?

Se l'input è semplicemente un nome di file (non quello assoluto, completo di albero di directory), nell'output viene prodotto un punto (.).

Se dai di nuovo un'occhiata alla descrizione della pagina man del comando (menzionata all'inizio), questo comportamento è chiaramente menzionato lì.

D4. Come sostituire una nuova riga con NUL nelle righe di output?

Per impostazione predefinita, le righe nell'output sono separate da una nuova riga, come risulta dalla Domanda e risposta 2 precedente. Tuttavia, se lo desideri, puoi invece separare le righe di output da caratteri NUL. Per questo, utilizzare l'opzione della riga di comando -z.

Ecco uno screenshot di questa opzione della riga di comando in azione:

Si osservi che le righe di output non erano più separate da una nuova riga.

Conclusione

Il comando dirname potrebbe non essere così ricco di funzionalità come alcuni degli altri comandi di Linux, ma non sarebbe sbagliato affermare 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 lo strumento offre. In caso di dubbi o domande, lascia un commento qui sotto.