web-dev-qa-db-fra.com

Comment déchiqueter un dossier?

Je veux une commande pour déchiqueter complètement le contenu d'un dossier/répertoire (qui peut être à l'intérieur de dossiers/répertoires). Aussi s'il vous plaît expliquer la commande.

18
Ashu
  1. Installez le package secure-delete.
  2. Utilisez la commande srm -r pathname pour supprimer votre dossier et vos fichiers.

Les paramètres par défaut sont pour 38 (!!!) passes de remplacements, ce qui est extrêmement excessif à mon humble sens (voir plus d’informations à ce sujet ici ).

Pour mon utilisation, je ne veux qu'un seul passage de données aléatoires, donc j'utilise srm -rfll pathname.

Si vous souhaitez créer une option de clic droit dans l'interface graphique pour les fichiers et les dossiers, utilisez gnome-actions pour appeler un script comme celui-ci:

#!/bin/bash
if dialog=`zenity --window-icon=warning --question --title="Secure Delete" --no-wrap --text="Are you sure you want to securely delete:\n\n     $1\n\nand any other files and folders selected? File data will be overwritten and cannot be recovered."` 
then /usr/bin/srm -fllrv "$@"| zenity --progress --pulsate --text="File deletion in progress..." --title="Secure Delete" --auto-close
fi 

Si vous souhaitez davantage de paramètres paranoïaques, veillez à modifier le script ci-dessus.

27
Veazer

Pour les fichiers non les répertoires, voici un moyen plus simple de remplacer le type de moyen -exec shred -u {} \;:

cd to your directory.

puis

find . -type f -print0 | xargs -0 shred -fuzv -n 48

ceci passe 48 récursivement au répertoire actuel dans lequel vous entrez cdname __ '.

J'espère que cela aide certains.

7
memorysticky

Vous voulez probablement utiliser quelque chose semblable à ceci:

find dir -type f -exec shred -fuz {} +
rm -rf dir

La première commande ne trouve que les fichiers et les transmet à shred (autant que possible en même temps - pas besoin de démarrer un nouveau processus de shred pour chaque fichier comme \; fait). Enfin, supprimez également les répertoires.

1
user1338062

Shred ne fonctionne que sur les fichiers. Vous devez d'abord détruire les fichiers du répertoire/sous-répertoires, puis supprimer les répertoires. essayer

find [PATH_TO_DIR] 

et assurez-vous de ne voir que les fichiers que vous souhaitez supprimer

find [PATH_TO_DIR] -exec shred -u {} \;

puis retirez les répertoires avec

rm -rf [PATH_TO_DIR]
1
Ruediger

Sudo apt install wipe

$ wipe -rfi dir/*

où les drapeaux utilisés: -r – tells wipe to recurse into subdirectories -f – enables forced deletion and disable confirmation query -i – shows progress of deletion process

1
cryptoboy

J'ai inséré le script bash suivant à cette fin dans mon .bashrc

function rm2 {

  for var in $@
  do
  if [ -d $var ]
  then
     Nohup $( /usr/bin/find "$var" -type f -exec  shred -n 2 -u -z -x {} \;;/bin/rm -rf "$var" ) & 
  else
    Nohup /usr/bin/shred -x -n 2 -u -z "$var" & 
  fi
done
exit
}
0
Peter Hornyak