GNU/Linux >> Tutoriels Linux >  >> Linux

Créer des répertoires ou des fichiers nommés avec la date/l'heure/le mois/l'année actuels

Savez-vous que nous pouvons créer des répertoires ou des fichiers nommés avec la date, l'heure, le mois et l'année actuels à partir de la ligne de commande ? Non? Aucun problème. Ce tutoriel explique comment créer un répertoire ou un fichier avec l'horodatage actuel dans le nom sous Linux.

Cela sera utile lorsque vous souhaitez enregistrer quelque chose, par exemple des photos, dans des répertoires nommés avec la date à laquelle elles ont été prises. Par exemple, si les photos ont été prises le 16 octobre 1984, vous pouvez créer un dossier nommé "16-10-1984".

La création de fichiers avec des horodatages facilitera votre travail pour organiser les fichiers dans l'ordre. Cela sera également utile lorsque vous souhaitez automatiser la tâche à l'aide d'un script.

Les commandes suivantes créeront un répertoire ou un fichier et lui donneront le nom date/heure/mois/année actuel en fonction de l'horloge de votre ordinateur. Assurez-vous donc d'avoir configuré l'heure correcte sur votre système.

Créer des répertoires ou des fichiers nommés avec la date/l'heure/le mois/l'année actuels sous Linux

Pour créer un répertoire et lui donner la date du jour, exécutez simplement :

$ mkdir "$(date +"%d-%m-%Y")"

Ou,

$ mkdir $(date +"%d-%m-%Y")

Cette commande va créer un répertoire et le nommer la date d'aujourd'hui en dd:mm:yyyy formater.

Exemple de résultat :

06-06-2020

Pour basculer dans ce répertoire, remplacez simplement mkdir avec cd commande comme ci-dessous.

$ cd "$(date +"%d-%m-%Y")"

De même, pour créer un fichier nommé avec la date, l'heure, le mois, l'année actuels, remplacez simplement mkdir avec touch commande :

$ touch "$(date +"%d-%m-%Y")"

Créer des répertoires ou des fichiers avec un nom personnalisé avec la date actuelle

Qu'en est-il d'un nom personnalisé pour le répertoire ou le fichier avec date/heure/mois/année ? C'est aussi possible.

$ mkdir ostechnix.com-$(date +"%d-%m-%Y")

Cette commande créera un répertoire nommé "ostechnix.com-06-06-2020" .

Pour créer un fichier avec un nom personnalisé :

$ touch ostechnix.com-$(date +"%d-%m-%Y")

Créer des répertoires de fichiers au format ISO

Si vous souhaitez utiliser le format de date ISO (par exemple 2020-06-06 ) et ls les listera par ordre chronologique, lancez :

$ mkdir $(date -I)

Ou,

$ mkdir $(date +%F)

Ou,

$ mkdir $(date +"%Y-%m-%d")

Les trois commandes ci-dessus produiront le même résultat.

Pour créer des fichiers, remplacez simplement mkdir avec touch commande.

Plus d'exemples

Si vous ne voulez que le jour de la date actuelle, utilisez :

$ mkdir "$(date +%d)"

Cette commande créera uniquement le répertoire avec le jour actuel dans le nom. c'est-à-dire 06 .

De même, vous pouvez créer des répertoires avec le mois en cours uniquement dans le nom :

$ mkdir "$(date +%m)"

Uniquement à l'année :

$ mkdir "$(date +%y)"

Cette commande nommera les répertoires avec les deux derniers chiffres de l'année en cours, c'est-à-dire 20 . Si vous voulez toute l'année (c'est-à-dire 2020 ) dans le nom, utilisez Y (Y majuscule).

$ mkdir "$(date +%Y)"

Qu'en est-il du nom des répertoires avec l'heure actuelle ? C'est aussi possible.

$ mkdir "$(date +%r)"

Cette commande créera un dossier et le nommera avec l'heure actuelle en hh:mm:ss formater.

Exemple de résultat :

'02:59:52 PM IST'

Nous pouvons même créer des répertoires avec les minutes et secondes actuelles dans le nom. Par exemple, la commande suivante créera un répertoire et le nommera avec la seconde actuelle.

$ mkdir "$(date +%S)"

Ici, S est en majuscule.

Pour nommer le répertoire avec les minutes actuelles, utilisez des majuscules M :

$ mkdir "$(date +%M)"

Dans tous les exemples ci-dessus, nous avons créé les répertoires avec des numéros sur leurs noms. Que faire si vous voulez nommer les répertoires avec le nom réel du jour/mois en cours comme dimanche, octobre, etc. ? C'est simple !

$ mkdir "$(date +%A)"

La commande ci-dessus créera un répertoire nommé "Samedi" c'est-à-dire le nom d'aujourd'hui.

Pour créer un répertoire avec le nom du mois en cours (c'est-à-dire Octobre ), lancez :

$ mkdir "$(date +%B)"

Voici la liste des opérateurs pris en charge que vous pouvez utiliser pour nommer les répertoires avec le jour actuel, le mois, l'heure, l'année, le jour de la semaine, le jour du mois, le fuseau horaire, 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)

Pour plus de détails, consultez les pages de manuel.

$ man date
$ man mkdir
$ man touch

J'espère que cela vous aidera.

Suggestion de lecture :

  • Comment créer des répertoires à partir d'un fichier texte sous Linux
  • Le didacticiel de la commande mktemp avec des exemples pour les débutants
  • Comment créer rapidement des fichiers dans des répertoires imbriqués sous Linux

Linux
  1. Makefiles avec des fichiers source dans différents répertoires

  2. Rechercher des fichiers créés entre une plage de dates

  3. linux-shell :renommer les fichiers à l'heure de création

  4. Sous Linux, comment créer un fichier avec un nom qui est la date et l'heure actuelles

  5. Créer une nouvelle arborescence de répertoires vide à partir de l'arborescence existante avec des fichiers

Comment obtenir la date et l'heure actuelles en Python

Comment exclure des fichiers et des répertoires avec Rsync

Comment obtenir la date et l'heure actuelles en JavaScript

Copier des fichiers et créer des répertoires cibles en même temps

Synchronisation des fichiers et répertoires Linux avec rsync

Linux - Obtenir des fichiers pour la date actuelle sous Linux ?