Respostas:
Antes de tudo, observe que a exclusão de diretórios vazios geralmente não é necessária. Alguns serviços ou aplicativos podem até precisar de certos diretórios para existir. Esteja ciente do que você está fazendo.
Você pode listar pastas vazias com find
, quando executadas no Terminal.app:
find . -type d -empty
Por padrão, find
lista arquivos e pastas, mas aqui o -type d
restringe a diretórios, e a -empty
opção mostra apenas diretórios vazios. Isso recursará todas as pastas descendentes do diretório inicial ( ou abreviado ). Para expandir isso para todo o seu sistema de arquivos, use:/Users/your-username/
~
find / -type d -empty
Aqui, /
significa a raiz do seu sistema de arquivos Mac OS X. Obviamente, você também pode usar qualquer outro ponto de partida, por exemplo, seu disco externo montado sob ;/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
Agora, se você deseja excluir quaisquer find
saídas, basta anexar -delete
, da seguinte forma:
find . -type d -empty -delete
Nota: Isso não solicitará confirmação . Ele excluirá todos os diretórios possíveis, ou seja, aqueles onde você tem permissão para excluir. Eles não serão movidos para o lixo, mas desaparecerão para sempre. Se você deseja ser solicitado antes da remoção, altere o comando para algo como o seguinte:
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
e empty
parece não ser capaz de reconhecer.
find
requer um caminho, então tente novamente com find . -type d
, não find -type d
(o último funciona para o GNU find
).
find
da mesma maneira que acima) e, em seguida, use o comando sugerido para remover os diretórios vazios restantes.
Eu criei um programa pequeno e gratuito que resolve isso melhor:
http://www.macupdate.com/app/mac/52551/find-empty-folders
A vantagem deste programa é que ele também encontra pastas aparentemente vazias, mas que contêm o arquivo ".DS_Store" invisível.
E também permite mover os itens encontrados para a Lixeira imediatamente.
find ~/Documents -type f -name 'Icon?' -print -delete;
Para promover esse esforço:
Eu criei um script que eu uso para limpar minha pasta de documentos de tempos em tempos, como estou no TOC e cansado de ficar sobrecarregado com o APP e gosto de simplicidade.
Fiz isso em um esforço para melhorar e fornecer uma solução alternativa.
Por fim, no arquivo de ícone do @ kenche, isso parece não existir no meu mac, pois eu não modifiquei os ícones das pastas, mas você pode fazê-lo no inspetor. Ao arrastar uma imagem para o canto superior esquerdo, ela criará o Icon^M
arquivo nesse diretório.
Para encontrá-los também, você pode executar:
(Você deve estar paranóico se encontrar um falso positivo, use: ctrl+ v ctrl+ em mvez de?)
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
Por favor, como @slhck afirmou acima: Alguns serviços ou aplicativos podem até precisar de certos diretórios para existir. Isso também se aplica aos arquivos DS_Store e Icon, POR FAVOR , esteja ciente do que está fazendo. Nota também: Este script não solicitará confirmação. Ele excluirá todos os diretórios que puder. ou seja, aqueles em que você tem permissão para excluir. Eles não serão movidos para o lixo, mas desaparecerão para sempre.
#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================
echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;
echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;
echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M
# =============================================================================
echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;
echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;
# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;
echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;
echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;
Fim do script.
Script pode ser visto aqui no GitHub
Sobre os ícones que representam arquivos no seu Mac
Alguma maneira de remover todas as pastas que contêm apenas .DS_Store recursivamente?
Encontre pastas e subpastas contendo apenas ".DS_Store"
Como encontrar todos os arquivos de zero byte em um diretório, incluindo subdiretórios