Neste artigo você aprenderá como localizar arquivos no Linux usando diferentes ferramentas.
As ferramentas de pesquisa de arquivos mais populares no Linux
O
Pesquisando por nome de arquivo
“Find” is one of the most popular tools to search files in Linux. When you know the file name you can search for it using command below. Replace “/home” with a folder to search through and “filename.txt” with the file name.
$ encontrar /home -nome nome do arquivo.txt
Para procurar um arquivo na pasta atual, substitua
$ encontrar. -nome Documentos.zip ./Documents.zip
Quando você não souber o nome exato do arquivo, use a expressão regular para procurar uma correspondência. O símbolo de asterisco (*) corresponde a qualquer conjunto de caracteres após o
$ find /home -name "Documentos*" /home/eugene/Documents.zip /home/eugene/Documentos /home/eugene/Telefone/Documentos
Pesquisando pela data de modificação
Para procurar arquivos que foram modificados hoje, adicione
$ encontrar /home -mtime 0
Por exemplo, vamos encontrar fotos que foram modificadas há 10 dias:
$ encontrar imagens/ -mtime 10 Fotos / Capturas de tela / Captura de tela de 2023-11-03 10-29-49.png
Pesquisando por tipo de arquivo
O
Pesquisar diretórios: Para encontrar todos os diretórios em um caminho especificado, use a opção -type d.
$ encontrar /home -tipo d
Pesquisar arquivos regulares: Por outro lado, para localizar arquivos regulares, use a opção -type f.
$ encontrar /home -type f -name "*.txt"
Pesquise links simbólicos: Para procurar links simbólicos, utilize a opção -type l.
$ find /home -type l -name "linkname"
Pesquise extensões de arquivo específicas: Restrinja sua pesquisa especificando extensões de arquivo.
$ encontrar /home -type f -name "*.jpg"
Combinando Critérios
Você pode combinar vários critérios para tornar suas pesquisas mais precisas. Aqui
Procure arquivos modificados com uma extensão específica: Encontre arquivos modificados nos últimos 7 dias com a extensão
$ encontrar /var/logs -type f -name "*.log" -mtime -7
Pesquisar arquivos modificados entre um intervalo de datas: localize arquivos modificados entre 1º de novembro de 2023 e 5 de novembro de 2023.
$ encontrar /home -newermt 01/11/2023! -newermt 06/11/2023
Adicional
Ignorando a sensibilidade a maiúsculas e minúsculas: Se você deseja que a pesquisa não diferencie maiúsculas de minúsculas, use a opção -iname.
$ find /home -iname "documento*"
Limitando a profundidade da pesquisa: Limite a profundidade da pesquisa a um nível específico com a opção -maxprofundidade.
$ encontrar /home -maxprofundidade 2 -name "*.txt"
Excluindo diretórios específicos: Exclua determinados diretórios da sua pesquisa usando -not ou ! opção.
$ find /home -type f -name "*.txt" -not -path "/home/user/exclude/*"
Lembre-se, dominar o
Pesquise pelo conteúdo do arquivo usando
Quando se trata de encontrar conteúdo específico em arquivos, o
Pesquisa de conteúdo básico: Para procurar uma string específica em um arquivo, use a seguinte sintaxe
$ grep nome do arquivo "search_string"
Substituir
Pesquise em vários arquivos: Se você quiser pesquisar vários arquivos, forneça um curinga ou um padrão de arquivo específico
$ grep "padrão" /caminho/para/arquivos/*.txt
Pesquisa sem distinção entre maiúsculas e minúsculas: Torne sua pesquisa sem distinção entre maiúsculas e minúsculas com a opção -i
$ grep -i nome do arquivo "padrão"
Exibir números de linha: Se você quiser saber os números das linhas onde o padrão é encontrado, use a opção -n
$ grep -n nome do arquivo "padrão"
Exibir apenas nomes de arquivos: Para mostrar apenas os nomes dos arquivos que contêm o padrão, use a opção -l
$ grep -l "padrão" /caminho/para/arquivos/*.txt
Pesquisar recursivamente: Se você deseja procurar um padrão em todos os arquivos de um diretório e seus subdiretórios, use a opção -r
$ grep -r "padrão" /caminho/para/diretório
Excluir arquivos ou diretórios: Exclua determinados arquivos ou diretórios da sua pesquisa com o
$ grep "padrão" --exclude=*.log /caminho/para/arquivos/*
Pesquisar palavras inteiras: Use a opção -w para pesquisar palavras inteiras, evitando correspondências parciais
$ grep -w nome do arquivo "palavra"
Avançado
Pesquisar correspondências invertidas: Inverta a correspondência para exibir linhas que não contenham o padrão especificado usando a opção -v
$ grep -v nome do arquivo "padrão"
Contando partidas: Se você quiser saber quantas linhas contém o padrão, use a opção -c:
$ grep -c nome do arquivo "padrão"
Exibindo apenas texto correspondente: mostre apenas o texto que corresponde ao padrão com a opção -o:
$ grep -o nome do arquivo "padrão"
Pesquisa recursiva com números de linha: Combine opções para uma pesquisa abrangente, por exemplo:
$ grep -r -n "padrão" /caminho/para/diretório
Dominando o
Métodos alternativos de pesquisa de arquivos
Além do poderoso
Encontre arquivos usando script Python
Às vezes, um script Python personalizado pode fornecer mais flexibilidade na pesquisa de arquivos. Aqui sistema operacional e fnmatch módulos:
importar sistema operacional
de fnmatch importar fnmatch
definição encontrar_arquivos(diretório, padrão):
para raiz, diretórios, arquivos em os.walk(diretório):
para arquivo em arquivos:
se fnmatch(arquivo, padrão):
imprimir(os.path.join(raiz, arquivo))
# Usage
encontrar_arquivos('/caminho/para/pesquisar', '*.TXT')
Este script percorre o diretório e seus subdiretórios, combinando arquivos com base no padrão especificado. Personalize o encontrar_arquivos função para atender aos seus critérios de pesquisa específicos.
O
Olocalizar” command is another efficient way to find files on a Linux system. It uses a pre-built index, making searches faster compared to the “find” command. However, keep in mind that the index needs regular updates to include recent changes.
Atualize o banco de dados de localização:
$ sudo atualizadob
Pesquisar arquivos:
$ localizar nome do arquivo.txt
Usando o
Se você
Encontre o local do executável:
$ qual executável_name
Usando
O
Instale o fd:
$ sudo apt-get install fd-find # For Ubuntu/Debian $ sudo dnf install fd # For Fedora
Pesquisar arquivos:
$ fdfind Documentos Telefone/Documentos Documentos Documentos.zip
Scripts e alias personalizados
Por último, você pode criar scripts de shell ou aliases personalizados para agilizar seu processo de pesquisa de arquivos. Por exemplo:
# Custom Alias alias findtxt='find /path/to/search -name "*.txt"' # Usage $ findtxt
Scripts e aliases personalizados permitem criar atalhos para suas necessidades específicas de pesquisa de arquivos, melhorando seu fluxo de trabalho.
Encontre arquivos no Linux usando script Bash
Criar e usar um script bash ajuda a automatizar tarefas repetitivas de pesquisa de arquivos no Linux. Abaixo está um exemplo de um script Bash simples que procura arquivos com base em um padrão fornecido:
#!/bin/bash # Bash script to find files based on a pattern if [ $# -ne 2 ]; then echo "Usage: $0 <directory> <pattern>" exit 1 fi directory=$1 pattern=$2 # Check if the directory exists if [ ! -d "$directory" ]; then echo "Error: Directory $directory not found." exit 1 fi # Use find command to search for files find "$directory" -name "$pattern" -print
Salve este script em um arquivo, por exemplo, find_files.sh, e torne-o executável com o seguinte comando:
$ chmod x find_files.sh
Agora, você pode usar o script para procurar arquivos fornecendo o diretório e o padrão como argumentos:
$ ./find_files.sh /caminho/para/pesquisar "*.txt"
Este script verifica se o número correto de argumentos foi fornecido e se o diretório especificado existe. Em seguida, ele usa o comando find para procurar arquivos com base no padrão fornecido.
Bônus: como pesquisar imagens no Linux
No Linux, existem várias ferramentas e métodos para pesquisa de imagens, cada um oferecendo recursos e capacidades exclusivos. Aqui estão algumas opções:
“find” Command with File Type Filtering:
O padrão
$ encontrar /caminho/para/imagens -type f -name "*.jpg"
O
O
$ sudo apt-get install fd-find # For Ubuntu/Debian $ sudo dnf install fd # For Fedora
Procure imagens com uma extensão específica:
$fdfind-ejpg
O
O
$ localizar '*.jpg'
Lembre-se de atualizar o banco de dados de localização regularmente para alterações recentes:
$ sudo atualizadob
“grep” Command for Specific Image Names:
Se você tiver uma convenção de nomenclatura específica para seus arquivos de imagem, poderá usar o
$ grep -r 'padrão' /caminho/para/imagens
Substituir
“file” Command
O
$ arquivo /caminho/para/imagens/*
Procure linhas que incluam
“feh” Image Viewer with Filelist
Se você tiver uma lista de arquivos de imagem e quiser visualizá-los, o
$ feh -f $(encontrar /caminho/para/imagens -type f -name "*.jpg")
Isso abre um visualizador de imagens com uma lista de todos os arquivos JPEG no diretório especificado.
Usando ferramentas de metadados de imagem
Se suas imagens tiverem metadados, você pode usar ferramentas como
$ exiftool -filename -r /caminho/para/imagens | grep 'termo_pesquisa'
Gerenciadores de arquivos gráficos
Gerenciadores de arquivos gráficos como Nautilus, Dolphin ou Thunar geralmente fornecem funcionalidades de pesquisa. Você pode navegar até o diretório e usar a barra de pesquisa.
Organizadores de imagens baseados em tags
Ferramentas como
Resumo
Concluindo, dominar a pesquisa de arquivos no Linux envolve compreender e combinar vários comandos, ferramentas e técnicas de script. Se você






