Je travaille sur un serveur Red Hat. Les commandes ls -l
ou ll
me donnant la date et l'heure au format +"%b %-d %H:%M"
.
Je souhaite répertorier les fichiers de manière à ce que l'année de création de chaque fichier apparaisse dans la date.
Comment est-ce possible?
linux
shell-script
date
WAEL
la source
la source
ls -lT
est pour mac osxls
ne dispose généralement d'aucun moyen de l'afficher. Donc, en général, c'est impossible.Réponses:
Vous pouvez utiliser
man ls
et ici vous pouvez trouver le--time-style
paramètre. Ou vous pouvez utiliser:ls --full-time
.la source
ls -l --time-style=+%F
ll
défini commels -la
ou quelque chose d'autre,ll --full-time
également travailler.ls -l
affichera mois jour et année - depuis , selon la page de manuel BSD: Si l’heure de modification du fichier est supérieure à 6 mois dans le passé ou le futur, l’ année de la dernière modification est affichée à la place des champs heure et minute .Donc, pour être sûr que cette année sera toujours affichée, utilisez:
ls --time-style=long-iso
(GNU / Linux)ls -lT
affichera des informations complètes sur l'heure dans BSD (MacOS)la source
Depuis que vous avez demandé l'année, il
ls -lac
est facile de se rappeler si, comme moi, vous utilisezls -la
tout le temps. Lec
vous donne ctime qui affichera une année si ce n'est pas l'année en cours ou l'heure et la minute si c'est.la source
ls
la date a changé au lieu de la valeur par défaut la date de modification .ls -l
affiche la date et l'heure pour les dates des six derniers mois et la date et l'année pour les autres dates. ctime peut être au cours des six derniers mois autant que mtime (date de modification) peut, ainsils -lac
peut afficher les heures (au lieu d'années) tout autant quels -la
possible. Par ailleurs, comme le souligne Mateen Ulhaq,ls -lac
n'affiche pas les mêmes datesls -la
. Cette réponse est fausse.En plus de la réponse de Jan Marek ... j'ai remarqué que vous pouvez vous en tirer avec:
qui fera la même chose que
ls --full-time
ce qu'il a décrit. Merci Stéphane Chazelas. Maintenant, je tapels --fu
partout. :)la source
ls --fu
. Les options longues de style GNU peuvent être abrégées tant qu'il n'y a pas d'ambiguïté (--f
cela ne fonctionnerait pas car il y a aussi un --file-type et un --format). Notez qu'une future version peut introduire un--full-perms
il est donc dangereux de s'appuyer sur cela.Si vous utilisez
busybox
(distributions intégrées, par exemple OpenWRT, LEDE), le commutateur que vous recherchez-e
concerne les versions jusqu’à 1.26.2 et les--full-time
versions 1.27.0 et supérieures (voir la validation qui l’a modifié ).la source
-e
fonctionne également avec Solarisls
et ast-open, il est donc plus proche d'une norme que GNU--full-time
. Dommage que busybox l'ait supprimé dans les versions les plus récentes.peut favori:
la source
-T
option ne fonctionnera pas avec GNUls
(pas non plus spécifié dans POSIX). En outre, lorsque vous fournissez du code en guise de réponse, il est préférable d'expliquer ce que chaque partie fait.