- Je me demandais où je pouvais trouver et
apprendre une idée générale sur
l'interface de ligne de commande utilisée sous Linux
et bash ? -
Pour l'instant, j'ai trouvé des éléments de
ces informations uniquement à partir de
l'expérience, comme- Pour cat, sans aucun
argument supplémentaire, il accepte l'entrée stdin.
Mais vous pouvez spécifier explicitement STDIN
en utilisant le nom spécial-
, et les deux manières
sont équivalentes.cat
peut aussi
accepter un nom de fichier commecat filename
.
Tout comme-
destiné à remplir un
argument supposé pour le nom de fichier ? Est-ce
cette utilisation de-
également commun pour
d'autres commandes ? - Dans
chardet <<<somestring
,<<<
signifie qu'une chaîne est utilisée comme stdin,
identique àecho somestring |
. Est-ce l'utilisation de
chardet<<<
également courant ? - Dans
cut -c 1-3,20,25- employees
, est
la manière1-3,20,25-
spécifier une
plage de nombres pour un argument
également courant dans d'autres commandes ?
- Pour cat, sans aucun
- Enfin, ces idées générales
sont-elles communes uniquement à
bash, ou à Linux et Unix, ou
à des logiciels utilisant getopt comme
analyseur de ligne de commande ?
Réponse acceptée :
Je recommande de lire un livre sur l'utilisation du shell et de la ligne de commande unix ou Linux, afin d'apprendre l'utilisation de base et de se faire une idée de certaines fonctionnalités avancées. Ensuite, vous pouvez vous tourner vers la documentation de référence.
L'utilisation de commandes spécifiques est décrite dans leur manuel. man cat
affichera le manuel du cat
commande sur votre système. Les pages de manuel sont généralement des références, pas des didacticiels, bien qu'elles contiennent souvent des exemples. Sous Linux, cat --help
affiche un message d'utilisation concis (destiné à une lecture rapide lorsque vous connaissez déjà les principes fondamentaux et que vous souhaitez trouver une option pour une tâche spécifique).
La norme POSIX spécifie un ensemble minimum de commandes, d'options et de fonctionnalités du shell que chaque système Unix est censé prendre en charge. La plupart des systèmes actuels prennent généralement en charge POSIX:2004 (également connu sous le nom de Single UNIX version 3 et Open Group Base Specifications issue 6). Les logiciels GNU (les utilitaires trouvés sur Linux) ont souvent de nombreuses extensions à cet ensemble minimum.
Il existe des conventions communes pour les arguments de ligne de commande. POSIX spécifie les conventions d'utilitaires que la plupart des utilitaires suivent, en particulier :
- Les options consistent en
-
suivi d'une seule lettre ;-ab
est un raccourci pour-a -b
. --
signifie la fin des options. Par exemple, dansrm -- -a
,-a
n'est pas une option mais un opérande, c'est-à-dire un fichier sur lequel agir, donc cette commande supprime le fichier appelé-a
.- Un seul
-
signifie entrée standard, où un fichier d'entrée est attendu. Il représente la sortie standard où un fichier de sortie est attendu.
Les utilitaires GNU et autres prennent également en charge les "options longues" de la forme --name
. Certains utilitaires vont à l'encontre de la convention générale et prennent des options multi-lettres avec un seul tiret :-name
.
La redirection est une fonctionnalité du shell, vous la trouverez donc dans le manuel de votre shell. <<<
utiliser une chaîne comme entrée standard est une extension ksh, également prise en charge par bash et zsh. Tant que le shell le prend en charge, il peut être utilisé sur n'importe quelle commande.