Aprenda o básico da concha do ZSH

Aprenda o básico da concha do ZSH

Objetivo

Instale o zsh com oh meu zsh e aprenda os recursos básicos.

Distribuições

O ZSH está disponível nos repositórios de quase todas as distribuições.

Requisitos

Uma instalação do Linux em funcionamento com privilégios root.

Dificuldade

Fácil

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Introdução

Bash não é ruim. Faz bem o trabalho, mas você já considerou como seria se Bash tivesse alguns recursos extras para tornar mais conveniente trabalhar com? Isso é mais ou menos o que é ZSH.

Ele inclui todos os recursos que você esperaria do Bash, mas também tem algumas adições muito boas para facilitar sua vida. Na verdade, você ficará surpreso com o quanto eles facilitam o trabalho na linha de comando.

Instale o zsh

Primeiro, você precisará instalar o ZSH. É incrivelmente popular, então você não terá nenhum problema em encontrá -lo nos repositórios da sua distribuição.

Ubuntu/Debian

$ sudo apt install zsh

Fedora

# dnf -y install zsh

CENTOS

# yum -y install zsh

OpenSuse

# zypper em zsh

Arch Linux

# Pacman -S ZSH

Gentoo

# emerge --ks zsh

Você provavelmente entendeu a ideia. É possível usar o ZSH apenas digitando -o como um comando em bash. Esse terminal em particular mudará para o ZSH temporariamente. É melhor apenas mudar permanentemente, embora. Não custará nada, e você pode fazer tudo o que normalmente faria exatamente da mesma maneira. Além disso, você pode voltar exatamente da mesma maneira, se você realmente quiser.

$ chsh -s /bin /zsh

Você pode querer re-login ou fechar todos os seus terminais para que a mudança tenha efeito.



Instale oh-my-zsh

Agora que você tem o ZSH instalado e ativado como seu shell padrão, é uma * boa ideia para pegar um complemento para o ZSH, chamado Oh-My-Zsh. É um pacote de tema e plugins que aprimora a funcionalidade existente de Zsh. Não o desacelerará ou atrapalha, então pegue isso e instale -o.

$ sh -c "$ (Curl -fsl https: // RAW.GithubUserContent.com/robbyrussell/oh-my-zsh/mestre/ferramentas/instalação.sh) "

Se você quiser ler mais sobre isso antes de instalar, confira o projeto https: // github.com/robbyrussell/oh-my-zsh.

O arquivo de configuração

Assim como Bash tem .Bashrc, Zsh tem .ZSHRC. É o arquivo único que contém as opções de configuração para o shell e você pode usá -lo para definir aliases e personalizar o comportamento do tempo de execução. A partir de agora, você realmente tem um bom conjunto de padrões graças a Oh-My-Zsh, que configurou o arquivo durante sua instalação.

Temas

O ZSH suporta a THE THE THE PROMPT. Ele vem com alguns temas embutidos, mas eles não são tão bons quanto os que vêm com oh-my-zsh. Você pode dar uma olhada na aparência do https: // github.com/robbyrussell/oh-my-zsh/wiki/temas OH-MY-ZSH WIKI.

Para mudar seu tema, aberto .ZSHRC e encontre a linha abaixo. Mude o nome do tema para qualquer um que você queira experimentar.

Zsh_theme = "Robbyrussell"

Plugins

Oh-my-zsh também trouxe uma montanha de plugins. Levaria muito tempo para cobri -los todos aqui, então verifique o https: // github.com/robbyrussell/oh-my-zsh/wiki/plugins Wiki Oh-My-Zsh para toda a lista. Independentemente de quais outros você escolhe, permitindo extrair e z É uma boa ideia. Mais uma vez, seus plugins são definidos com uma linha em .ZSHRC.

plugins = (extrato git z)

Conclusão da guia

Bash tem conclusão de guias, mas é fraco na melhor das hipóteses. Zsh leva a conclusão da guia para um novo nível. Tente digitar ls seguido pelo nome de um diretório. Após o nome, pressione a guia duas vezes em rápida sucessão. O ZSH exibirá automaticamente os arquivos e pastas dentro do diretório que você nomeou. Você pode navegar por esses diretórios usando as teclas de seta. Pressione Enter naquele que deseja ver e execute o comando.

A mesma coisa funciona com outros comandos também. Experimente com cd.

