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?
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?
Respuestas:
Puede probar algunas cosas para mejorar su experiencia con la línea de comandos.
mkdir
seguido de cd
).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 simplemente h
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 .!352
lugar de history 352
, ¿no?
Intentaré una respuesta integral. Si dejé algo fuera, comente y lo agregaré.
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.
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.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.
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:
alias agi='apt-get install'
alias mkdri='mkdir'
Luego, vuelva a iniciar sesión para activarlos.
~
no es unaalias
, es bastante expandido por bash
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 completa EXPANSION
... Ya cubriste un poco de expansión de nombre de ruta.
..
y .
; por ejemplo, en cd ..
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:
$ pyhton scirpt.py
zsh: correct 'pyhton' to 'python' [nyae]? y
zsh: correct 'scirpt.py' to 'script.py' [nyae]? y
...
Puede activarlo con la siguiente línea en su .zshrc
:
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
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.
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ómo read
funciona, cómo if
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 con sudo
), o tal vez instale y use rmtrash
(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: de export 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 con make 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.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.
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.
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.