V kořenovém adresáři mám adresáře souborového systému ubuntu a omylem jsem do kořenového adresáře zkopíroval stovky souborů.
Intuitivně jsem se pokusil odstranit zkopírované soubory vyloučením systému souborů jako
rm -rf !{bin,sbin,usr,opt,lib,var,etc,srv,libx32,lib64,run,boot,proc,sys,dev} ./.
ale nejde to. Jaký je správný způsob, jak vyloučit některé adresáře a zároveň smazat celý?
EDIT:Nikdy nezkoušejte žádný ze zde uvedených příkazů, aniž byste věděli, co dělat!
Přijatá odpověď:
Protože používáte bash
:
shopt -s extglob
echo rm -rf ./!(bin|sbin|usr|...)
Doporučuji přidat echo
na začátku příkazového řádku, když spouštíte něco, co potenciálně může vyhodit do vzduchu celý systém. Pokud jste s výsledkem spokojeni, odstraňte jej.
Poznámka:Výše uvedený příkaz neodstraní skryté soubory (ty, jejichž název začíná tečkou). Pokud je chcete také odstranit, aktivujte také dotglob
možnost:
shopt -s dotglob