Não são apenas os diretórios que o ZSH pode completar com a guia. Funciona com comandos também. Tente digitar Mk e pressionando a guia duas vezes. Você terá o mesmo tipo de menu com comandos diferentes que começam com Mk.

Diretório de abreviação

Você odeia digitar caminhos longos de diretório? Zsh tem uma solução para isso também. Ele suporta sua própria versão de abreviação, que permite digitar apenas as primeiras duas letras de cada diretório no caminho. Isso os combinará com o caminho completo da melhor maneira possível. Se encontrar vários resultados, ele os exibirá para você escolher.

Tente entrar $ ls/u/sh/ico na guia Terminal e Pressioning. O ZSH o expandirá para o caminho completo para o diretório de ícones compartilhados.

Apelido

Esta é uma característica do Oh-my-zsh, não a própria concha, mas ainda é realmente conveniente. Oh-my-zsh vem com uma pilha de excelentes aliases para tudo que formam diretórios de navegação para programas comuns como Git e Systemd. Novamente, há mais do que há tempo para ir aqui, mas aqui estão algumas luzes.

CD… /… =… CD… /… /… =…… mkdir -p = md rmdir = rd git add = ga CurrentBranch = ggpull git push Origin 

Se você quiser conferir a lista inteira, novamente o https: // github.com/robbyrussell/oh-my-zsh/wiki/trapaceiro Wiki é a sua melhor aposta.



Z

Z Na verdade, não faz parte do Zsh ou Oh-My-Zsh, é apenas ativado como um plug-in por este último. Mesmo assim, ele se encaixa facilmente com o mesmo estilo de uso que o ZSH permite. Z é um script que acompanha os diretórios usados ​​e recentes frequentemente, para que você possa acessá -los com um único trabalho ou combinação de caracteres.

Por exemplo, se você tivesse uma pasta em /Home/User/Pictures/Photography/Canon/2017/Pics, E você o usa o tempo todo, você pode usar Z Para encurtar isso drasticamente. Com Z Você usaria o seguinte comando linux para inserir esse diretório.

$ z Pics

Sim, é tão ridiculamente fácil.

Pesquisa de processo de morte

Pode ser uma dor matar um processo que não responde. Primeiro, você precisa usar ps Para encontrar o processo ofensivo. Então, você precisa usar matar e o número do processo selecionado. Zsh simplifica esse processo. Digitar matar seguido pelo nome, ou parte do nome, do processo ou programa que você deseja matar. Em seguida, use a guia para dizer ao ZSH para descobrir o ID do processo.

Use este com um grau de cautela, embora. Digamos que você queira matar um Firefox sem resposta, mas você tem o FireJail correndo com outro programa. Digitando Mate fogo Pode não conseguir o que você está procurando, digitando Mate o Firefox Provavelmente vai. Também não é realmente uma boa ideia brincar com este como raiz. Você realmente não quer entrar em algo como matar sys e derrubar PID 1.

Comando histórico específico

Às vezes, olhar para trás no histórico de comando é uma dor gigante. Você precisa desse comando que você escreveu há 20 linhas porque você não tem certeza de quais alternantes você usou e não consegue encontrá -lo, apesar de toda a razão. Bem, o ZSH suporta a história específica do comando. Então, se você sabe que o comando que você usou foi du, digitar du E então comece a pressionar a seta para cima. Você só verá seus usos recentes do comando du.

Switch Search

Enquanto as páginas do homem são ótimas, elas não são tão convenientes quando você está apenas procurando escrever um comando único rápido. Além disso, sempre há muito mais lá do que uma referência básica dos interruptores disponíveis. O ZSH tem um recurso incrível que permite pesquisar com switches enquanto escreva seu comando. Comece o comando, escreva o painel associado ao interruptor e pressione a guia. Zsh exibirá as opções disponíveis para você. Na maioria das vezes, perguntará se você deseja que ele exiba todos os itens, pressione y confirmar.

Globbiing

Você já usou um personagem curinga para procurar algo do terminal?

$ ls -l *.png

Isso é uma forma de global. Globbing é essencialmente expressões regulares para a concha. Enquanto o Bash o apoia, o ZSH expande seus recursos de globo muito além do Bash.

Tente digitar este comando em seu /lar diretório usando o zsh.

