Este comando mostrará todos os não diretórios em /
:
find / -maxdepth 1 -type f
Depois de ter absolutamente a certeza de que não existem ficheiros que pretenda manter, pode utilizar:
find / -maxdepth 1 -type f -delete
Mais seguro, seria movê-los para outro lugar para garantir que você não esteja excluindo algo que deseja preservar:
mkdir /root/preserve
find / -maxdepth 1 -type f -exec mv -- "{}" /root/preserve/\;
Se, além dos arquivos, você também tiver diretórios adicionados à raiz do sistema de arquivos, isso poderia ser automatizado excluindo os diretórios do LSB de um mv
ou rm
automatizado, mas honestamente, como estamos lidando com a limpeza de itens na raiz do sistema de arquivos, sugiro strongmente que você considere fazê-lo manualmente, se possível.
Se isso não for viável, algo assim poderia resolver o problema:
#!/bin/bash
declare -a excludes
for item in root sys 'lost+found' mnt home proc etc opt boot lib lib64 libx32 sbin media srv dev var usr bin tmp run; do
excludes+=("$item")
done
if ! [[ -d /root/preserve ]]; then
mkdir -p /root/preserve
fi
IFS="\n"
for item in find / -type d -maxdepth 1; do
really=true
for exclude in ${excludes[@]}; do
if [[ "$exclude" == "${item#/}" ]]; then
really=false
fi
done
if [[ "true" == "$really" ]]; then
mv -- "$item" /root/preserve/
fi
done
Depois de passar no teste de grito (ou seja, seu sistema ainda funciona e você não está gritando de angústia), é possível remover o conteúdo de /root/preserve/
.
Nota importante: faça o que fizer, nem pense em executar qualquer permutação de rm -fr [ANYTHING GOES HERE] /
.