Comment faire pour supprimer plusieurs dossiers en parallèle?
J'ai deux répertoires sur le même niveau et je peux le faire:
rm -rf dir1/; rm -rf dir2/
mais ils s'exécutent séquentiellement, comment pourrais-je les supprimer en parallèle? est-il un générique solution qui me permet de l'étendre à de nombreux dossiers?
Mise à jour
Les répertoires peuvent être profondément imbriqués contenant d'autres répertoires et ainsi de suite.
Pourquoi n'utilisez-vous pas
Je ne suis pas sûr, pourquoi quelqu'un downvotes. C'est une bonne question althoúgh l'exemple donné est vraiment faible. Consultez-moi de répondre pour un cool approche de l'utilisation de gnu parallèle, chaque fois que vous voulez aller à la cool parallélisation des trucs dans bash. HTH
Je pense que vous avez probablement raison. Mais j'ai été en utilisant cette approche (de faire quelque chose en parallèle dans bash) plus d'une fois lors de la création des choses. Il peut être une question philosophique si simple script shell est considéré comme de codage ou pas. Je dirais oui, il est. Mais la fpo question elle-même est un peu loin de cela.
pouvez-vous expliquer la nature des fichiers dans ces répertoires. Avez-vous de l'énorme pas de fichiers ? énorme pas de sous-répertoires ? énorme de la taille des fichiers, etc ?
&
? rm -rf dir1/& rm -rf dir2/
. Ainsi, bash n'attendra pas la première commande (suppression de dir1) pour le début de la seconde.Je ne suis pas sûr, pourquoi quelqu'un downvotes. C'est une bonne question althoúgh l'exemple donné est vraiment faible. Consultez-moi de répondre pour un cool approche de l'utilisation de gnu parallèle, chaque fois que vous voulez aller à la cool parallélisation des trucs dans bash. HTH
Je pense que vous avez probablement raison. Mais j'ai été en utilisant cette approche (de faire quelque chose en parallèle dans bash) plus d'une fois lors de la création des choses. Il peut être une question philosophique si simple script shell est considéré comme de codage ou pas. Je dirais oui, il est. Mais la fpo question elle-même est un peu loin de cela.
pouvez-vous expliquer la nature des fichiers dans ces répertoires. Avez-vous de l'énorme pas de fichiers ? énorme pas de sous-répertoires ? énorme de la taille des fichiers, etc ?
OriginalL'auteur vivek | 2016-02-20
Vous devez vous connecter pour publier un commentaire.
Exécuter les commandes en arrière-plan
syntaxe
vous pouvez capturer tous les messages en redirigeant la sortie de la commande vers un fichier.
Ce liens aideront ==> http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
Edit :
La question du titre & exemple donné donne une impression que la question est très petite.
Mais un ajouté prime montrant la gravité de la question.
Il serait mieux si vous précisez la nature de vos fichiers. Cependant, je suis en fournissant une division en fonction de suppression qui peuvent mises en œuvre comme les exécutions en parallèle
Vous pouvez essayer des options ci-dessous en fonction de votre exigence.
trouver des extensions en utilisant la commande ci-dessous
vous pouvez obtenir le résultat comme
maintenant, supprimer les fichiers en fonction des extensions de
commande ci-dessous tente de supprimer des fichiers de plus de 5 jours.
OU
Pas besoin d'un ; après le &. Dans le cas où il a beaucoup de répertoire, une boucle for peut faire l'affaire:
for d in dir*; do rm $d& done
OriginalL'auteur Raju
Juste au cas où vous voulez faire plus que de supprimer des répertoires en parallèle, vous pouvez faire beaucoup de parallèle de fantaisie avec GNU parallèle. Comme il n'est souvent pas une base utilitaire dans les distributions, vous devrez peut-être installer à l'aide de votre gestionnaire de paquets préféré, par exemple
apt-get install parallel
.Mais alors, vous pouvez faire des trucs sympas comme, disons que vous avez 4 processus parallèles, veut montrer le progrès, pas de nag avis et de laisser à l'exécution en parallèle d'une commande de mise en veille en attente pour 5s, 10s, 15s, 20s chaque.
Votre exemple serait en cours d'exécution comme ceci:
N'hésitez pas à consulter le beaux-tutoriel.
OriginalL'auteur ferdy
J'ai dû nettoyer les dossiers dans /media aussi vite que possible.
La commande suivante a été en mesure de supprimer 9T de données sur chacun des 80 disques à environ 5mn
Ce coups de pied de 80 parallèle
rm -rf
dans le fondOriginalL'auteur Franck
Si quelqu'un renvoie ici pour la même solution. Je suppose que son beaucoup plus facile de faire comme ceci:
aller dans le dossier où vous avez d'autres sous-dossiers ou fichiers que vous voulez supprimer en vrac. Appelons cela
target_folder
donctype
ls -la
et entrezIl fournira la liste de tous les sous-dossiers et fichiers. Maintenant la dernière étape. Type:
Double-cliquez simplement sur le nom de fichier et de faire un clic droit pour coller et c'est à ce sujet..une fois que vous avez fait la liste de tous les nom de fichier ..appuyez sur entrée et wolla..tous les dossiers ou les fichiers seront supprimés.
OriginalL'auteur Learner
Solution la plus Simple:
aller dans le dossier de destination et de faire rm-r "certains regex' ,les noms de dossier qui correspond à l'expression régulière sera effacé.
OriginalL'auteur shiva ganga chennu.