Seis economizadores de tempo no terminal Linux
ComoAliases
Usando o terminal no Linux pode ser mais rápido e mais produtivo do que usar uma interface gráfica, especialmente com operações repetidas. Para tirar o máximo proveito disso, ajuda a conhecer alguns dos segredos da concha.
Você costuma se encontrar digitando as mesmas opções de comando várias vezes? Você às vezes tem dificuldade em lembrar as opções corretas? Você é simplesmente preguiçoso e quer evitar a digitação sempre que possível? Se você respondeu sim a qualquer um desses, os aliases são para você.
Você já tem alguns aliases de shell configurados. Para listá-los, digite:
alias
que retornará entradas como esta (do Ubuntu):
alias ll = "ls -alF"
alias ls = "ls --color = auto"
O primeiro desses exemplos é simples - se você digitar ll, corre ls -A. O segundo é mais inteligente, já que o alias é o mesmo que o nome do comando, então o comportamento antigo do ls desaparece e é sempre executado com o nome do comando. --color = auto opção.
Se você se encontrar sempre usando certas opções com comandos específicos, aliases como esse efetivamente tornam essas opções os padrões.
O alias é expandido antes que o restante da linha de comando seja interpretado, portanto:
ll X Y Z
torna-se
ls -alF X Y Z
Esses aliases nem sempre são fáceis de lembrar, mas não temam - você pode criar seus próprios aliases usando exatamente a mesma sintaxe da saída do comando alias:
alias myalias = "somecommand --option1 --option2"
Aliasing um comando para o seu próprio nome é um truque legal, mas e se você precisar usar o comando original? Não se preocupe - os desenvolvedores pensaram nisso. Prefixe o comando com uma barra invertida e seu alias será ignorado:
\ ls Documentos
Anterior Página 1 de 6 Próxima Anterior Página 1 de 6 PróximaPerfis
Você pode personalizar sua experiência de terminal com aliases e prompts personalizados, mas para torná-los ainda mais convenientes, você precisa aplicá-los automaticamente ao abrir um terminal..
Isso pode ser feito através de seu perfil, que é um arquivo contendo comandos que são lidos e executados sempre que você abre uma sessão de shell..
Existem vários locais que são lidos, o primeiro dos quais é / etc / profile, que contém configurações de perfil global. Isso, por sua vez, executa todos os arquivos /etc/profile.d, o que facilita a adição de configurações globais sem tocar no perfil padrão.
Em seguida, o perfil do usuário é lido de um dos /.bash_profile, /.bash_login e /.perfil. Somente o primeiro desses arquivos que existe é executado, e quaisquer configurações aqui substituem as do perfil global se a mesma coisa estiver definida em ambos.
O perfil é simplesmente um conjunto de comandos shell, um por linha, que são executados quando o shell é inicializado. Eles podem configurar aliases, variáveis de ambiente ou definir o prompt de comando. Um uso típico de variáveis de ambiente seria alterar o editor de texto padrão para nano:
EDITOR = / usr / bin / nano
Anterior Página 2 de 6 Próxima Anterior Página 2 de 6 PróximaConclusão da palavra
Se você não é um datilógrafo de toque particularmente confiante, em breve você se cansará de digitar nomes de comandos e arquivos na íntegra, depois lidará com as mensagens de erro resultantes de erros ortográficos. Felizmente, o shell fornece uma maneira de salvar a digitação e evitar erros chamados conclusão de tabulação..
O nome é bastante auto-explicativo - ele usa a tecla Tab para completar a palavra que você está digitando. Se esta for a primeira palavra em uma linha, será um comando, por isso procura no caminho do comando por correspondências, por exemplo, digitando chm e bater Tab vai completar para chmod.
Usado após o comando, a guia conclui os nomes dos arquivos, em vez de digitar:
gato / caminho / diretório de domelong / domo de longevento
você pode usar:
cat / pa [pressione TAB] som [pressione TAB] som [pressione TAB]
Não é mais fácil? Quando mais de um arquivo corresponde, a tecla Tab será concluída até o ponto em que se torna ambíguo; Pressionar Tab novamente neste ponto mostra uma lista de opções, que você pode percorrer com Tab, ou adicionar outra ou duas letras e pressionar Tab novamente. Na verdade, é muito mais fácil de usar do que descrever - apenas tente.
Anterior Página 3 de 6 Próxima Anterior Página 3 de 6 PróximaCuringas
Há momentos em que você deseja incluir mais de um arquivo em um comando, mas não quer digitá-los todos. O shell do Linux tem alguns operadores "curinga" para ajudar nisso. O mais usado é a estrela, que é usada como um substituto para qualquer sequência de caracteres.
assim * por conta própria corresponderá a todos os arquivos no diretório atual (que é diferente dos shells do MS-DOS onde * não corresponde . e você precisa usar * * para corresponder a qualquer arquivo com uma extensão).
Você também pode usar * para corresponder a uma parte de um nome de arquivo: *.TXT corresponde a todos os arquivos que terminam com .txt e um * .txt corresponde apenas àqueles que também começam com um.
Essa correspondência é executada pelo shell. Ele expande as correspondências para uma lista de arquivos antes de passá-las para o comando, que nunca vê o curinga ou sabe que você usou um.
Isso pode ser uma distinção importante, especialmente se você quiser passar * para o programa que você está executando. Por exemplo, digamos que você esteja usando scp para copiar arquivos de um computador remoto e execute o seguinte:
scp user @ othercomputer: Documentos / *. txt Documentos /
Você pode esperar que isso copie todos os arquivos .txt do diretório Documentos do outro computador para o mesmo aqui, mas não. O shell expande o *.TXT para corresponder todos os arquivos .txt no sistema local, para copiar apenas os arquivos que você já possui.
Nesse caso, você precisa dizer ao shell para não expandir o * precedendo-o por uma barra invertida, conhecida como escape:
scp user @ othercomputer: Documentos / \ *. txt Documentos /
Agora passa Documentos / * .txt inalterado para o computador remoto e deixa seu shell lidar com a expansão.
Há um segundo caractere curinga também. Enquanto * corresponde a qualquer número de caracteres, incluindo nenhum, ? corresponde exatamente a um. assim ab? .txt corresponde a abc.txt e ab1.txt, mas não ab.txt ou abcd.txt, enquanto ab * .txt corresponderia a todos eles.
Anterior Página 4 de 6 Próxima Anterior Página 4 de 6 PróximaSubstituição de comando
Existe um recurso poderoso em shells chamado substituição de comando. Isso permite que você incorpore a saída de um comando em outro.
Como um exemplo simples, digamos que existe um comando chamado foo no seu sistema e digamos que você queira saber que tipo de programa é: compilado, Python ou até mesmo um shell script. o qual comando lhe dá o caminho para um programa, e Arquivo relata o tipo de um arquivo. Você poderia usar:
qual foo
para obter / usr / local / bin / foo e depois
arquivo / usr / local / bin / foo
para obter o tipo de arquivo, mas mesmo com copiar e colar, isso é muito trabalhoso e fácil de digitar. Alternativamente, você poderia fazer:
arquivo $ (que foo)
/ usr / local / bin / foo: um script / usr / bin / perl, executável de texto ASCII
O que acontece é que o shell roda o que está dentro $ (...) e substitui a saída daquela na linha de comando antes de executá-lo. Você também pode usar backticks para isso:
arquivo 'which foo'
Isso é mais rápido de digitar, mas menos legível, especialmente quando postado em um fórum onde a fonte do leitor pode fazer ' e ' parece similar. Com o primeiro formato não existe tal confusão.
Anterior Página 5 de 6 Próxima Anterior Página 5 de 6 PróximaTime-savers terminais: repita
Uma das grandes vantagens do shell é que é simples repetir comandos, não importa o quão complexo, com alguns pressionamentos de tecla. Na sua forma mais simples, você pode pressionar a tecla para cima para mostrar os comandos anteriores, em seguida, pressione Enter para executar o seu escolhido novamente.
Você também pode editar o comando antes de executá-lo, se quiser. Tudo bem se você quiser usar um dos últimos comandos que você executou, mas a maioria dos shells mantém um histórico dos últimos 500 ou mais comandos que você pode acessar novamente.
Para evitar o desgaste da tecla de seta para cima do teclado (e dos olhos), pressione Ctrl-R e digite uma parte do comando. O terminal mostrará o comando mais recente que corresponde ao que você está digitando, atualizando com cada tecla pressionada..
Se você executou vários comandos muito semelhantes, não precisa continuar digitando - basta digitar alguns caracteres e pressionar Ctrl-R novamente para ver a correspondência anterior. Continue até encontrar o que você quer. (Não se assuste - essa é uma daquelas coisas que demora muito mais para descrever do que para realmente fazer.)
Você pode editar o comando antes de executá-lo. O termo de pesquisa que você digita não precisa ser o comando em si - qualquer parte da linha de comando corresponderá, então você pode começar com o nome do arquivo.
Você também pode acessar comandos dentro do histórico diretamente. o ! personagem diz ao shell que você está se referindo a sua história. !! é um atalho para o comando anterior enquanto !-n significa 'executar o comando run n comandos atrás '(assim !! é o mesmo que !-1). !xyz executa o último comando começando com xyz e !?xyz faz o mesmo para o último comando contendo xyz (da mesma forma que o Ctrl-R).
- Este artigo foi fornecido à TechRadar pelo Linux Format, e cada edição da revista está repleta de análises de notícias, recursos detalhados sobre tópicos vitais do Linux, guias de codificação, projetos Raspberry Pi e Maker, e muito mais. Assine a versão impressa ou digital do formato Linux Aqui