¿Sabe que podemos crear directorios o archivos nombrados con fecha, hora, mes y año actuales desde la línea de comandos? ¿No? No hay problema. Este tutorial explica cómo crear un directorio o archivo con la marca de tiempo actual en el nombre en Linux.
Esto será útil cuando desee guardar algo, por ejemplo, fotos, en directorios nombrados con la fecha en que realmente se tomaron. Por ejemplo, si las fotos se tomaron el 16 de octubre de 1984, puede crear una carpeta denominada "16-10-1984".
La creación de archivos con marcas de tiempo facilitará su trabajo para organizar los archivos en orden. Esto también será útil cuando desee automatizar la tarea mediante un script.
Los siguientes comandos crearán un directorio o archivo y le asignarán el nombre de fecha/hora/mes/año actual según el reloj de su computadora. Así que asegúrese de haber configurado la hora correcta en su sistema.
Cree directorios o archivos nombrados con fecha/hora/mes/año actual en Linux
Para crear un directorio y nombrarlo con la fecha actual, simplemente ejecute:
$ mkdir "$(date +"%d-%m-%Y")"
O,
$ mkdir $(date +"%d-%m-%Y")
Este comando creará un directorio y le dará el nombre de la fecha de hoy en dd:mm:yyyy
formato.
Salida de muestra:
06-06-2020
Para cambiar a este directorio, simplemente reemplace mkdir
con cd
comando como a continuación.
$ cd "$(date +"%d-%m-%Y")"
De manera similar, para crear un archivo con el nombre de fecha, hora, mes y año actuales, simplemente reemplace mkdir
con touch
comando:
$ touch "$(date +"%d-%m-%Y")"
Crear directorios o archivos con nombre personalizado con fecha actual
¿Qué pasa con un nombre personalizado para el directorio o archivo con fecha/hora/mes/año? También es posible.
$ mkdir ostechnix.com-$(date +"%d-%m-%Y")
Este comando creará un directorio llamado "ostechnix.com-06-06-2020"
.
Para crear un archivo con nombre personalizado:
$ touch ostechnix.com-$(date +"%d-%m-%Y")
Crea directorios de archivos con formato ISO
Si desea utilizar el formato de fecha ISO (por ejemplo, 2020-06-06
) y ls
los enumerará en orden de fecha, ejecute:
$ mkdir $(date -I)
O,
$ mkdir $(date +%F)
O,
$ mkdir $(date +"%Y-%m-%d")
Los tres comandos anteriores producirán el mismo resultado.
Para crear archivos, simplemente reemplace mkdir
con touch
comando.
Más ejemplos
Si desea solo el día de la fecha actual, use:
$ mkdir "$(date +%d)"
Este comando solo creará el directorio con el día actual en el nombre. es decir, 06
.
Del mismo modo, puede crear directorios con el mes actual solo en el nombre:
$ mkdir "$(date +%m)"
Solo año:
$ mkdir "$(date +%y)"
Este comando nombrará los directorios con los dos últimos dígitos del año actual, es decir, 20
. Si desea todo el año (es decir, 2020
) en el nombre, use Y
(Y mayúscula).
$ mkdir "$(date +%Y)"
¿Qué tal el nombre de los directorios con la hora actual? También es posible.
$ mkdir "$(date +%r)"
Este comando creará una carpeta y la nombrará con la hora actual en hh:mm:ss
formato.
Salida de muestra:
'02:59:52 PM IST'
Incluso podemos crear directorios con minutos y segundos actuales en el nombre. Por ejemplo, el siguiente comando creará un directorio y lo nombrará con el segundo actual.
$ mkdir "$(date +%S)"
Aquí, S es mayúscula.
Para nombrar el directorio con los minutos actuales, use mayúsculas M
:
$ mkdir "$(date +%M)"
En todos los ejemplos anteriores, creamos los directorios con números en sus nombres. ¿Qué sucede si desea nombrar los directorios con el nombre real del día/mes actual como domingo, octubre, etc.? ¡Es sencillo!
$ mkdir "$(date +%A)"
El comando anterior creará un directorio llamado "Sábado" es decir, el nombre de hoy.
Para crear un directorio con el nombre del mes actual (es decir, octubre ), ejecuta:
$ mkdir "$(date +%B)"
Esta es la lista de operadores admitidos que puede usar para nombrar los directorios con el día, mes, hora, año, día de la semana, día del mes, zona horaria actual, etc.
%a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %q quarter of year (1..4) %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT)
Para obtener más detalles, consulte las páginas man.
$ man date
$ man mkdir
$ man touch
Espero que esto ayude.
Lectura sugerida:
- Cómo crear directorios a partir de un archivo de texto en Linux
- Tutorial del comando mktemp con ejemplos para principiantes
- Cómo crear rápidamente archivos dentro de directorios anidados en Linux