Uso da linha de comando com dislexia

57

Eu sou novo no Linux e, sendo disléxico, acho que trabalhar em uma linha de comando é um desafio. Que ajudas ou conselhos estão disponíveis para ajudar a trabalhar com esse problema?

Dale Davidson
fonte
4
Quando você arrasta um arquivo para o terminal, ele automaticamente imprime o caminho completo. Quando você pressiona a tecla de seta para cima, ela imprime automaticamente o último comando.
Karel
21
É uma boa pergunta, mas acho difícil imaginar quais são seus problemas. Por favor, editar e explicar exatamente o que desafia você a maioria. As soluções possíveis podem ser mais simples do que você pensa (veja outros comentários).
sobremesa
6
Os atalhos do teclado ajudam muito , encontre outros úteis aqui: askubuntu.com/q/45521/507051 e askubuntu.com/q/444708/507051
dessert
4
Para economizar tempo digitando um caminho longo para um arquivo, arrasto o ícone do arquivo para o terminal para imprimir o caminho do arquivo e copie / cole-o no próximo comando.
22418
3
O Zsh pode realmente corrigir letras trocadas automaticamente nos nomes de comando! (As páginas de manual têm mais informações.)
SilverWolf

Respostas:

90

Você pode tentar algumas coisas para melhorar sua experiência com a linha de comando.

  1. Use o preenchimento de tabulação (preencha automaticamente comandos parcialmente digitados pressionando Tab) sempre que possível.
  2. Pressione (tecla de seta para cima) para imprimir automaticamente o último comando e mantenha pressionado & (teclas de seta para cima e para baixo) para percorrer o histórico de comandos.
  3. Arraste um arquivo para o terminal para imprimir automaticamente o caminho completo.
  4. Pressione Alt+ .(ponto) para inserir o último argumento do último comando que você executou (útil para, por exemplo, mkdirseguido de cd).
  5. Use atalhos de teclado (veja isto e isto ).
  6. Use aliases do Bash (veja isso e isso ).
  7. Use history, você pode visualizar o histórico do comando e, em seguida, use o número do comando histórico para executar novamente o comando (por exemplo, refazer o comando # 352 com !352). Alias ​​é simplesmente hpara acesso rápido e fácil.
  8. Use uma pesquisa de terminal reversa ( Ctrl+ Re comece a digitar) para corresponder aos comandos anteriores; é uma maneira rápida de encontrar coisas anteriores.
  9. Use um shell que conclua comandos e argumentos opcionais como Zsh ou fish .
  10. Use uma fonte que aumente a legibilidade para leitores com dislexia , por exemplo, " OpenDyslexic ", no Terminal.
  11. Ouça o que está na tela enquanto lê; habilite um leitor de tela como o Orca . Você pode ler apenas uma palavra, uma página inteira, soletrar palavras letra por letra, alterar velocidade, volume, nível de detalhe etc.
  12. Amplie uma parte da tela enquanto lê; dê uma olhada nos aplicativos que ampliam com atalhos de teclado, como o Magnifier .
  13. Avançado: personalize a maneira como a saída é exibida, como definir cores de texto condicionais. A distribuição padrão do Ubuntu fornece vários aprimoramentos ao Terminal. Quando você usa lspara listar o conteúdo de um diretório, por exemplo, os subdiretórios são impressos em azul e os nomes dos arquivos são impressos em branco, facilitando a distinção entre os dois. Para outros exemplos, dê uma olhada nas muitas personalizações que as pessoas compartilharam. Alguns certamente valerão a pena tentar "como estão". Um bom ponto de partida é o popular repositório Awesome dotfiles .
pomsky
fonte
11
@ Flith É suposto ser em !352vez de history 352, innit?
22418 Pomsky
2
Até agora, mudei para a fonte disléxico e habilitei as cores no terminal. Isso ajudou na leitura e nas dores de cabeça. Ainda vasculhando os livros Ubuntu Unleashed e Linux Bible. Vim e alguns dos outros editores podem fornecer algumas respostas.
Dale Davidson
Ctrl + R - nunca vi isso antes. Isso é incrivelmente útil
Noel Evans
16

Vou tentar uma resposta abrangente. Se eu deixei algo de fora, por favor comente e eu o adicionarei.

Tab conclusão

A conclusão da guia é sua maior ajuda aqui. Pressionar Tabcompletará o comando até onde for identificável exclusivamente. Pressionar Tabduas vezes fornecerá uma lista de opções. Digitar caracteres suficientes para identificar qual opção você deseja e pressionar Tabnovamente a completará. Isso também funciona com nomes de caminho / arquivo.

Por exemplo, digamos que eu tenha um usuário chamado Paul e ele tenha o arquivo text123.txt e text124.txt na pasta Downloads:

Eu poderia digitar / he Tabbash vai me dar /home/. Então digite P Tabe pegue /home/Paul/. E continue dessa maneira até que eu tenha o arquivo e o caminho completos.

Expansão do caminho / nome do arquivo

O preenchimento automático também aceita curingas *e ?. ?corresponde a um único caractere e *corresponde a todos os caracteres (ou nenhum). Usando o exemplo acima, eu poderia digitar:

/h*/P*/Dow*/t*4*então Tabe bash vai me dar /home/Paul/Downloads/text124.txt. Se eu tiver certeza de que estou correspondendo ao arquivo correto, basta clicar Enterpara executar o comando sem expandi-lo primeiro.

Algumas referências de diretório comuns são:

  • ~ para o seu diretório pessoal.
  • .. Diretório Parental
  • .diretório atual; caso você queira ter certeza absoluta de que o bash está no diretório certo.

Atalhos do teclado

As teclas de seta para cima e seta para baixo permitem navegar por uma lista de comandos usados ​​recentemente. Pressione Ctrl+ Gpara sair do modo de busca de histórico. Alt+ .repete o último argumento do comando anterior.

Pseudônimo, suposto nome

O Bash permite especificar aliases. Se você achar que digita incorretamente um comando da mesma maneira, pode adicionar aliases personalizados editando ~/.bashrce adicionando linhas como esta:

alias agi='apt-get install'
alias mkdri='mkdir'

Em seguida, faça logon novamente para ativá-los.

ravery
fonte
4
~não é umalias , é bastante ampliado por bashcomo descrito na EXPANSÃO / Expansão Tilde emman bash - ~é expandida para $HOME, ~+de $PWDe ~-para $OLDPWD, por exemplo. Você pode definir, por exemplo, alias ~='cd ~'e é muito útil retornar rapidamente ao diretório inicial, mas isso é totalmente diferente (e não prejudica) a expansão.
dessert
Bem, man bashtem uma seção inteira EXPANSION... Você já cobriu um pouco da expansão do nome do caminho.
dessert
No meu sistema, não consigo fazer com que a maioria das outras expansões funcionem na CLI. Mas eu vou reorganizar para corrigir a explicação do til.
Ravery
11
@WJAndrea: O shell tem algum suporte especial para ..e .; por exemplo, cd ..na verdade , remove o último segmento do caminho do diretório de trabalho atual, em vez de adicionar um ..segmento.
Ruakh 12/0218
11
@WJAndrea e ravery: Ctrl + G sai da pesquisa do histórico de comandos que você inicia com Ctrl + R. Depois de iniciado, basta digitar o início de um comando e ele mostrará o mais atual. Percorra os comandos correspondentes com Ctrl + R, execute um comando com Enter ou edite-o com uma tecla que altera a posição do cursor, por exemplo, Início, Fim, setas etc. Este modo de pesquisa é extremamente útil se você deseja encontrar um comando recente pressionando seu nome - experimente, isso vai explodir sua cabeça. ;)
dessert
12

