Como todos os usuários antigos do Linux, memorizei vários atalhos e comandos de terminal que uso continuamente. Mas também percebi que nem sempre uso essas ferramentas em todo o seu potencial. Então, aqui está a maneira certa de usá-los.
Remova atalhos ocultos das listagens de arquivos
Arquivos ocultos no Linux são poderosos e convenientes, principalmente porque são muito simples. Um arquivo que começa com um ponto (.) é um arquivo oculto. Ele não aparecerá, por padrão, em listagens de terminais e gerenciadores de arquivos.
Quando você precisar ver arquivos ocultos, basta usar o -um opção, e está tudo bem, certo?
ls -aEventualmente, porém, o “.” e “..” podem começar a incomodar você. Esses arquivos especiais são simplesmente atalhos para o diretório atual e seu diretório pai. Embora possam ser muito úteis, você não precisa saber sobre eles sempre que listar arquivos.
Felizmente, há uma solução fácil: a opção -a possui um -A correspondente, que mostra arquivos ocultos, mas oculta estes atalhos:
ls -AVocê provavelmente desejará configurar um alias para este comando ou qualquer um dos outros abordados aqui. Você pode então continuar usando ls como antes, sabendo que nunca precisará ver “.” ou “..” novamente.
Grep recursivamente sem pipe
Muitas vezes, usarei find’s executivo opção de grep para alguma coisa. Esta é uma maneira básica de emular uma tarefa de “localizar arquivos”:
find . -exec grep 'hello' {} ;Mas esse comando é demorado e com certeza não foi divertido aprender a sintaxe obscura do find. Eu me senti um tolo quando descobri que o grep tem suporte integrado para pesquisas recursivas, mas ainda estou feliz por ter feito isso! Este comando é muito mais conveniente e fácil de aprender:
grep -r 'hello'Crie diretórios profundos com um comando
De vez em quando, você desejará criar uma hierarquia de diretórios profunda como esta:
mkdir blog/2024/09/16Mas, frustrantemente, este comando falhará se os diretórios blog, blog/2024 ou blog/2024/09 ainda não existirem:
A mensagem de erro nem explica claramente qual é o problema! Felizmente, uma opção simples criará todos os diretórios ausentes, embora você possa ficar se perguntando por que esse não é o padrão. Para criar um diretório, incluindo quaisquer diretórios intermediários que ainda não existam, basta usar -p:
mkdir -p blog/2024/09/16Você pode lembrar disso pensando em “p” como uma abreviatura de “caminho” ou “pais”.
Alterne entre dois diretórios instantaneamente
Se você usa a linha de comando regularmente, estará acostumado a navegar em diretórios usando cd. Você provavelmente também está acostumado a alternar entre dois diretórios, ir e voltar para executar um comando em um, inspecionar arquivos em outro e assim por diante. Talvez você até use o comando histórico para se repetir.
Até agora, você não ficará surpreso ao saber que existe uma maneira melhor. O cd possui vários segredos, mas um dos atalhos mais úteis é o formato “cd -”:
Cada vez que você executa “cd -“, ele alterna entre os dois diretórios anteriores em que você navegou, tornando muito rápido e fácil mover-se para frente e para trás.
“cd -” imprimirá o caminho do diretório para o qual ele muda, mesmo se você tiver o diretório atual em seu prompt.
Copie diretórios com máxima fidelidade
Você já deve saber como copiar diretórios com cp -R:
cp -R docs backup-docsEste comando permite copiar estruturas de diretórios inteiras, produzindo uma cópia completa de um diretório e todo o seu conteúdo, incluindo arquivos e outros diretórios. É uma ótima maneira de fazer backup de arquivos ou criar uma cópia de um projeto maior para trabalhar.
No entanto, você pode notar que as cópias não são exatamente iguais aos originais. Seus tempos de modificação, proprietários e permissões podem ser diferentes. Por exemplo, no caso a seguir, a cópia tem um horário de modificação diferente do original:
Esses tempos diferem apenas por um minuto, mas o problema pode ser muito maior. A correção é simples: use -a (para “arquivo”) em vez de -R:
Extraia arquivos tar.gz com um único comando
Tarfiles ainda são uma das formas mais populares de distribuir coleções de arquivos no Linux, especialmente código-fonte. Eles geralmente são compactados para reduzir o tamanho durante o download ou armazenamento. Se você usou esses dois programas durante toda a sua vida no Linux, pode estar acostumado a fazer esse tipo de coisa com os olhos fechados:
gunzip archive.tar.gz tar xvf archive.tarO que primeiro descompactará o arquivo gzip e, em seguida, descompactará o arquivo tar dentro dele. Mas, graças às sensibilidades modernas, o tar pode fazer as duas coisas em uma única etapa, usando o sinalizador z em vez de x:
tar zvf archive.tar.gzEssa abordagem é mais conveniente e menos propensa a erros. Além do mais, as versões recentes do tar detectarão automaticamente os arquivos gzip e os descompactarão automaticamente! Então você pode pular direto para:
tar xvf archive.tar.gzUse cat para inspecionar arquivos rapidamente
O comando cat é assim chamado porque concatena – une – arquivos. Mas você pode estar acostumado a usá-lo simplesmente para visualizar o conteúdo dos arquivos. Nesse caso, você provavelmente não conhece algumas opções úteis que tornam a visualização de arquivos com cat um pouco mais agradável.
Primeiro, gato -s irá comprimir várias linhas em branco, tornando certos formatos de arquivo mais fáceis de visualizar em um terminal.
Segundo, gato -b adiciona números de linha à saída, mas apenas para linhas que não estejam em branco. Isso pode ser útil ao escrever referências a números de linha.
Use os dois juntos, como gato -sbe você pode usar cat como um simples visualizador de arquivos sem precisar usar um pager como less.
Obtenha uso conciso do disco
Descobrir quanto espaço um diretório ocupa é útil quando você está fazendo uma limpeza geral. Mas o comportamento padrão de du produz muitos resultados, pois informa o tamanho de cada diretório na hierarquia completa. Como resultado, você pode executar o comando várias vezes, canalizando sua saída para grep, redirecionando-o para arquivos temporários e assim por diante.
Para aliviar suas dificuldades, tente reduzir a quantidade de produção. O --max-depth A opção permite especificar quantos níveis de diretórios você reportará. Você ainda obterá tamanhos totais precisos, apenas com informações menos detalhadas sobre cada diretório na árvore. Por exemplo, verifique os tamanhos totais apenas dos subdiretórios imediatos com este comando:
du --max-depth 1Você verá resultados para o diretório atual e seus subdiretórios imediatos, sem ver o tamanho de cada diretório abaixo deles na hierarquia:
Se você quiser saber mais sobre como dominar a linha de comando, confira nosso guia sobre erros de digitação no terminal que você deve evitar a todo custo.