Je suis curieux de savoir quelle astuce vous utilisez pour mémoriser les options des différentes commandes? La recherche permanente de pages de manuel prend du temps et n'est pas si cool!
man
pages est très cool ... :)
Je suis curieux de savoir quelle astuce vous utilisez pour mémoriser les options des différentes commandes? La recherche permanente de pages de manuel prend du temps et n'est pas si cool!
man
pages est très cool ... :)
Réponses:
L'astuce est simple: vous n'avez tout simplement pas. C'est une perte de temps et tout simplement pas nécessaire. La mémorisation des options de commande n'est pas une compétence particulièrement utile. Il est beaucoup plus important de comprendre comment les choses fonctionnent en général et d'avoir une vague idée des outils qui existent en premier lieu et de leur utilisation. Une compétence très importante ici est de savoir comment découvrir des choses que vous ne connaissez pas encore.
Les pages de manuel prennent du temps? Mais non. Ce n'est pas comme si vous deviez les lire - au moins, pas à chaque fois - il y a une fonction de recherche. Donc, si je ne me souviens pas quelle option cryptique était celle pour hdparm
désactiver le temporisateur inactif sur certains disques WD, je le fais man hdparm
et /idle3
et bon, c'était le cas -J
. Regarder des trucs comme ça est si rapide que je ne me souviens même pas de l'avoir fait après.
Imaginez que quelqu'un mémorise réellement toutes les hdparm
options. Quelle perte de temps.
C'est bien si vous vous souvenez simplement des options parce que vous les utilisez fréquemment. Cela se produit automatiquement sans même y penser. Mais en fait, passer consciemment du temps à les mémoriser ... à quoi cela est-il censé être bon? Un test papier?
man hdparm | less -p idle3
est également un moyen pratique de passer au terme souhaité ...
rm -i -f -r
, ln -s
, df -s -h
, cp -r -i
, ls -l -h -a
, etc. (la liste varie d' une personne à).
Zsh a la fonction run-help , par défaut liée à Alth. Avec cette fonction, vous pouvez commencer à taper une commande avec de nombreuses options complexes qui sont difficiles à retenir, comme rsync
par exemple, puis man
ouvrir la page de cette commande . Donc:
rsync Alth
lisez la man
page et déterminez les commutateurs dont vous avez besoin, appuyez sur qpuis vous revenez à votre invite de commande, exactement là où vous vous étiez arrêté, prêt à terminer la commande avec les options requises:
rysnc -azP file dir/
Comme le note le wiki:
La fonction peut être davantage personnalisée en définissant des fonctions d'assistance de la forme run-help-command. Trois fonctions de ce type sont disponibles dans la distribution standard: run-help-git, run-help-svk et run-help-svn.
bash
a bash-complete
qui fournira un grand nombre d'options de paramètres pour un grand nombre de commandes.
zsh
bash
ne prend pas en charge l'ajout de descriptions à la liste d'achèvement, ou le regroupement des entrées ( --classify -F -- append file type indicators
par exemple dans l'achèvement GNU ls de zsh) n'est donc pas aussi utile que celui de zsh.
L'utilisation d'un historique de commandes très long et sa recherche sont très utiles.
Je recueille essentiellement tous les fichiers d'historique du shell et les grep à travers eux.
Les résultats trouvés sont dans de nombreux cas très utiles, car il est facile de rechercher de bons mots clés.
En recherchant un argument spéciffique que vous avez utilisé, comme une URL, vous trouvez également les commandes et options associées. Et en recherchant des options spécifiques, vous pouvez également trouver des arguments pertinents.
La plupart des commandes ont --help pour une référence rapide, et il suffit généralement de rappeler ce que je connaissais auparavant.
Cela dit, prenez l'habitude d'écrire --help au lieu de -h ou même -?. Vous ne savez jamais ce qu'est -h avant de regarder la sortie d'utilisation ou la page de manuel. Dans le pire des cas, -h pourrait être l'abréviation de --hazardous-automatic-destruction.
--help
. -?
besoins avec citant zsh
, csh
, tcsh
ou fish
ou si des fichiers dont le nom sont -
suivis d'un seul caractère dans le répertoire courant. -:
peut être préférable là-bas.
Une option que j'aime est de créer des alias qui ont des options identiques ou similaires, par exemple
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
De cette façon, vous disposez d'un joli raccourci dont vous vous souviendrez rapidement, mais qui conservera également des informations sur les options réelles qu'il reflète.
Une autre approche avec les alias consiste à choisir les options les plus courantes et à créer un alias super court qui les utilise. Par exemple, ls
je le fais presque toujours l
et c'est parce que j'ai:
alias l='ls -alFtrG'
Une autre option consiste à simplement apporter les options que vous aimez à la commande de base, par exemple
alias ls='ls -F --color=always'
Enfin pratique, pratique, pratique et patience. Continuez à taper les options courantes et vous les apprendrez éventuellement. Les plus communs en jours, d'autres en semaines et oui certains mettent des années à se faire connaître. Considérez cela comme un régal dans la mesure où la programmation Unix continuera de vous divertir pendant longtemps.
Une autre option que j'aime est un alias pour faciliter la recherche dans mon historique et pour cela j'ai deux alias similaires:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Celles-ci me permettent de rechercher les utilisations d'une commande, par exemple:
hg ls
montrera toutes les utilisations récentes de ls de l'histoire
hga ls
montrera toutes les utilisations de ls de toute mon histoire.
J'ai développé le hg après avoir trouvé que le hga avait tendance à en montrer trop.
rm -iv
passe, OP ne se souviendra probablement pas non plus de ce qui se rmiv
passe. Je ne pense pas que ce soit le trait d'union qui soit le problème.
rm -iv
à safe_delete
ourm_prompt
Je fais généralement:
man ${CMD} | grep 'what was I thinking about?'
Ou une variante de celui-ci. Avec certains grep
s, vous pouvez spécifier -C / A / B pour le contexte , après et avant respectivement. Sinon, nl
et sed
peut être assez bien assorti:
man hdparm | #hard to forget
nl -bp'idle3' -nln -w1 | #I had to grep man to put this together
sed -n '/^[0-9]/{N;N;N;s///p}' #no print until line begins w/ number, next,next,next
Drive's "idle3" timeout value. This timeout
controls how often the drive parks its heads
and enters a low power consumption state.
The factory default is eight (8) seconds,
zero (0) to disable the WD idle3 timer com‐
pletely (NOT RECOMMENDED!).
-k Get/set the "keep_settings_over_reset" flag
Les mêmes techniques fonctionnent avec les --help
menus si vous en avez, mais vous devrez peut-être faire un ${CMD} --help 2>&1 | ..filter..
car c'est une pratique assez standard pour imprimer de telles choses stderr
.
Quoi qu'il en soit, je suppose que la morale de l'histoire est, rappelez-vous au moins man
et grep
. Peut-être ne transpire pas le reste.
grep
pages de manuel lorsque je recherche une fonctionnalité particulière, c'est assez pratique.