Si vous lancez la ls -all
commande, certains fichiers ou répertoires ont l'année et certains ont le temps? Pourquoi certains montrent l'année tandis que d'autres indiquent l'heure? L'heure est-elle représentative de l'heure de création du fichier?
Si vous lancez la ls -all
commande, certains fichiers ou répertoires ont l'année et certains ont le temps? Pourquoi certains montrent l'année tandis que d'autres indiquent l'heure? L'heure est-elle représentative de l'heure de création du fichier?
Réponses:
Par défaut, les horodatages des fichiers sont répertoriés sous forme abrégée, en utilisant une date comme '30 mars 2002' pour les horodatages non récents, et une date sans année et une heure comme '30 mars 23:45' pour les horodatages récents. Ce format peut changer en fonction des paramètres régionaux actuels, comme indiqué ci-dessous.
Un horodatage est considéré comme récent s'il a moins de six mois et n'est pas daté à l'avenir. Si un horodatage daté d'aujourd'hui n'est pas répertorié sous une forme récente, l'horodatage est dans le futur, ce qui signifie que vous avez probablement des problèmes de décalage d'horloge qui peuvent casser des programmes comme make qui reposent sur des horodatages de fichiers.
Source: http://www.gnu.org/software/coreutils/manual/coreutils.html#Formatting-file-timestamps
Pour illustrer:
$ for i in {1..7}; do touch -d "$i months ago" file$i; done
$ ls -l
total 0
-rw-r--r-- 1 terdon terdon 0 Sep 21 02:38 file1
-rw-r--r-- 1 terdon terdon 0 Aug 21 02:38 file2
-rw-r--r-- 1 terdon terdon 0 Jul 21 02:38 file3
-rw-r--r-- 1 terdon terdon 0 Jun 21 02:38 file4
-rw-r--r-- 1 terdon terdon 0 May 21 02:38 file5
-rw-r--r-- 1 terdon terdon 0 Apr 21 2015 file6
-rw-r--r-- 1 terdon terdon 0 Mar 21 2015 file7
L'heure représentée est l'heure de modification. Veuillez noter que ls -all
c'est la même chose que ls -l -a
, ce qui est différent de ls --all
. Il n'y a aucune raison d'utiliser le double l
dans votre exemple. Si vous souhaitez voir l'heure de modification de chaque fichier, vous pouvez utiliser ls -al --full-time
.
ls
pour une utilisation normale --time-style=long-iso
pourrait être plus utile. --full-time
affiche les secondes, y compris neuf chiffres (!) après le point décimal qui n'est normalement pas nécessaire.
--full-time
implique -l
, vous pouvez donc simplement utiliser ls -a --full-time
.
Si la date / l'heure qu'il essaie d'afficher se situe au cours des six derniers mois,
ls
affiche la date et l'heure. Si elle remonte à plus de six mois - ou si elle se situe dans le futur - ls
affiche la date et l'année.
Comme indiqué dans les autres réponses,
ls -ll
est équivalent à ls -l
, etls -all
est équivalent à ls -al
, ce qui est équivalent à ls -a -l
, ls -l -a
et ls -la
.Avec l' -l
option, ls
affiche la date / heure de modification des fichiers (y compris les répertoires, car "tout est un fichier"), sauf si
-c
est également spécifié, auquel cas il affiche l'heure de changement, ou-u
est également spécifié, auquel cas il affiche le temps d'accès.Voir ls (1) pour plus d'informations.
Cette sortie est réglée pour un contenu d'information maximal: lorsque l'heure est "assez proche" de l'heure actuelle (pas tout à fait sûr, mais je suppose que dans les six mois), l'année est éluée et l'heure de la journée affichée à la place. Sinon, l'année est affichée. C'est la valeur par défaut, principalement parce que vous ne vous souciez probablement pas autant de l'heure précise à laquelle quelque chose a été modifié, si cette heure est antérieure à plusieurs années. GNU coreutils ls
a la --time-style
possibilité de contrôler cela explicitement.
Avez-vous réalisé quelque chose? Il apparaît simplement l'heure du 20 octobre, c'est-à-dire aujourd'hui, cela signifie qu'il affichera la dernière fois que vous avez modifié le fichier, mais, dans les autres jours qui ne sont pas aujourd'hui, il affichera uniquement la date sans l'heure.
Il s'avère que ce n'est pas cela, comme l'a répondu Thomas. J'ai juste essayé d'utiliser la méthode de la déduction, je ne suis pas sûr d'avoir une conclusion correcte après tout.
Aug 6 19:50 .config
, Aug 6 19:48 VNCHOWTO
.
-all
. Notez que le dernier L est superflu, carall
il ne représente pas le mot «tous» mais pour-a
(afficher tous les fichiers) et-l
(format de liste longue). Tous ensemble,ls -al
c'est la même chose que ce que vous utilisez.