84 votes

Comment trouver l'heure de création d'un fichier ?

J'ai besoin de trouver l'heure de création d'un fichier. Lorsque j'ai lu quelques articles sur ce sujet, tous ont mentionné qu'il n'y avait pas de solution (comme par ex. Site1 , Site2 ).

Quand j'ai essayé le stat il est indiqué Birth: - .

Alors comment puis-je trouver l'heure de création d'un fichier ?

0voto

Alexander Points 205

Vous pouvez avoir besoin de l'heure de création du fichier dans un format lisible par l'homme mais non standard pour l'utiliser dans le pipeline bash Shell Shell. Par exemple, pour préfixer le nom du fichier pour un tri approprié dans le gestionnaire de fichiers. J'ai modifié la solution de @terdon dans ce but comme suit.

get_crtime() {

    for target in "${@}"; do
        inode=$(stat -c '%i' "${target}")
        fs=$(df  --output=source "${target}"  | tail -1)
        crtime=$(sudo debugfs -R 'stat <'"${inode}"'>' "${fs}" 2>/dev/null |
        grep -oP 'crtime.*--\s*\K.*')
        printf $(date -d "${crtime}" | sed 's/://g'| sed 's/-//g')
    done
}
  • date -d ... analyse la chaîne date-heure ;
  • sed supprime les caractères spéciaux : y - ;
  • pas de fin de ligne ajoutée.

Qui prodigue :

get_crtime .bashrc
20201023T181422

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X