Comandos úteis do Linux find para Administrador do Sistema

O comando find é um dos mais amplamente utilizados no Linux OS.


Seria apenas difícil administrar um ambiente Linux sem conhecer os comandos find.

Ajuda você a pesquisar arquivos, pastas no servidor Linux e extremamente útil para a manutenção do sistema de arquivos.

Neste artigo, listei algumas das sintaxes mais comuns dos comandos find para ajudá-lo com a produtividade.

Encontre arquivos em um sistema de arquivos específico

Se você souber o nome e o sistema de arquivos, mas não tiver certeza do caminho exato da pasta, poderá usar esta sintaxe.

No exemplo abaixo, estou procurando pelo arquivo de mensagens no sistema de arquivos / var.

[[protegido por email] ~] # mensagens de find / var -name
/ var / log / messages
[[protegido por email] ~] #

Dicas: se você não souber o nome do sistema de arquivos, poderá pesquisar em / level, mas lembre-se de que pode demorar um pouco se você tiver um grande número de sistemas de arquivos.

[[protegido por email] ~] # mensagens de localização / nome
/ var / log / messages
[[protegido por email] ~] #

Se você não souber o nome exato do arquivo, também poderá usar um padrão curinga para pesquisar.

Ex – para pesquisar error_log, você pode tentar

[[protegido por email] ~] # erro find / -name_ *
/ var / log / httpd / error_log
[[protegido por email] ~] #

Que tal pesquisar o nome do arquivo com letras maiúsculas ou minúsculas, ou seja, ignorar letras maiúsculas e minúsculas?

Bem, você pode usar –iname em vez de –name.

Ex:

[[protegido por email] var] # encontrar / nomear MENSAGENS
/ var / log / messages
[[protegido por email] var] #

Vamos dar uma olhada em mais um cenário em tempo real. Se você conhece o tipo de arquivo e deseja pesquisar todos eles.

Por ex – se você estiver trabalhando no WebSphere, convém procurar todos os arquivos que terminam com .out, em seguida, tente

# find / -name * .out

Encontre arquivos com base na propriedade e nas permissões

Tendo arquivos com 777 A permissão é perigosa, pois qualquer um pode editar ou excluir; portanto, como Administrador do sistema, você pode colocar uma verificação no local para encontrar arquivos com permissões 777.

Para um ex – mostrar todos os arquivos com permissão 777 no sistema de arquivos / opt.

[[protegido por email] ~] # find / opt / -type f -perm 777
/ opt / testing
/opt/SystemOut.log
[[protegido por email] ~] #

Dicas: que tal imprimir a propriedade do arquivo, o registro de data e hora no mesmo comando de linha?

[[protegido por email] ~] # find / opt / -type f -perm 777 -exec ls -ltr {} +;
-rwxrwxrwx 1 raiz raiz 0 jul 19 03:35 / opt / testing
-rwxrwxrwx 1 raiz raiz 0 19 de julho 03:36 /opt/SystemOut.log
[[protegido por email] ~] #

Você também pode alterar a permissão de 777 para 755 em uma única sintaxe de comando find.

# find / opt / -type f -perm 777 -exec chmod 755 {} +;

Obviamente, você pode ajustar a permissão do 755 para qualquer outro que desejar.

Que tal encontrar arquivos pertencentes a usuários root ou diferentes?

Isso é muito útil se você estiver tendo problemas ao iniciar os serviços devido ao início anterior, feito pela raiz.

Por exemplo – se o tomcat é de propriedade de um usuário chamado “tomcatapp” e, por algum motivo, você começou com o root.

Adivinhe o que acontecerá quando você reiniciar da próxima vez com “tomcatapp”?

Isso não acontece porque parte da propriedade do arquivo foi alterada para raiz e agora “tomcatapp” não pode modificar / excluir esses arquivos. Então isso se torna muito útil nessa situação.

Aqui está como você pode procurar qualquer arquivo pertencente à raiz em um sistema de arquivos específico.

# find / opt / -user root

Nota: A execução dessa sintaxe de localização em / level resultará em muitos arquivos / pastas; portanto, você pode controlar isso em um sistema de arquivos específico.

Encontre arquivos anteriores a dias específicos

A manutenção do sistema de arquivos é essencial para o suporte à produção, e muitas vezes você precisa lidar com essa sintaxe para encontrar logs com mais de 60 dias (digamos).

O exemplo abaixo é para localizar o arquivo access.log com mais de 60 dias no sistema de arquivos / opt.

# find / opt / -name access.log -mtime +60

Dicas: se você decidir encontrar e excluir na mesma linha de comando, faça o seguinte. Isso encontrará o access.log com mais de 60 dias no sistema de arquivos / opt e o excluirá.

# find / opt / -name access.log -mtime +60 -exec rm {} +;

Embora isso seja muito útil, convém listar os arquivos antes de excluí-los. Para fazer isso

# find / opt / -name access.log -mtime +60 -exec ls -ltr {} +;

Encontre tamanho de arquivo grande

Em algum momento, talvez você precise lidar com a limpeza frequente do sistema de arquivos devido a um grande número de logs serem gravados pelo aplicativo devido a um problema de código, etc..

Vamos dar um exemplo de pesquisa de arquivos com mais de 1 GB no sistema de arquivos / opt.

# find / opt / -size + 1G

Dicas: Se você sabe que todos os arquivos em / opt / com mais de 1 GB podem ser excluídos, basta encontrar e excluir na mesma linha.

# find / opt / -size + 1G -exec rm {} +;

Espero que os comandos acima sejam úteis e ajudem você em tempo real.

Para saber mais sobre os comandos do Linux, confira este curso online.

TAG:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map