Estoy trabajando en un servidor Red Hat. Los comandos ls -l
o ll
me dan la fecha y la hora en formato +"%b %-d %H:%M"
.
Quiero enumerar los archivos de manera que el año en que se creó cada archivo aparezca dentro de la fecha.
¿Cómo es eso posible?
linux
shell-script
date
WAEL
fuente
fuente
ls -lT
es para mac osxls
generalmente no tiene una forma de mostrarlo. Entonces, en general, esto es imposible.Respuestas:
Puede usar
man ls
y aquí puede encontrar el--time-style
parámetro. O puedes usar:ls --full-time
.fuente
ls -l --time-style=+%F
ll
establecido comols -la
o algo más,ll --full-time
también funcionan.ls -l
mostrará el día del mes y el año , ya que , de acuerdo con la página de manual de BSD: Si el tiempo de modificación del archivo es más de 6 meses en el pasado o en el futuro, se muestra el año de la última modificación en lugar de los campos de hora y minuto .Entonces, para asegurarse de que ese año siempre se muestre, use:
ls --time-style=long-iso
(GNU / Linux)ls -lT
mostrará la información de tiempo completo en BSD (MacOS)fuente
Como solicitó el año,
ls -lac
es fácil recordar si, como yo, lo usals -la
todo el tiempo. Lec
da ctime, que mostrará un año si no es el año actual o la hora y los minutos si lo es.fuente
ls
hasta la fecha cambiada en lugar de la fecha predeterminada modificada .ls -l
muestra la fecha y la hora de las fechas de los últimos seis meses, y la fecha y el año de otras fechas. ctime puede estar en los últimos seis meses tanto como mtime (fecha de modificación), por lo quels -lac
puede mostrar tiempos (en lugar de años) tanto comols -la
pueda. Además, como señala Mateen Ulhaq,ls -lac
no muestra las mismas fechas quels -la
sí. Esta respuesta es incorrecta.Además de la respuesta de Jan Marek ... He notado que puedes salirte con la tuya solo con:
que hará lo mismo que
ls --full-time
él describió. Gracias Stéphane Chazelas. Ahora escribo enls --fu
todas partes. :)fuente
ls --fu
. Las opciones largas de estilo GNU se pueden abreviar siempre que no haya ambigüedad (--f
no funcionaría, ya que también hay un tipo de archivo y un formato). Tenga en cuenta que una versión futura puede presentar una,--full-perms
por lo que es peligroso confiar en eso.Si está utilizando
busybox
(distribuciones incrustadas, por ejemplo, OpenWRT, LEDE), el interruptor que está buscando es-e
para versiones hasta 1.26.2 y--full-time
para 1.27.0 y superior (consulte la confirmación que lo cambió ).fuente
-e
también funciona con Solarisls
y ast-open, por lo que en realidad está más cerca de un estándar que GNU--full-time
. Una pena que busybox lo eliminó en versiones más nuevas.puede favorito:
fuente
-T
opción no funcionará con GNUls
(tampoco especificada en POSIX). Además, al proporcionar código como respuesta, es mejor explicar qué hace cada parte de él.