Saber quais comandos utilizar para localizar arquivos e fazer outros processos nos sistemas Linux/Unix é muito importante. É possível encontrar arquivos pelo seu nome, autor, tipo, permissões, data, etc. Essa pesquisa, também funciona com sub-diretórios. E se você está começando a utilizar o sistema agora e quer alguns exemplos de comandos úteis para você, na lista abaixo, apresentamos dez deles.
1. Para encontrar o caminho de todos os arquivos e sub-diretórios, utilize os comandos:
vpscheap#:~$ find . vpscheap#:~$ find . -print vpscheap#:~$ find -print
2. Para encontrar arquivos pelo nome no diretório atual:
Digamos que o arquivo desejado chama-se "vpscheap.txt", ele pode ser encontrado utilizando os seguintes comandos.
vpscheap#:~$ find -name vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Documents/vpscheap.txt
ou
vpscheap#:~$ find . -name vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Documents/vpscheap.txt
3. Para encontrar arquivos em um diretório particular:
vpscheap#:~$ find /home/ -name vpscheap.txt /home/vpscheap/vpscheap.txt /home/vpscheap/Downloads/vpscheap.txt /home/vpscheap/Documents/vpscheap.txt
4. Para encontrar arquivos em todo o computador:
vpscheap#:~$ sudo find / -name vpscheap.txt /home/vpscheap/vpscheap.txt /home/vpscheap/Downloads/vpscheap.txt /home/vpscheap/Documents/vpscheap.txt
O comando acima vai pesquisar pelo arquivo "vpscheap.txt" em todo o sistema, incluindo o diretório de root e todos os sub-diretórios.
5. Encontrar arquivos ignorando letras maiúsculas ou minúsculas:
vpscheap#:~$ find -iname vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Documents/vpscheap.txt
6. Limitar a busca até um nível de diretório específico:
vpscheap#:~$ find -maxdepth 2 -name vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Documents/vpscheap.txt
No exemplo acima, será possível encontrar o arquivo vpscheap.txt em até um nível de diretório. Se quiser dois ou mais níveis, especifique a quantidade com "-maxdepth". No exemplo abaixo, foi utilizado o número 3.
vpscheap#:~$ find -maxdepth 3 -name vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Downloads/vpscheap/vpscheap.txt ./Documents/vpscheap.txt
7. Encontrar um arquivo pelo seu formato:
Digamos que você queria encontrar um arquivo no formato .FLV, veja o exemplo:
vpscheap#:~$ find -type f -name *.FLV ./Entertainment/Video Songs/RightNow.FLV
8. Encontrar arquivos pelo seu tamanho:
No exemplo abaixo, o usuário deseja encontrar arquivos que tenham 1GB ou mais.
vpscheap#:~$ find -size +1G ./VirtualBox VMs/Ubuntu 12.10 server_ 1 nic_ Internet_ Bridge/Ubuntu 12.10 server_ 1 nic_ Internet_ Bridge.vdi ./Soft_Backup/OS Images/CentOS-6.3-i386-bin-DVD2.iso ./Soft_Backup/OS Images/CentOS-6.3-i386-bin-DVD1.iso ./Soft_Backup/OS Images/Win 7 Pro.iso
Para encontrar esses arquivos em uma pasta de diretório específica, o comando é:
vpscheap#:~$ find Soft_Backup/ -size +1G Soft_Backup/OS Images/CentOS-6.3-i386-bin-DVD2.iso Soft_Backup/OS Images/CentOS-6.3-i386-bin-DVD1.iso Soft_Backup/OS Images/Win 7 Pro.iso
Se forem arquivos com menos de 1GB, então o comando será:
vpscheap#:~$ find -size -1G
E se desejar encontrar arquivos de um tamanho específico, é só não inserir "-" ou "+".
vpscheap#:~$ find -size 10M
9. Localizar arquivos pelo nome do seu proprietário ou grupo:
No exemplo abaixo, o nome do usuário é "vpscheap".
vpscheap#:~$ find -user vpscheap -name vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Downloads/vpscheap/vpscheap.txt ./Documents/vpscheap.txt
Para encontrar arquivos de um grupo, basta substituir "user" por "group".
vpscheap#:~$ find -group vpscheap -name vpscheap.txt ./vpscheap.txt ./Downloads/vpscheap.txt ./Downloads/vpscheap/vpscheap.txt ./Documents/vpscheap.txt
10. Encontrar arquivos de acordo com suas permissões
Buscar um arquivo particular cujas as permissões sejam 777:
vpscheap#:~$ find -perm 777 -name vpscheap.txt
Buscar todos os arquivos com as permissões 777:
vpscheap#:~$ find -perm 777
Buscar arquivos que as permissões sejam somente para leitura:
vpscheap#:~$ find -perm /u=r
Buscar todos os arquivos que as permissões permitam que eles sejam executados:
vpscheap#:~$ find -perm /a=x
E para qualquer informação sobre o uso de comandos, você pode acessar:
vpscheap#:~$ man find