O shell Zsh (ou pelo menos a versão que estou usando, Oh-my-ZSH ) possui um recurso que o corrige se você fizer pequenos erros de digitação nos nomes de comando e arquivo:

$ pyhton scirpt.py
zsh: correct 'pyhton' to 'python' [nyae]? y
zsh: correct 'scirpt.py' to 'script.py' [nyae]? y
...

Você pode ativá-lo com a seguinte linha no seu .zshrc:

# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
Graipher
fonte
pode ser feito automático? Eu sei que está pedindo problemas, mr fr- ./ -oe--rvoeorrpne-st->zsh: automatically correcting to rm -rf / --no-preserve-root
cat
11
@cat Não tanto quanto eu sei. A razão que você deu é uma das razões, mas isso também impediria que você fizesse coisas legítimas mv file1 file1.old, porque corrigia o segundo nome do arquivo para o primeiro, tornando-o no-op.
Graipher
11
O tcsh também faz isso.
Peter - Restabelece Monica
11

Você pode tentar usar a fonte disléxico aberta no seu terminal. Isso pode ajudar na leitura do texto. Isso pressupõe que você esteja usando o terminal ubuntu padrão, que espero seja o mesmo que o terminal GNOME.

https://opendyslexic.org/

  1. Baixe.
  2. Instale a fonte.
  3. Abra um terminal, navegue até a barra de menus e selecione Editar-> Preferências do perfil
  4. Ative a fonte personalizada e selecione a fonte mono disléxico aberta.
