J'ai lu dans de nombreux sites Web que, sous Linux, les liens symboliques (liens logiciels, liens symboliques) sont comme des pointeurs qui font référence à un autre fichier, qui peut être situé n'importe où (comme les raccourcis Windows). Cependant, lorsque je vérifie l'utilisation du disque d'un dossier dans lequel il y a des liens symboliques, il y a un décalage entre ce que dit mon gestionnaire de fichiers et quels du
rapports. Cependant, si je tape du -L
(à -L, --dereference; dereference all symbolic links
partir de la page de manuel), la sortie du -L
et la taille signalées par mon gestionnaire de fichiers sont les mêmes .
Ma question est la suivante : si j'ai un lien logiciel vers un gros fichier, par exemple dans mahome
partitionséparée,aurai-je des problèmes?
Exemple :
Mon /var/tmp
dossier est maintenant complètement vide. Créons un fichier:
$ cat /some/file.txt > file.txt
$ du -ac
164 ./file.txt
168 .
168 total
Et mon gestionnaire de fichiers (Thunar, dans ce cas) rapporte
Taille: 1 article, pour un total de 163,0 kB
D'accord. Maintenant, permet de créer un très gros fichier /tmp
et un lien symbolique vers celui-ci:
$ cat /dir/really_big.txt > /tmp/heavy.txt
$ du -a | grep heavy.txt
408 ./heavy.txt
$ ln -s /tmp/heavy.txt heavy.txt
$ du -ac
164 ./file.txt
0 ./heavy.txt
168 .
168 total
Tout va bien pour l'instant. Mais si j'ouvre mon gestionnaire de fichiers:
Taille: 2 articles, pour un total de 570,3 kB
Et enfin:
$ du -acL
164 ./file.txt
408 ./heavy.txt
576 .
576 total
Si la partition dans laquelle elle /var/tmp
se trouve a une taille de 1 Gio et que j'y crée un lien vers un fichier de 1 Gio, mon disque dur va-t-il mourir? Je sais que cela du
produira 168 et Thunar 1 Gio, mais je ne sais pas ce qui est juste.
la source
Réponses:
Les liens symboliques prennent de la place, bien sûr, mais juste la place nécessaire pour stocker le nom et la cible plus quelques octets pour d'autres métadonnées. L'espace occupé par un lien symbolique ne dépend pas de l'espace occupé par la cible (après tout, la cible n'a même pas besoin d'exister).
Plain
du
indique l'espace occupé par une arborescence de répertoires sur le disque.du -L
signale l'espace qui serait occupé par une arborescence de répertoires si tous les liens symboliques étaient remplacés par leur cible. Le premier est généralement l'information utile; par exemple, c'est l'espace que vous récupérez si vous supprimez l'arborescence, et c'est (approximativement) l'espace dont vous avez besoin pour sauvegarder l'arborescence.du
sur une arborescence de répertoires montre (généralement) un peu plus que le total des tailles de fichiers. Cela est dû à deux choses. Tout d'abord,du
compte également les répertoires, qui prennent un peu de place pour stocker les noms de fichiers et les métadonnées. Deuxièmement,du
compte l'espace disque occupé par un fichier, qui peut être différent de la taille du fichier: l'effet le plus courant est que les fichiers occupent un nombre entier de blocs (4 Ko sur une installation Linux typique), donc un fichier à 1 octet peut afficher comme 4 Ko dans la sortie du; mais la compression (telle que la forme primitive fournie par les fichiers épars sur à peu près tous les systèmes de fichiers unix) peut augmenter la taille du fichier par rapport à son utilisation du disque.D'après les chiffres que vous donnez, il apparaît que Thunar rapporte la somme des tailles des fichiers dans l'arborescence des répertoires, en suivant les liens symboliques . Cela le dit en fait de manière subtile - il prétend que la taille totale est de 570,3 Ko, et non que l'utilisation du disque est de 570,3 Ko. Ce qui ne ressort pas du tout de l'interface utilisateur ou de la documentation, c'est que Thunar suit des liens symboliques lors du calcul de la taille.
Laquelle est «juste» est une question subjective.
du
signale l'utilisation du disque. Thunar rapporte la taille totale en suivant les liens symboliques. La création d'un lien symbolique a un impact négligeable sur l'utilisation du disque, mais par définition, change les liens symboliques de taille totale rapportés par Thunar.la source
du
montre l'utilisation du disque, tandis que Thunar montre autre chose.Je pense que par défaut, votre gestionnaire de fichiers essaie d'obtenir la taille des fichiers vers lesquels pointent les liens logiciels, alors qu'il
du
vous donne la taille du répertoire et les liens logiciels eux-mêmes, mais pas les fichiers vers lesquels ils pointent.Clarifier,
Je ne sais pas si c'est ce que vous demandiez, mais si c'est le cas, je pense que cela pourrait être la réponse à votre question.
la source