GNU/Linux >> Linux Esercitazione >  >> Linux

Crea directory o file denominati con data/ora/mese/anno correnti

Sai che possiamo creare directory o file denominati con data, ora, mese e anno correnti dalla riga di comando? No? Nessun problema. Questo tutorial spiega come creare una directory o un file con il timestamp corrente nel nome in Linux.

Ciò sarà utile quando si desidera salvare qualcosa, ad esempio le foto, in directory denominate con la data in cui sono state effettivamente scattate. Ad esempio, se le foto sono state scattate il 16 ottobre 1984, puoi creare una cartella denominata "16-10-1984".

La creazione di file con timestamp renderà il tuo lavoro più semplice per organizzare i file in ordine. Ciò sarà utile anche quando desideri automatizzare l'attività utilizzando uno script.

I seguenti comandi creeranno una directory o un file e gli denomineranno la data/ora/mese/anno correnti in base all'orologio del tuo computer. Quindi assicurati di aver impostato l'ora corretta sul tuo sistema.

Crea directory o file denominati con data/ora/mese/anno correnti in Linux

Per creare una directory e denominarla come data corrente, esegui semplicemente:

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

Oppure,

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

Questo comando creerà una directory assegnandole la data odierna in dd:mm:yyyy formato.

Risultato di esempio:

06-06-2020

Per passare a questa directory, sostituisci semplicemente mkdir con cd comando come di seguito.

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

Allo stesso modo, per creare un file denominato con data, ora, mese, anno correnti, sostituisci semplicemente mkdir con touch comando:

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

Crea directory o file con nome personalizzato con data corrente

Che ne dici di un nome personalizzato per la directory o il file con data/ora/mese/anno? È anche possibile.

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

Questo comando creerà una directory denominata "ostechnix.com-06-06-2020" .

Per creare un file con nome personalizzato:

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

Crea directory di file in formato ISO

Se desideri utilizzare il formato della data ISO (ad es. 2020-06-06 ) e ls li elencherà in ordine di data, esegui:

$ mkdir $(date -I)

Oppure,

$ mkdir $(date +%F)

Oppure,

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

Tutti i tre comandi precedenti produrranno lo stesso risultato.

Per creare file, sostituisci semplicemente mkdir con touch comando.

Altri esempi

Se vuoi solo il giorno della data corrente, usa:

$ mkdir "$(date +%d)"

Questo comando creerà solo la directory con il giorno corrente nel nome. cioè 06 .

Allo stesso modo, puoi creare directory con solo mese corrente nel nome:

$ mkdir "$(date +%m)"

Solo anno:

$ mkdir "$(date +%y)"

Questo comando nominerà le directory con le ultime due cifre dell'anno in corso, ad esempio 20 . Se vuoi tutto l'anno (es. 2020 ) nel nome, utilizzare Y (Y maiuscola).

$ mkdir "$(date +%Y)"

Che ne dici del nome delle directory con l'ora corrente? È anche possibile.

$ mkdir "$(date +%r)"

Questo comando creerà una cartella e la denominerà con l'ora corrente in hh:mm:ss formato.

Risultato di esempio:

'02:59:52 PM IST'

Possiamo anche creare directory con minuti e secondi correnti nel nome. Ad esempio, il comando seguente creerà una directory e la denominerà con il secondo corrente.

$ mkdir "$(date +%S)"

Qui, S è maiuscola.

Per nominare la directory con i minuti correnti, usa M maiuscola :

$ mkdir "$(date +%M)"

In tutti gli esempi precedenti, abbiamo creato le directory con i numeri sui loro nomi. Cosa succede se si desidera nominare le directory con il nome effettivo del giorno/mese corrente come domenica, ottobre ecc.? È semplice!

$ mkdir "$(date +%A)"

Il comando precedente creerà una directory denominata "Sabato" cioè il nome di oggi.

Per creare una directory con il nome del mese corrente (ad esempio ottobre ), esegui:

$ mkdir "$(date +%B)"

Ecco l'elenco degli operatori supportati che puoi utilizzare per denominare le directory con giorno, mese, ora, anno, giorno della settimana, giorno del mese, fuso orario attuali, ecc.

       %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)

Per maggiori dettagli, fare riferimento alle pagine man.

$ man date
$ man mkdir
$ man touch

Spero che questo aiuti.

Lettura consigliata:

  • Come creare directory da un file di testo in Linux
  • Il tutorial sui comandi mktemp con esempi per principianti
  • Come creare rapidamente file all'interno di directory nidificate in Linux

Linux
  1. Conserva la data di modifica su directory/cartelle con Rsync?

  2. Makefile con file sorgente in diverse directory

  3. Trova i file creati tra un intervallo di date

  4. linux-shell:ridenominazione dei file al momento della creazione

  5. In Linux come creare un file con un nome che sia la data e l'ora correnti

Come ottenere la data e l'ora correnti in Python

Come escludere file e directory con Rsync

Come ottenere la data e l'ora correnti in JavaScript

Copia file e crea directory di destinazione allo stesso tempo

Mantenere sincronizzati file e directory Linux con rsync

Linux:ottenere file per la data corrente in Linux?