Pesquisar este blog

terça-feira, 17 de março de 2015

Comandos Linux - Mão na roda


Comandos para serem utilizando no Linux


Listando arquivos no linux que contenha uma determinada palavra em seu conteúdo.



# find / | xargs grep -s -a -i palavra_chave | cut -d : -f 1 | uniq

Serão mostrados todos os arquivos do computador que contenham esta palavra_chave. Note que você pode mudar o diretório de pesquisa no início do comando "find /". Você pode modificar por exemplo para "find /home/seu_usuário". 

No entanto existe um problema neste comando, se você tiver algum arquivo que contenha no meio do seu nome o caracter ":" , só irá mostrar a primeira parte do arquivo. 

Neste caso, que pode dar problemas, resuma o comando um pouco, mas a tela será preenchida com informações em excesso. Veja o comando abaixo: 

# find / | xargs grep -s -a -i palavra_chave | uniq

Se você quiser saber quantas vezes a palavra chave aparece, retire o comando "|uniq", será mostrado cada arquivo o mesmo número de vezes que encontrar a palavra_chave no arquivo.


Consertando permissões de arquivos e diretórios


# find /home/$USER/.* -type f -exec chmod 644 '{}' \;
# find /home/$USER/.* -type d -exec chmod 755 '{}' \;
# find /home/$USER/* -type d -exec chmod 755 '{}' \;


Explicando:
  • find → Comando de busca;
  • /home/$USER/.* → Diretório raiz da busca;
  • -type (f ou d) → Tipo a ser buscado, neste caso: f busca arquivo e d busca diretórios;
  • -exec → Execução do comando, neste caso chmod e suas devidas permissões;
  • {} → Arquivo ou diretório encontrado;
  • \; → Finalização do comando.

Obs.: A variável $USER contém o login do usuário atual.  

Nenhum comentário:

Postar um comentário