Tengo curiosidad por saber qué truco usas para recordar las opciones de varios comandos. ¡Buscar páginas de manual todo el tiempo lleva mucho tiempo y no es tan genial!
man
páginas es genial ... :)
Tengo curiosidad por saber qué truco usas para recordar las opciones de varios comandos. ¡Buscar páginas de manual todo el tiempo lleva mucho tiempo y no es tan genial!
man
páginas es genial ... :)
Respuestas:
El truco es simple: simplemente no lo haces. Es una pérdida de tiempo y simplemente no es necesario. Memorizar las opciones de comando no es una habilidad particularmente útil. Es mucho más importante entender cómo funcionan las cosas en general y tener una idea vaga de qué herramientas existen en primer lugar y para qué las usas. Una habilidad muy importante aquí es saber cómo descubrir cosas que aún no sabes.
¿Las páginas man requieren mucho tiempo? No tan. No es que tenga que leerlos , al menos, no siempre, hay una función de búsqueda. Así que si no me acuerdo qué opción críptico era el uno para hdparm
Para desactivar el temporizador de inactividad en algunos discos WD, lo hago man hdparm
y /idle3
y bueno, era -J
. Buscar cosas así es tan rápido que ni siquiera recuerdo haberlo hecho después.
Imagine que alguien realmente memoriza todas las hdparm
opciones. Que perdida de tiempo.
Está bien si solo recuerdas las opciones porque las usas con frecuencia. Eso sucede automáticamente sin siquiera pensarlo. Pero, de hecho, dedicar tiempo conscientemente a memorizarlos ... ¿para qué se supone que es bueno? ¿Una prueba de papel?
man hdparm | less -p idle3
también es una forma práctica de saltar al término deseado ...
rm -i -f -r
, ln -s
, df -s -h
, cp -r -i
, ls -l -h -a
, etc (la lista varía de persona a persona).
Zsh tiene la función run-help , por defecto vinculada a Alth. Con esta función, puede comenzar a escribir un comando con muchas o complejas opciones que son difíciles de recordar, como rsync
por ejemplo, y luego man
abrir la página de ese comando . Entonces:
rsync Alth
lea la man
página y averigüe qué interruptores necesita, presione qy luego volverá a su símbolo del sistema, exactamente donde lo dejó, listo para completar el comando con las opciones necesarias:
rysnc -azP file dir/
Como señala la wiki:
La función se puede personalizar aún más definiendo las funciones auxiliares del formulario run-help-command. Hay tres funciones disponibles en la distribución estándar: run-help-git, run-help-svk y run-help-svn.
bash
tiene bash-complete
que suministrar una gran cantidad de opciones de parámetros para una gran cantidad de comandos.
zsh
bash
no admite agregar descripciones a la lista de finalización ni agrupar entradas ( --classify -F -- append file type indicators
por ejemplo, en la finalización de GNU ls de zsh), por lo que no es tan útil como la de zsh.
Usar un historial de comandos muy largo y buscarlo es muy útil.
Básicamente recopilo todos los archivos de historial de shell y los reviso.
Los resultados encontrados son en muchos casos muy útiles, ya que es fácil buscar buenas palabras clave.
Al buscar un argumento específico que utilizó, como una URL, también encuentra los comandos y opciones relacionados. Y al buscar opciones específicas, también puede encontrar argumentos relevantes.
La mayoría de los comandos tienen --help para referencia rápida, y generalmente es suficiente para recordar lo que era algo que solía saber.
Dicho esto, ¿tiene la costumbre de escribir --ayuda en lugar de -h o incluso -? Nunca se sabe qué es -h antes de ver la salida de uso o la página del manual. En el peor de los casos, -h podría ser una abreviatura de --destrucción automática peligrosa.
--help
. -?
citando necesidades con zsh
, csh
, tcsh
o fish
, o si hay archivos cuyos nombres están -
seguidos por un único carácter en el directorio actual. -:
puede ser preferible allí
Una opción que me gusta es crear alias que tengan las mismas o similares opciones, por ej.
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
De esta manera, tiene un atajo agradable que pronto recordará fácilmente, pero que también retendrá información sobre las opciones reales que refleja.
Otro enfoque con alias es elegir las opciones más comunes y hacer un alias súper corto que las use. Por ejemplo ls
, casi siempre lo hago l
y eso es porque tengo:
alias l='ls -alFtrG'
Otra opción es traer las opciones que desee al comando base, p. Ej.
alias ls='ls -F --color=always'
Finalmente practique, practique, practique y tenga paciencia. Sigue escribiendo opciones comunes y eventualmente las aprenderás. Los comunes en días, otros en semanas y sí, algunos tardan años en darse a conocer. Piense en eso como un placer en que la programación de Unix continuará entreteniéndolo durante mucho tiempo.
Otra opción que me gusta es un alias para facilitar la búsqueda en mi historial y para eso tengo dos alias similares:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Estos me permiten buscar usos de un comando, por ejemplo:
hg ls
mostrará todos los usos recientes de ls de la historia
hga ls
mostrará todos los usos de ls de toda mi historia.
Desarrollé hg después de encontrar que hga tendía a mostrar demasiado.
rm -iv
hace, OP probablemente tampoco recordará lo que rmiv
hace. No creo que sea el guión el problema.
rm -iv
de safe_delete
orm_prompt
Yo típicamente hago:
man ${CMD} | grep 'what was I thinking about?'
O alguna variación de los mismos. Con algunos grep
s puede especificar -C / A / B para el contexto , después y antes respectivamente. Si no es así, nl
y sed
se puede combinar bastante bien:
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
Las mismas técnicas funcionan con los --help
menús si los tiene, pero es posible que deba hacer un ${CMD} --help 2>&1 | ..filter..
porque es una práctica bastante estándar para imprimir tales cosas stderr
.
De todos modos, supongo que la moraleja de la historia es, recuerda al menos man
y grep
. Quizás no te preocupes por el resto.
grep
busco páginas cuando busco una característica en particular, eso es bastante útil.