GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Fichiers "écrasés", espace toujours occupé, sont-ils perdus ?

Tellement stupide d'impatience que j'ai utilisé le script suivant sur mon serveur 19.04 pour tenter de déplacer un tas de fichiers vidéo dans des dossiers avec des préfixes :

dirs=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
shopt -s nocasematch

for file in *
do
    for dir in "${dirs[@]}"
    do

     if [ -d "$file" ]; then
      echo 'this is a dir, skipping'
      break
     else
      if [[ $file =~ ^[$dir] ]]; then
       echo "----> $file moves into -> $dir <----"
       mv "$file" "$dir"
       break
      fi
     fi
  done
done

Aucune idée de l'endroit où cela s'est mal passé, mais au lieu de déplacer les fichiers vers des dossiers, il est allé vers une sortie singulière.. donc :

----> a1.ts moves into -> A <----
----> a2.ts moves into -> A <----
----> a3.ts moves into -> A <----
----> a4.ts moves into -> A <----
----> a5.ts moves into -> A <----
----> c1.ts moves into -> C <----
----> c2.ts moves into -> C <----
----> c3.ts moves into -> C <----
----> c4.ts moves into -> C <----
----> c5.ts moves into -> C <----

Heureusement, j'ai arrêté le processus (CTRL + C) dès que j'ai remarqué que cela ne se passait pas comme prévu et que je n'ai pas parcouru tout le dossier.

Alors maintenant, j'ai ces fichiers A et C , qui font moins d'un Go, et à première vue, il ne s'agit que d'une SEULE vidéo.

Il y a 50 Go non comptabilisés dans l'utilisation totale du disque du dossier lui-même, mais l'espace disque global de l'ordinateur est resté le même.
Me faisant penser que les fichiers ne sont pas supprimés ?

Toute aide appréciée, merci 🙂

Modifier :les fichiers ont en fait disparu, il ne reste que le dernier fichier à écrire, il a suffi d'un certain temps pour que les informations d'utilisation du disque se mettent à jour.. morale de l'histoire, exécutez vos scripts sur des fichiers fictifs avant !

Réponse acceptée :

Je pense que c'est le problème :vous auriez dû créer les répertoires A, B, C … Z. Si vous l'avez fait, le mv La commande aurait dû déplacer les fichiers vers ces répertoires.

Mais sinon, le mv La commande déplace les fichiers vers des fichiers portant ces noms, A, B, C… et je pense que c'est ce que vous avez fait.

Pour rendre le shellscript plus sûr, vous devez lui faire créer les répertoires (s'ils n'y sont pas déjà) avant de commencer le déplacement.

dirs=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)

for dir in "${dirs[@]}"
do
 mkdir -p $dir
done

Si vous voulez que les choses deviennent encore plus sûres, vous pouvez également utiliser mv avec le -i possibilité

   -i, --interactive
          prompt before overwrite

Ubuntu
  1. Diff signale que deux fichiers diffèrent, bien qu'ils soient identiques ! ?

  2. Que sont les fichiers .run ?

  3. Vous avez perdu des fichiers après avoir coupé et collé dans Ubuntu 12.04 ?

  4. La racine se remplit bien qu'elle devrait avoir un peu d'espace ?

  5. Concaténer plusieurs fichiers .mp3 en un seul .mp3 ?

Retrouver les fichiers perdus avec Scalpel

Comment libérer de l'espace sur Ubuntu Linux

Trouver quels fichiers se trouvent dans un paquet dans Ubuntu

suppression de fichiers mais l'espace disque est toujours plein

Décomposer une image dd en plusieurs fichiers

Pourquoi les fichiers .so sont-ils exécutables ?