GNU/Linux >> Tutoriels Linux >  >> Linux

renommer un énorme dossier :est-ce risqué ?

Changer le nom d'un dossier est sûr, s'il reste dans le même système de fichiers.

S'il s'agit d'un point de montage (/data on dirait que ça pourrait être un point de montage pour moi, vérifiez cela avec mount ), alors vous devez faire autre chose qu'un simple mv depuis mv /data /BD_FILES déplacerait les données vers la partition racine (ce qui n'est peut-être pas ce que vous voulez).

Vous devez démonter le système de fichiers, renommer le répertoire maintenant vide, mettre à jour /etc/fstab avec le nouvel emplacement de ce système de fichiers, puis remontez le système de fichiers à l'emplacement renommé.

En d'autres termes,

  1. umount /data
  2. mv /data /BD_FILES (en supposant /BD_FILES n'existe pas déjà, dans ce cas, déplacez-le d'abord)
  3. mettre à jour /etc/fstab , en changeant le point de montage de /data à /BD_FILES
  4. mount /BD_FILES

Cela n'implique pas de copier des fichiers, cela change simplement le nom du répertoire qui sert de point de montage pour le système de fichiers.

Si le renommage du répertoire implique de le déplacer vers un nouveau système de fichiers (ce qui serait le cas si /data est sur un disque tandis que /BD_FILES est sur un autre disque, une chose courante à faire si vous déplacez des éléments vers une partition plus grande, par exemple), je vous recommande de copier les données tout en laissant l'original intact jusqu'à ce que vous puissiez vérifier que la copie est correcte. Vous pouvez le faire avec

rsync -a /data/ /BD_FILES/

par exemple, mais voir le rsync manuel pour ce que cela fait et ne fait pas (il ne conserve pas les liens physiques, par exemple).

Une fois le dossier renommé, vous devez également vous assurer que les procédures existantes (programmes et utilisateurs utilisant le dossier, sauvegardes, etc.) sont au courant du changement de nom.


Vous ne renommez pas tous les fichiers du répertoire, vous en renommez un fichier dans /. C'est parce que :

  1. les répertoires sont des fichiers, et
  2. le système de fichiers se soucie vraiment de l'inode, pas du texte lui-même.

Ainsi, renommer un répertoire, peu importe le nombre de fichiers ou la quantité de données qu'il contient, est trivial.


Si vous renommez simplement (source et cible dans same système de fichiers), il s'agit simplement de renommer une entrée de répertoire. Soit il réussit et le répertoire porte un nouveau nom, soit il échoue, auquel cas rien ne change .

Si la source et la cible sont sur des systèmes de fichiers différents, les données doivent être copiées par mv . Les différences dans les fonctionnalités du système de fichiers, telles que la taille maximale des fichiers, les limitations des noms de fichiers, etc., peuvent entraîner des problèmes. Pour éviter les problèmes, copiez d'abord les fichiers (cp , rsync , …) et une fois la copie terminée, supprimez les fichiers à l'emplacement d'origine.

* Cependant, il existe des cas particuliers, par exemple mentionnés dans les BUGS section dans man 2 renommer


Linux
  1. Gestionnaire de fichiers Java

  2. Ajouter du texte à tous les fichiers d'un dossier ?

  3. Index cPanel

  4. Supprimer un lien symbolique vers un répertoire

  5. Exclure le répertoire lors de la création d'un fichier .tar.gz

Aide-mémoire sur les autorisations de fichiers/répertoires Linux

Obtenir le fichier le plus récent dans un répertoire sous Linux

Trouver le fichier puis cd dans ce répertoire sous Linux

Pourquoi un dossier doit-il être exécutable ?

Comment copier un fichier/dossier depuis le répertoire personnel d'un autre utilisateur sous Linux ?

unix - divise un énorme fichier .gz par ligne