Crea sito
22 Ottobre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR INFORMATICO

Approfondimento: Specifica delle opzioni  

4 min read
Se è necessario aggiungere opzioni, è possibile specificarle dopo il nome del comando. Le opzioni brevi sono specificate con un trattino, seguito da un singolo carattere.  Le opzioni brevi sono come opzioni erano tradizionalmente specificati. Spesso il l’opzione è scelta per essere “mnemonico” per il suo scopo, come scegliere la lettera "a" per "tutti". Più opzioni singole possono essere fornite come opzioni separate come -a -l -r o combinate come -alr. Nel seguente esempio, l'opzione -l viene fornita al comando ls, che si traduce in un output di "visualizzazione lunga": Nota: ulteriori dettagli verranno forniti in una sezione successiva relativa alla funzione del comando ls.

Se è necessario aggiungere opzioni, è possibile specificarle dopo il nome del comando. Le opzioni brevi sono specificate con un trattino, seguito da un singolo carattere.  Le opzioni brevi sono come opzioni erano tradizionalmente specificati. Spesso il l’opzione è scelta per essere “mnemonico” per il suo scopo, come scegliere la lettera “a” per “tutti”. Più opzioni singole possono essere fornite come opzioni separate come -a -l -r o combinate come -alr. Nel seguente esempio, l’opzione -l viene fornita al comando ls, che si traduce in un output di “visualizzazione lunga”: Nota: ulteriori dettagli verranno forniti in una sezione successiva relativa alla funzione del comando ls.

Per ora, viene utilizzato solo per dimostrare come eseguire i comandi sulla riga di comando.

È possibile digitare il nome di un comando con più opzioni brevi. L’output di tutti questi

gli esempi sono gli stessi, -l fornirà un lungo elenco, mentre -r inverte l’ordine di visualizzazione dei risultati:

? ls -l -r

? ls -rl

? ls -lr

In generale, le opzioni brevi possono essere combinate con altre opzioni brevi in qualsiasi ordine. L’eccezione a ciò, è quando un’opzione richiede un argomento.

Ad esempio, l’opzione -w al comando ls specifica la larghezza dell’output desiderato e pertanto richiede un argomento.

Se combinato con altre opzioni, l’opzione -w può essere specificata per ultima, seguita dal suo argomento ed essere ancora valida, come in ls -rtw 40, che specifica una larghezza di output di 40 caratteri.  Altrimenti, l’opzione -w non può essere combinata con altre opzioni e deve essere fornita separatamente.

[email protected]:~$ ls -w 40 -T 12

Desktop Music Templates

Documents Pictures Videos

Se si utilizzano più opzioni che richiedono argomenti, non combinarli.

Ad esempio, anche l’opzione -T richiede un argomento. Per soddisfare entrambi gli argomenti, viene fornita ciascuna opzione separatamente:

[email protected]:~$ ls –all

. .bashrc .selected_editor Downloads Public test

.. .cache Desktop Music Templates

.bash_logout .profile Documents Pictures Videos

Alcuni comandi supportano opzioni aggiuntive che sono più lunghe di un singolo carattere.

Le opzioni lunghe per i comandi sono precedute da un doppio trattino – e il significato dell’opzione è in genere il nome dell’opzione, come –all.

Per esempio

[email protected]:~$ ls –all

. .bashrc .selected_editor Downloads Public test

.. .cache Desktop Music Templates

.bash_logout .profile Documents Pictures Videos

Per i comandi che supportano entrambe le opzioni long e short, eseguire il comando utilizzando contemporaneamente le opzioni long e short:

[email protected]:~$ ls –all –reverse -t

.profile Videos Pictures Documents .bashrc .

.bash_logout Templates Music Desktop ..

test Public Downloads .selected_editor .cache

I comandi che supportano opzioni lunghe spesso supportano anche argomenti che possono essere specificati con o senza un simbolo uguale (l’output di entrambi i comandi è lo stesso):

? ls: tempo di risposta

? ls –sort = time

[email protected]:~$ ls –sort=time

Desktop Documents Downloads

Esiste un’opzione speciale, il doppio trattino “solitario”, che può essere utilizzato per indicare la fine di tutte le opzioni per il comando. Ciò può essere utile in alcune circostanze in cui non è chiaro se parte del testo che segue le opzioni debba essere interpretato come un’opzione aggiuntiva o come argomento del comando.

Ad esempio, se il comando touch tenta di creare un file chiamato –badname:

[email protected]:~$ touch –badname

touch: unrecognized option ‘–badname’

Try ‘touch –help’ for more information.

Il comando tenta di interpretare –badname come opzione anziché come argomento.

Tuttavia, se il doppio trattino solitario – è posto prima del nome del file, indicando che non ci sono più opzioni, il nome del file può essere interpretato correttamente come argomento:

[email protected]:~$ touch — –badname

[email protected]:~$ls

–badname Documents Music Public Videos

Desktop Downloads Pictures Templates test

Nota: il nome del file nell’esempio precedente è considerato “errato” perché l’inserimento di trattini all’inizio dei nomi dei file, sebbene consentito, può causare problemi quando si tenta di accedere al file.

Considerare che:

Esiste un terzo tipo di opzione per alcuni comandi selezionati.

Mentre le opzioni utilizzate nella versione AT&T di UNIX utilizzavano un singolo trattino e la porta GNU di quei comandi utilizzava due trattini. La versione Berkley Software Distribution (BSD) di UNIX utilizzava le opzioni senza trattino. Questa sintassi “senza trattino” è abbastanza rara nella maggior parte delle distribuzioni Linux. Un paio di comandi notevoli che supportano le opzioni di stile UNIX di BSD sono i comandi ps e tar; entrambi questi comandi supportano anche lo stile di trattino singolo e doppio delle opzioni. Nel terminale in basso, ci sono due comandi simili, il primo comando viene eseguito con un’opzione di stile UNIX tradizionale (con trattini singoli) e il secondo comando viene eseguito con un BSD opzione di stile (nessun trattino).

[email protected]:~$ ps -u sysadmin

PID   TTY   TIME         CMD

79    ?       00:00:00 bash

122  ?      00:00:00 ps

[email protected]:~$ ps u

USER      PID   %CPU      %MEM    VSZ    RSS      TTY     STAT      START TIME     COMMAND

sysadmin 79      0.0 0.0     18176    3428     ?             S        20:23        0:00                   -bash

sysadmin 120    0.0 0.0     15568    2040     ?             R+      21:26        0:00                    ps u

Translate »