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?
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?
Respostas:
Você pode tentar algumas coisas para melhorar sua experiência com a linha de comando.
mkdir
seguido de cd
).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 h
para acesso rápido e fácil.ls
para 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 .!352
vez de history 352
, innit?
Vou tentar uma resposta abrangente. Se eu deixei algo de fora, por favor comente e eu o adicionarei.
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.
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.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.
O Bash permite especificar aliases. Se você achar que digita incorretamente um comando da mesma maneira, pode adicionar aliases personalizados editando ~/.bashrc
e adicionando linhas como esta:
alias agi='apt-get install'
alias mkdri='mkdir'
Em seguida, faça logon novamente para ativá-los.
~
não é umalias
, é bastante ampliado por bash
como descrito na EXPANSÃO / Expansão Tilde emman bash
- ~
é expandida para $HOME
, ~+
de $PWD
e ~-
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.
man bash
tem uma seção inteira EXPANSION
... Você já cobriu um pouco da expansão do nome do caminho.
..
e .
; por exemplo, cd ..
na verdade , remove o último segmento do caminho do diretório de trabalho atual, em vez de adicionar um ..
segmento.
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"
mr fr- ./ -oe--rvoeorrpne-st
->zsh: automatically correcting to rm -rf / --no-preserve-root
mv file1 file1.old
, porque corrigia o segundo nome do arquivo para o primeiro, tornando-o no-op.
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.
sudo apt install fonts-opendyslexic
.
Para completar a resposta de @pomsky, gostaria de acrescentar alguns pontos:
Aprenda a automatizar as coisas, especialmente saiba como os for
loops funcionam, como read
funciona, como if
funciona, 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 rm
com a -i
chave quando estiver em situações perigosas (como com sudo
), ou talvez instale e use rmtrash
(o que colocará lixo no lixo)
Use cp
com a -n
opção, que não substituirá os arquivos existentes ao copiar. (Claro, mais útil ao copiar recursivamente)
Aprenda a usar o ~/.bashrc
arquivo, ele pode tornar a $PS1
variá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.
$CXXFLAGS
no 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.cpp
e 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.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.
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
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.