Soy nuevo en Linux, y siendo disléxico, el trabajo desde una línea de comandos es un desafío. ¿Qué ayudas o consejos están disponibles para ayudar a trabajar con este problema?
command-line
accessibility
Dale Davidson
fuente
fuente
Respuestas:
Puede probar algunas cosas para mejorar su experiencia con la línea de comandos.
mkdir
seguido decd
).history
, puede ver el historial de comandos y luego usar el número del comando histórico para volver a ejecutar el comando (por ejemplo, rehacer el comando # 352 con!352
). Alias simplementeh
para un acceso rápido y fácil.ls
para enumerar el contenido de un directorio, por ejemplo, los subdirectorios se imprimen en azul y los nombres de archivo se imprimen en blanco, lo que facilita la distinción entre los dos. Para otros ejemplos, eche un vistazo a las muchas personalizaciones que las personas han compartido. Seguro que vale la pena probar algunos "tal cual". Un buen punto de partida es el popular repositorio Awesome dotfiles .fuente
!352
lugar dehistory 352
, ¿no?Intentaré una respuesta integral. Si dejé algo fuera, comente y lo agregaré.
Tab terminación
La finalización de la pestaña es su mayor ayuda aquí. Al presionar Tabse completará el comando en la medida en que sea identificable de forma exclusiva. Presionar Tabdos veces le dará una lista de opciones. Si escribe suficientes caracteres para identificar la opción que desea y presiona Tabnuevamente, la completará. Esto también funciona con nombres de ruta / archivo.
Por ejemplo, supongamos que tengo un usuario llamado Paul, y él tiene el archivo text123.txt y text124.txt en su carpeta Descargas:
Podría escribir / hy Tabbash me dará
/home/
. Luego escribe P Taby obtén/home/Paul/
. Y continúe de esta manera hasta que tenga el archivo y la ruta completos.Expansión de ruta / nombre de archivo
La finalización automática también acepta comodines
*
y?
.?
coincide con un solo carácter y*
coincide con todos los caracteres (o ninguno). Usando el ejemplo anterior, podría escribir:/h*/P*/Dow*/t*4*
entonces Taby bash me dará/home/Paul/Downloads/text124.txt
. Si estoy seguro de que coincido con el archivo correcto, puedo presionar Enterpara ejecutar el comando sin expandirlo primero.Algunas referencias de directorio comunes son:
~
para su directorio de inicio...
directorio de padres.
directorio actual; en caso de que quiera estar absolutamente seguro de que bash se ve en el directorio correcto.Atajos de teclado
Las teclas de ↑flecha hacia arriba y hacia abajo le ↓permiten navegar a través de una lista de comandos usados recientemente. Presione Ctrl+ Gpara escapar del modo de búsqueda de historial. Alt+ .repite el último argumento del comando anterior.
Alias
Bash te permite especificar alias. Si descubre que a menudo escribe incorrectamente un comando de la misma manera, puede agregar alias personalizados editando
~/.bashrc
y agregando líneas como esta:Luego, vuelva a iniciar sesión para activarlos.
fuente
~
no es unaalias
, es bastante expandido porbash
como se describe en EXPANSION / Tilde Expansión enman bash
-~
se expande para$HOME
,~+
a$PWD
y~-
a$OLDPWD
por ejemplo. En realidad, puede configurar, por ejemplo,alias ~='cd ~'
y es muy útil volver rápidamente al directorio de inicio, pero eso es totalmente diferente de (y no perjudica) la expansión.man bash
tiene una sección completaEXPANSION
... Ya cubriste un poco de expansión de nombre de ruta...
y.
; por ejemplo, encd ..
realidad elimina el último segmento de ruta del directorio de trabajo actual, en lugar de agregar un..
segmento.El shell Zsh (o al menos la versión que estoy usando, Oh-my-ZSH ) tiene una función que te corrige si haces pequeños errores tipográficos en los comandos y nombres de archivos:
Puede activarlo con la siguiente línea en su
.zshrc
:fuente
mr fr- ./ -oe--rvoeorrpne-st
->zsh: automatically correcting to rm -rf / --no-preserve-root
mv file1 file1.old
, porque corregiría el segundo nombre de archivo al primero, lo que lo convierte en un no-op.Podría intentar usar la fuente disléxica abierta en su terminal. Podría ayudar con la lectura del texto. Esto supone que está utilizando el terminal ubuntu predeterminado, que espero sea el mismo que el terminal GNOME.
https://opendyslexic.org/
fuente
sudo apt install fonts-opendyslexic
.Para completar la respuesta de @pomsky, me gustaría agregar algunos puntos:
Aprenda a automatizar las cosas, especialmente aprenda cómo
for
funcionan los bucles, cómoread
funciona, cómoif
funciona, qué son[ ]
y[[ ]]
, utilice el modo estricto no oficial de bash , porque una vez que un script es válido, es más fácil no cometer errores.si puede, instale el paquete bash-complete (puede venir con diferentes nombres según las versiones)
Úselo
rm
con el-i
interruptor cuando se encuentre en situaciones peligrosas (como consudo
), o tal vez instale y usermtrash
(lo que arrojará basura a la basura)Úselo
cp
con el-n
interruptor, que no sobrescribirá los archivos existentes al copiar. (Por supuesto, más útil al copiar de forma recursiva)Aprenda a usar el
~/.bashrc
archivo, puede hacer que la$PS1
variable sea más clara para usted.Y quizás lo más difícil si eres joven:
Trate de conocer un poco mejor las herramientas de vanguardia y comunes de lo que está haciendo.
$CXXFLAGS
en tu~/.bashrc
. (Por ejemplo: deexport CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "
acuerdo con su versión de c ++, por supuesto, supongo que c ++ 11 para ubuntu), compile conmake main.cpp
y sus opciones se transferirán. Tenga en cuenta que este conjunto de opciones es bastante duro: todo lo correcto y estándar se considerará un error y le impedirá compilar.fuente
Prueba con el shell interactivo amigable "FISH". Disponible en los repos.
Solía luchar con la línea de comando usando BASH. Fish recuerda todos los últimos comandos y ofrece completarlos. sudo apt install fish luego en tipo bash; pescado. Si lo desea, consulte las instrucciones sobre cómo convertirlo en su shell predeterminado. Hay otros proyectiles disponibles; El pescado es mi elección. Una vez que comience, puede que le guste.
fuente
Aprendí que era disléxico después de ser un ingeniero de Unix y un usuario experto de shell durante muchos años en muchas plataformas diferentes (Linux, AIX y Solaris).
La dislexia afecta a diferentes personas en diferentes grados, por lo que la suposición de que "vemos las cosas fuera de orden" puede ser una simplificación excesiva y frustrante si no le afecta de esa manera: en realidad, encuentro que la fuente predeterminada de ancho fijo de los terminales es extremadamente legible ( blanco sobre negro me parece agradable)
Los shells son difíciles de aprender con muchos acrónimos y convenciones poco intuitivas para navegar, lo que a menudo dificulta el aprendizaje para las personas que disfrutan de palabras sencillas con patrones regulares.
Ahora entiendo que la mayoría de los disléxicos aprenden y memorizan de la experiencia de primera mano. Somos muy pobres aprendiendo de memoria o consumiendo una gran cantidad de teorías verbales. Sin embargo, una vez que hemos digerido la teoría por aplicación, generalmente se adhiere rápidamente con una comprensión intrínseca profunda. Con este fin, concéntrese en encontrar ejemplos de shell y probarlos escribiéndolos a mano y entendiendo lo que hace cada línea. Experimenta, rompe cosas, quédate despierto toda la noche arreglándolo.
Con el tiempo, recordará más y más comandos y patrones de puntos en la forma en que los desarrolladores han implementado sus programas que se pueden aplicar al siguiente comando. Sin embargo, no todos los comandos siguen las mismas convenciones al pasar argumentos / parámetros, por lo que tomará un tiempo aprender los comandos que son similares.
Como cualquier otra persona, después de unos años se convertirá en una segunda naturaleza. Sin embargo, con el tiempo, puede obtener la ventaja disléxica cuando intuitivamente sepa cómo resolver soluciones y realizar análisis de causa raíz complejos utilizando su sexta capacidad sensorial para detectar patrones o romper patrones.
Con la excepción de la finalización de pestañas y el consejo clave arriba, creo que la mayoría de las respuestas solo harán que la experiencia sea aún más abrumadora. Ingnóralos. La simplificación es la clave.
fuente
Hay una herramienta, que se encuentra entre una broma y un ayudante invaluable.
https://github.com/nvbn/thefuck
Puede probarlo además de otras recomendaciones en este hilo. La idea principal es que cuando termines escribiendo algo y recibas el comando desconocido o lo que sea, esta herramienta lo corregirá y volverá a ejecutar.
No es una bala de plata, pero puede valer la pena intentarlo.
fuente