Cinco comandos de busca de arquivos no Linux

Introdução

Existem cinco comandos arquivo Pesquisando em Linux: whereis, locate, which, type, e find. Cada um deles tem suas próprias características e foi projetado para cenários de pesquisa específicos. Este guia apresentará cada comando e mostrará exemplos de usos. Para ler mais sobre qualquer um desses comandos, é melhor revisar a página de manual apropriada.

whereis

O whereiscomando é usado para procurar arquivos binários, código fonte e as páginas de manual on-line em vários diretórios de instalação padrão para qualquer nome de programa especificado.

Como whereisnão pesquisa todos os locais do seu sistema, nenhum arquivo desses diretórios específicos será encontrado. Pelo mesmo motivo, você obterá o resultado da pesquisa rapidamente, encontrado ou não.

Além disso, ele não procurará os comandos que são construídos diretamente no shell.

Por exemplo, se você deseja encontrar informações sobre o lscomando, execute o seguinte comando no seu terminal:

whereis ls

Você receberá alguns comentários como:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

No resultado, /bin/lsé o binário que você deseja localizar, os outros dois são páginas de manual do lsprograma, nenhum código fonte do lsprograma foi encontrado.

Copie o /bin/lsarquivo no seu diretório pessoal e no /usr/bindiretório e execute o whereiscomando novamente:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

Como você vê, apenas /bin/lse /usr/bin/lsforam encontrados no resultado da pesquisa. O lsprograma no diretório inicial não foi encontrado, porque o diretório inicial não é um desses diretórios de instalação padrão.

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Se você executar o seguinte comando:

whereis cd

Você verá uma saída semelhante à linha abaixo. Não foi descoberto nenhum arquivo binário porque cdé um comando interno do shell.

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

O locatecomando é usado para encontrar arquivos por nome com a ajuda de um banco de dados ( /var/lib/mlocate/mlocate.db). Esse banco de dados é basicamente um instantâneo do layout do seu sistema de arquivos. Quaisquer registros neste banco de dados que correspondam à sua consulta serão listados no resultado da pesquisa. Por padrão, o locatecomando usará sua consulta para corresponder a qualquer parte do nome inteiro de cada registro, incluindo o nome do caminho. Portanto, o número de arquivos correspondentes no resultado da pesquisa pode ser maior do que o esperado.

À medida que o banco de dados fica desatualizado, o resultado da pesquisa do locatecomando se torna menos preciso. Você pode perceber arquivos que não existem mais ou não verá correspondências para arquivos criados recentemente. Por padrão, o mlocate.dbbanco de dados é atualizado automaticamente uma vez por dia. Você pode usar o updatedbcomando para atualizá-lo manualmente.

Como a pesquisa é realizada no banco de dados, e não no sistema de arquivos, a velocidade da pesquisa é muito rápida.

Se você executar o seguinte comando:

locate ls

Você obterá muitos registros em vez do resultado esperado.

Para tornar o resultado da pesquisa mais preciso, você pode usar o -bsinalizador para restringir o intervalo de pesquisa, usando sua consulta para corresponder apenas ao nome da base de cada registro:

locate -b "\ls"

Desta vez, você obterá a localização de cada arquivo exatamente chamado lsem seu sistema de arquivos:

/bin/ls

which

O whichcomando procurará o comando que você especificou no valor da variável de ambiente PATHe retornará o primeiro resultado por padrão. Se você estiver consultando um alias, o whichcomando determinará o comando real do alias antes de executar sua pesquisa.

O whichcomando também é muito rápido devido à sua simplicidade.

O uso do whichcomando é simples:

which your_command

Se você deseja mostrar todos os comandos correspondentes em vez do primeiro, use o -asinalizador:

which -a your_command

Aqui está um exemplo para procurar um comando que foi aliasado:

which ll

O resultado da pesquisa seria:

alias ll='ls -l --color=auto'
    /bin/ls

type

Por padrão, o typecomando indicará como um nome de comando seria interpretado. Os resultados possíveis incluem um alias, uma palavra-chave, uma função, um built-in ou um arquivo. Assim como o whereiscomando, o typecomando procurará apenas em vários diretórios de instalação padrão para responder à sua consulta.

Alguns exemplos para digitar comandos diferentes:

Um comando interno do shell:

type cd

cd is a shell builtin

Um arquivo binário no sistema de arquivos:

type sudo

sudo is /usr/bin/sudo

Um apelido:

type ls

ls is aliased to `ls --color=auto'

find

Entre os cinco comandos de busca de arquivos introduzidos neste tutorial, o findcomando é o mais poderoso. É também o mais lento. Diferentemente dos outros quatro comandos, o findcomando realmente procurará seu arquivo no sistema de arquivos inteiro, um nó i por um nó i. Com o findcomando, você pode usar critérios de consulta sofisticados para encontrar todos os arquivos necessários, além de executar ações adicionais nos arquivos encontrados.

Os critérios de pesquisa para o findcomando são sofisticados demais para serem explicados em um artigo tão curto. Aqui estão alguns exemplos.

Formato básico do findcomando:

find [path] [option] [action]

Para localizar todos os arquivos no diretório de trabalho e todos os seus subdiretórios:

find

Para encontrar um arquivo chamado aaaem seu diretório pessoal e em todos os seus subdiretórios:

find ~ -name 'aaa'

Para encontrar todos os arquivos no sistema de arquivos que foram modificados nas últimas 24 horas:

find / -mtime 0

Para localizar todos os arquivos no diretório web e todos os subdiretórios que pertencem ao usuário nginx:

find /usr/share/nginx/html/ -user nginx

Para encontrar todos os arquivos no diretório ativo cujas permissões são 0744:

find -perm -0744

Para localizar um arquivo com o nome aaano diretório de trabalho e listar suas informações detalhadas:

find -name 'aaa' -exec ls -l {} \;


Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.