- Mi chiedevo dove posso trovare e
imparare qualche idea generale sull'
interfaccia a riga di comando usata in Linux
e bash? -
Per ora, ho trovato pezzi di
tali informazioni solo da
esperienza, come- Per cat, senza ulteriori argomenti
, accetta l'input stdin.
Ma puoi specificare esplicitamente STDIN
usando il nome speciale-
, ed entrambi
modi sono equivalenti.cat
può anche
accettare un nome file comecat filename
.
Così è-
destinato a compilare un argomento
supposto per il nome del file? È
questo utilizzo di-
comune anche per
altri comandi? - In
chardet <<<somestring
,<<<
significa che una stringa è usata come stdin,
comeecho somestring |
. È questo l'uso di
chardet<<<
anche comune? - In
cut -c 1-3,20,25- employees
, è
la via1-3,20,25-
per specificare un
intervallo di numeri per un argomento
comune anche in altri comandi?
- Per cat, senza ulteriori argomenti
- Ultimo ma non meno importante, queste
idee generali sono comuni solo all'interno di
bash, o all'interno di Linux e Unix, o
all'interno del software che utilizza getopt come
parser della riga di comando?
Risposta accettata:
Consiglio di leggere un libro sull'utilizzo della shell unix o Linux e della riga di comando, al fine di apprendere l'utilizzo di base e avere un'idea di alcune funzionalità avanzate. Quindi puoi passare alla documentazione di riferimento.
L'uso di comandi specifici è descritto nel loro manuale. man cat
mostrerà il manuale del cat
comando sul tuo sistema. Le pagine del manuale sono generalmente riferimenti, non tutorial, sebbene spesso contengano esempi. Su Linux, cat --help
mostra un messaggio di utilizzo conciso (pensato per una rapida lettura quando conosci già i fondamenti e desideri trovare un'opzione per un'attività specifica).
Lo standard POSIX specifica un insieme minimo di comandi, opzioni e funzionalità della shell che ogni sistema Unix dovrebbe supportare. La maggior parte dei sistemi attuali in generale supportano POSIX:2004 (noto anche come Single UNIX versione 3 e Open Group Base Specifications Issue 6). Il software GNU (le utility che si trovano su Linux) hanno spesso molte estensioni a questo set minimo.
Esistono convenzioni comuni per gli argomenti della riga di comando. POSIX specifica le convenzioni di utilità seguite dalla maggior parte delle utilità, in particolare:
- Le opzioni sono costituite da
-
seguito da una sola lettera;-ab
è l'abbreviazione di-a -b
. --
significa la fine delle opzioni. Ad esempio, inrm -- -a
,-a
non è un'opzione ma un operando, cioè un file su cui agire, quindi questo comando rimuove il file chiamato-a
.- Un solitario
-
sta per standard input, dove è previsto un file di input. Sta per output standard in cui è previsto un file di output.
Le utilità GNU e altre supportano anche le "opzioni lunghe" nella forma --name
. Alcune utilità vanno contro la convenzione generale e accettano opzioni di più lettere con un unico trattino iniziale:-name
.
Il reindirizzamento è una funzione della shell, quindi la troverai nel manuale della tua shell. <<<
per utilizzare una stringa come input standard è un'estensione ksh, supportata anche da bash e zsh. Finché la shell lo supporta, può essere utilizzato su qualsiasi comando.