$ ls **/*

Sim, isso é muito lixo no seu terminal. Esse comando realmente lista tudo no seu diretório atual, bem como em todos os subdiretos. Você pode usá -lo para encontrar tipos de arquivo específicos também.

$ ls **/*.TXT

Isso é tudo o que .TXT arquivos em seu /lar diretório.

Você pode especificar um nome completo de arquivo também. Tente usá -lo para encontrar tudo Leia-me arquivos em seu /lar diretório.

$ ls **/readme.*

Você também pode procurar palavras ou frases dentro dos nomes de arquivos.

## começa com leitura $ ls **/(leia)*.*## termina com leitura $ ls **/*(leia).*## contém leitura em qualquer lugar $ ls **/*(leia)*.* 

Essa é uma maneira realmente estranha de listar arquivos. Existem algumas maneiras muito fáceis de especificar arquivos e pastas.

# Arquiva apenas $ ls **/*(.) # Pastas apenas $ ls **/*(/) 

Você também pode especificar um de vários caracteres.

# Todos os arquivos que começam com $ ls **/[a]*(.) # Todos os arquivos que começam com um ou $ ls **/[aa]*(.) # Todos os arquivos que contêm o número $ ls **/*[1]*(.) # Quaisquer arquivos que terminem em uma vogal $ ls **/*[aeiouy] (.) 


Se você quiser excluir um personagem ou personagens, você também pode fazer isso.

# Arquivos que não começam com um ou $ ls **/[^aa] (.) 

Você pode procurar variações de letras também.

# Arquivos que terminam em um número $ ls **/*(.) 

Qualificadores de Glob

Existem outras opções que você pode usar para classificar e filtrar os resultados da sua pesquisa. Estes são chamados de qualificadores globais e tornam simples a pesquisa de seus arquivos.

Primeiro, você pode restringir o tamanho do arquivo com eu.

$ ls -lahs **/*(.LM+250) 

O exemplo acima mostra apenas arquivos de arquivos maiores que 250 MB em ordem de tamanho.

Então, eu restringe por tamanho. Está emparelhado com k, m, e g Para especificar unidades de tamanho. Então, há um número positivo ou negativo para definir um ponto de corte e determinar se os resultados estarão acima ou abaixo desse ponto.

Confira mais alguns.

# Liste todos os arquivos abaixo de 1 GB por tamanho $ ls -lahs **/*(.LG -1) # Liste todos os arquivos acima de 10 MB por tamanho $ ls -lahs **/*(.Lm+10) # Liste todos os arquivos que começam com um menor de 100 MB por tamanho $ ls -lahs **/[a]*(.LM-100) 

Também existem qualificadores para filtrar por modificação e acesso. Eles são m e a respectivamente. Eles podem ser emparelhados com s, m, h, d, c, e M. Esses representam segundos, minutos, horas, dias, semanas e meses.

Para listar todos os arquivos modificados dentro da semana passada, tente isto.

$ ls -lah **/*(.mw-1)

O número na declaração significa quantos da unidade olhar para trás. Isso encontraria todos os arquivos modificados nos últimos 3 dias.

$ ls -lah **/*(.md-3)

Existem outros qualificadores menos comuns para explorar, e você pode absolutamente reuni -los para restringir suas pesquisas ainda mais.

Auto correção

Este último recurso é muito bom. Todo mundo está mesmo e complicado e teve que ti. É simplesmente irritante. Zsh tenta ajudar. Se o ZSH detectar uma palavra que parece uma versão enevoada de um comando real, ele perguntará se você deseja corrigi -lo e executar o comando, salvando -se o problema de ter que redigir tudo.

Dê uma chance criando um diretório, da maneira errada.

$ mdkir em alguns vezes

Zsh para o resgate!

Pensamentos finais

Lá está, zsh em toda a sua glória. Isso não é algo que você pode ler aqui e saber imediatamente. É uma ferramenta que você pode pegar agora e usar exatamente como se você tivesse. Em seguida, você pode começar a experimentar diferentes recursos e integrá -los lentamente aos seus hábitos usuais.

Depois de começar a se acostumar com o zsh, você perceberá o quanto gosta e confia nele. Não é nada realmente revolucionário, mas fornece todos os tipos de conveniências que você provavelmente deseja que você pense ou tenha anos atrás.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Coisas para instalar no Ubuntu 22.04
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Comandos básicos do Linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Instale Arch Linux na estação de trabalho VMware
  • Download do Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Melhor distro Linux para desenvolvedores