Preciso encontrar algumas configurações enterradas em algumas pastas ocultas e não consigo me lembrar onde estão para navegar diretamente para elas Cmd + Shift + G .
Eu fiz um sudo find -name Foo*
(lento), mas nenhum dos retornados os arquivos estavam em pastas ocultas.
Qual é a maneira mais fácil de pesquisar todos os arquivos ocultos?
Comentários
Resposta
mdfind
parece ignorar muitos arquivos ocultos. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename"
lista .DS_Store
arquivos, mas não por exemplo .bash_history
. Não encontrei nenhuma maneira de pesquisar o arquivo s em alguns diretórios ocultos, como /private/etc/
.
De qualquer forma, Find Any File é muito mais rápido do que find
.
Find Any File é um programa para Mac OS X que permite pesquisar arquivos em seus discos.
- Ao contrário do Spotlight, ele não usa um banco de dados, mas usa o driver do sistema de arquivos “s operações de pesquisa rápida, quando disponíveis. Isso permite que você pesquise por propriedades de arquivo como nome, datas, tamanho, etc., mas não por conteúdo de arquivo (use Spotlight ou EasyFind para isso).
- Find Any File pode localizar arquivos que o Spotlight não , por exemplo, aqueles dentro de pacotes e pacotes e em pastas internas que geralmente são excluídos da pesquisa Spotlight.
- Finalmente, é bastante rápido. Uma pesquisa leva apenas alguns segundos em um disco rígido interno ou SSD. Tente por você mesmo!
Resposta
Presumindo que por “oculto arquivo ”você quer dizer arquivos cujo nome começa com um ponto ou que estão localizados em um diretório cujo nome começa com um ponto, e não outras formas de arquivos invisíveis , o comando a seguir imprime os nomes de todos os arquivos ocultos. É lento, pois examina todos os nomes de arquivo em todos os lugares do sistema.
sudo find / -name ".*" \( -type d -exec find {} \; -prune -o -print \)
Explicação:
-
-type d -exec find {} \; -prune
executafind
em cada diretório (cujo nome corresponda a.*
) e pula a descida para esse diretório devido ao-prune
. -
-type d … -o -print
faz com que todos os não diretórios que correspondem a.*
sejam impressos.
Se você “está procurando para um arquivo com um nome ou padrão específico:
sudo find / -name "Foo*" -path "*/.*"
O */.*
padrão em todo o caminho força as correspondências com estar em um diretório oculto.
Você pode querer adicionar -xdev
após /
para evitar atravessar sistemas de arquivos especiais e discos removíveis.
Comentários
- Ah, obrigado. E parece que -x é o preferido agora, pois -xdev está obsoleto.
Resposta
Experimente o locate
. Você terá que sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
primeiro e aguardar a geração do banco de dados de localização.
Comentários
- É ' um incômodo que o Spotlight não ' pega arquivos ocultos / (ponto-), porque mdfind é muito superior ao slocate .
Resposta
EasyFind é um aplicativo alternativo excelente para fazer o trabalho. É gratuito e fácil. Você pode pesquisar por texto em arquivos (mesmo os invisíveis). < = Esta pode ser uma maneira mais fácil de encontrar seus arquivos de configuração.
Você pode obtê-lo na App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12
Isenção de responsabilidade: Não sou afiliado ao desenvolvedor.
Comentários
- Não funciona em unidades formatadas em APFS.
Resposta
ag pode pesquisar arquivos ocultos por nome de arquivo.
Por exemplo:
ag --hidden -g ".swiftlint.yml" ~/
Como instalar
brew install the_silver_searcher
https://github.com/ggreer/the_silver_searcher
rg é mais rápido que ag.
rg --files --hidden ~/ |rg ".swiftlint.yml"
Como instalar
brew install ripgrep
https://github.com/BurntSushi/ripgrep
Comentários
- Como isso ajuda na situação descrita pelo OP (que aparentemente não ' sabe o nome dos arquivos ocultos)?
- Funciona também. Por exemplo, rg –files –hidden ~ / | rg " .swiftlint * "
Resposta
Se você deseja pesquisar .DS_Store arquivos ocultos, este comando funciona bem.
du -a | grep .DS_Store
sudo
é desnecessário, a menos que você precise pesquisar em diretórios aos quais não tem acesso. Pesquisar em diretórios ocultos não requer privilégios elevados, se ' é por que ' está sendo usado em seu exemplo.