Depois de ler este tutorial, você saberá como simplificar a tarefa de remover os arquivos no Linux usando diferentes técnicas. Este tutorial é otimizado para usuários novos e experientes, indo direto ao ponto prático e explicando todos os aspectos. Encorajo você a praticar todos os exemplos dados para incorporar este conhecimento. Apenas tenha cuidado com o conteúdo que você exclua.
Este artigo inclui as capturas de tela de cada etapa, facilitando para todos os usuários do Linux aplicá -los.
Encontrar e excluir arquivos no Linux
Esta seção explica as diferentes técnicas para encontrar os arquivos e excluí -los em tempo real com um único comando ou com combinação de comandos.
Para começar, vamos ver o que está no diretório doméstico usando o ls (Lista) comando.
lsComo você pode ver na figura anterior, existem vários arquivos e diretórios. Entre eles, podemos ver o 1.TXT, 2.TXT e 3.TXT.
Podemos usar o comando de localização seguido pelo tipo de arquivo, o nome do arquivo e o -excluir opção.
Mas no exemplo a seguir, não removeremos um arquivo específico, mas todos os arquivos com o “.txt ”extensão.
encontrar . -tipo f -name "*.txt "-DeleteOnde:
Como você pode ver na captura de tela anterior, depois de executar o ls comando novamente, os arquivos txt não aparecem. Eles foram removidos pelo comando previamente executado.
Obviamente, você pode encontrar e excluir os arquivos específicos, como mostrado na figura a seguir, onde arquivo3 é encontrado e removido.
encontrar . -tipo F -Name File3 -DeleteConforme explicado na lista de comando e opções anteriores, se você deseja remover um diretório em vez de um arquivo, você precisa substituir o f com um d depois de -tipo opção como mostrado na imagem a seguir:
encontrar . -tipo D -Name Dir1 -DeleteVamos supor que você deseja excluir muitos arquivos cuja primeira parte de seus nomes é a mesma. Na captura de tela a seguir, você pode ver o arquivo1, File2 e arquivo3.
Se você deseja remover todos os arquivos "FILEX", você só precisará substituir a parte dos nomes dos arquivos sem coincidência com o curinga (*), como mostrado no exemplo a seguir:
encontrar . -Tipo F -name "FILE*" -DELETETodos os exemplos anteriores explicaram como excluir os arquivos usando o -excluir opção. Esta seção explica como obter o mesmo resultado usando o -exec comando.
A primeira parte do seguinte comando já foi explicada anteriormente. O comando -ex incorporado é usado para aplicar uma ação com base no resultado do comando anterior.
encontrar . -Nome "Algo.log "-exec rm -rf \;Onde:
Agora, vamos ver um novo cenário usando o comando ls novamente. Como você pode ver, existem diferentes “.arquivos txt ”.
Nesse caso, substituiremos o -excluir opção com o -EXEC RM novamente para excluir todos os “.arquivos txt ”como fizemos no segundo exemplo deste documento, mas usando uma técnica diferente.
Você pode ver o comando na terceira linha da figura a seguir. O comando LS anterior mostra os arquivos existentes antes de executar encontrar, E o segundo LS mostra o resultado com todos os “.arquivos txt ”excluídos.
encontrar . -tipo f -name "*.txt "-exec rm -f \;Agora, vamos criar um novo cenário que você possa ver no exemplo a seguir. Este cenário inclui vários “.txt "e".arquivos c ”.
Vamos supor que você deseja remover os dois .TXT e .c arquivos de uma só vez usando a opção -Delete em vez da opção -exec. Como você pode ver na imagem a seguir, os arquivos de nome estão entre o \ ( e \). Antes do segundo nome do arquivo, temos o -o opção seguida pelo -nome e o segundo nome do arquivo (ou condição neste caso, pois estamos excluindo todos os “.arquivos txt ”). Você pode adicionar o -o -name muitas vezes conforme você precisa, mas lembre -se de que o primeiro -nome não é precedido pelo -o opção.
encontrar . \( -nome "*.C "-o -name"*.txt "\) -DeleteComo você pode ver, ambos .TXT e .c Os arquivos foram removidos com sucesso.
Agora, vamos combinar o comando de localização com o comando XARGS (explicado no final deste tutorial).
No exemplo seguinte, excluímos todos os “.arquivos txt ”usando xargs, onde -EU é o espaço reservado e entre % nós executamos o comando.
Como você pode ver, após a segunda execução do LS, todos .c e .TXT Os arquivos foram removidos.
encontrar *.TXT -TYPE F | Xargs -i % rm " %"A sintaxe para excluir muitos arquivos é mais fácil com Xargs. No comando seguinte, ambos .c e .TXT Os arquivos são removidos.
encontrar *.TXT *.Tipo C F | Xargs -i % rm " %"Por fim, vamos supor que você deseja remover os arquivos por data e não pelo nome ou extensão. Nesse caso, o comando find pode identificar o mtime (datas de criação ou arquivo de modificação) dos arquivos e diretórios.
Na imagem a seguir, você pode ver o Dir2 diretório que contém 4 arquivos: arquivo1, File2, arquivo3 e arquivo4. Todos os arquivos dentro do Dir2 foram criados nas últimas 24 horas.
Identificar os arquivos é possível usando o -mtime opção seguida pelo intervalo de tempo dos arquivos. Nesse caso, o -1 a opção indica 1 dia, 24 horas. O -1 significa os arquivos criados ou modificados no último dia, enquanto +1 significa os arquivos criados ou modificados há mais de um dia.
No exemplo a seguir, usamos o comando de encontro com a opção -mtime para remover os arquivos criados ou modificados no último dia.
Encontre dir2 -tipo f -mtime -1 -DeleteXARGS vs -exec
O Xargs O comando quase sempre é implementado com tubos (mas não necessariamente precisam) para usar o primeiro comando como argumento. Ao contrário do Pipe, permite o uso do primeiro comando como um argumento e não apenas como um comando anterior de saída ou antecessor.
O exemplo a seguir nesta seção lista os arquivos e diretórios usando o ls (List) comando e move os arquivos listados para um diretório diferente com MV e Xargs comandos. Este não é o método adequado para mover os arquivos, mas é útil como um exemplo para mostrar como o Xargs Comando funciona.
Primeiro, dê uma olhada no meu Linuxhintdir diretório. Como você pode ver, temos 3 arquivos: arquivo1, File2 e arquivo3.
ls dir1 dir2Agora, vamos mover todos os arquivos dentro dir1 para Dir2 usando o MV comando.
LS ~/DIR1/* | XARGS MV -T ~/DIR2Como você pode ver, o resultado ls ~/dir1/* foi passado por Xargs depois de MV comando.
O -exec O comando é semelhante a Xargs. Ele pode executar comandos com base na saída do primeiro comando. Ao contrário de Xargs, -exec executa o comando toda vez que um arquivo corresponde à condição. Se usarmos o comando -exec para remover os arquivos, ele removerá o arquivo por arquivo. Enquanto Xargs executa o comando de uma só vez para todos os arquivos correspondentes. Isto faz Xargs um pouco mais rápido que -exec. Portanto, se você estiver lidando com muitos arquivos, os Xargs seriam convenientes sobre -exec.
Conclusão
Linux tem muitos métodos para alcançar a mesma tarefa. Encontrar e remover os arquivos com um único comando é um conhecimento que qualquer usuário do Linux deve ter independentemente sua experiência. Este tutorial se concentra em encontrar e excluir os arquivos, mas Xargs e -exec podem ser usados com muitos comandos Linux. É importante mencionar que algumas funções estão disponíveis apenas no encontrar versão. A maioria das dicas explicadas é útil para quase todas as distribuições Linux.
Obrigado por ler este tutorial explicando como encontrar e excluir os arquivos no Linux. Continue nos seguindo para mais dicas profissionais.