HSchmale
fonte
A instalação pode ser feita com sudo apt install fonts-opendyslexic.
Chai T. Rex
2

Para completar a resposta de @pomsky, gostaria de acrescentar alguns pontos:

  • Aprenda a automatizar as coisas, especialmente saiba como os forloops funcionam, como readfunciona, como iffunciona, o que são [ ]e [[ ]], use o modo estrito não oficial do bash , porque uma vez que um script é válido, é mais fácil não cometer erros.

  • se puder, instale o pacote bash-complete (pode vir com nomes diferentes de acordo com as versões)

  • Use rmcom a -ichave quando estiver em situações perigosas (como com sudo), ou talvez instale e use rmtrash(o que colocará lixo no lixo)

  • Use cpcom a -nopção, que não substituirá os arquivos existentes ao copiar. (Claro, mais útil ao copiar recursivamente)

  • Aprenda a usar o ~/.bashrcarquivo, ele pode tornar a $PS1variável mais clara para você.

E talvez o mais difícil se você é jovem:

  • Tente conhecer um pouco melhor o estado da arte e as ferramentas comuns do que você está fazendo.

    • Por exemplo, se você é um aluno que está aprendendo a desenvolver com o c ++, tente configurá-lo $CXXFLAGSno seu ~/.bashrc. (Por exemplo: de export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "acordo com a sua versão do c ++, é claro, então acho que o c ++ 11 para o ubuntu), compile make main.cppe suas opções serão transferidas. Observe que esse conjunto de opções é bastante severo: tudo correto e padrão serão vistos como um erro e impedirão a compilação.
Pierre-Antoine Guillaume
fonte
2

Experimente o shell interativo amigável "FISH". Disponível nos repositórios.

Eu costumava lutar com a linha de comando usando o BASH. Fish lembra todos os últimos comandos e oferece a conclusão. sudo apt instala peixe então no tipo bash; peixe. Se você gosta, procure instruções sobre como torná-lo seu shell padrão. Existem outras conchas disponíveis; PEIXES é a minha escolha. Depois de começar, você pode gostar.

user73028
fonte
2

Aprendi que era disléxico depois de ser um engenheiro do Unix e um usuário de shell proficiente por muitos anos em muitas plataformas diferentes (Linux, AIX e Solaris).

A dislexia afeta pessoas diferentes em diferentes graus, de modo que a suposição de que "vemos as coisas fora de ordem" pode ser uma simplificação e frustrante demais se não afetar você dessa maneira - na verdade, acho a fonte padrão de largura fixa dos terminais extremamente legível ( branco sobre preto parece bom para mim)

É difícil aprender as conchas com muitos acrônimos e convenções não intuitivas para navegar, o que geralmente dificulta a aprendizagem para pessoas que gostam de palavras simples com padrões regulares.

Agora entendo que a maioria dos disléxicos aprende e memoriza com a experiência em primeira mão. Somos muito pobres em aprender rotineiramente ou consumir muita teoria prolixo. Uma vez digerida a teoria por aplicação, no entanto, ela geralmente se mantém rápida com um profundo entendimento intrínseco. Para esse fim, concentre-se em encontrar exemplos de shell e testá-los digitando-os manualmente e entendendo o que cada linha faz. Experimente, quebre coisas, fique acordado a noite toda consertando.

Com o tempo, você se lembrará de mais e mais comandos e identificar padrões na maneira como os desenvolvedores implementaram seus programas que podem ser aplicados ao próximo comando. No entanto, nem todos os comandos seguem as mesmas convenções ao passar argumentos / parâmetros, por isso levará um tempo para aprender os comandos que são semelhantes.

Como qualquer outra pessoa, depois de alguns anos, isso se tornará uma segunda natureza. Com o tempo, no entanto, você poderá obter a vantagem disléxica, onde intuitivamente sabe como resolver soluções e realizar análises complexas de causas-raiz, usando sua capacidade de sexto sentido para detectar padrões ou quebras de padrões.

Com exceção do preenchimento de guias e dos principais conselhos, acho que a maioria das respostas só tornará a experiência ainda mais impressionante. Ignore-os. Simplificação é a chave

Alastair McCormack
fonte
2

Existe uma ferramenta que fica entre uma piada e um ajudante de valor inestimável.

https://github.com/nvbn/thefuck

Você pode experimentá-lo, além de outras recomendações neste tópico. A idéia principal é que, quando você escrever algo e receber o comando desconhecido ou qualquer outra coisa, essa ferramenta irá corrigi-lo e executá-lo novamente.

Não é uma bala de prata, mas pode valer a pena tentar.

MariusSiuram
fonte