Bu komut aşağıdaki dizinleri içermez /
:
find / -maxdepth 1 -type f
Saklamak istediğiniz hiçbir dosyanın bulunmadığından kesinlikle emin olduktan sonra şunları kullanabilirsiniz:
find / -maxdepth 1 -type f -delete
Daha güvenli, korumak istediğiniz bir şeyi silmediğinizden emin olmak için onları başka bir yere taşımak olacaktır:
mkdir /root/preserve
find / -maxdepth 1 -type f -exec mv -- "{}" /root/preserve/\;
Dosyalarına ek olarak, aynı zamanda var ise dizinleri size dosya sisteminin köküne eklediğiniz için, bu olabilir otomatik LSB'den dizinleri hariç tutarak otomatik hale mv
veya rm
içinde tasfiye şeylerle biz bu yana ediyoruz muamele, dürüst, fakat Dosya sisteminin kökü ise, mümkünse manuel olarak yapmayı düşünmenizi şiddetle tavsiye ederim.
Bu mümkün değilse, böyle bir şey hile yapabilir:
#!/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
Çığlık testini geçtikten sonra (yani sisteminiz hala çalışıyor ve acı içinde çığlık atmıyorsunuz), içeriğini kaldırabilirsiniz /root/preserve/
.
Önemli not: Ne yaparsanız yapın, herhangi bir permütasyon çalıştırmayı düşünmeyin bile rm -fr [ANYTHING GOES HERE] /
.