创建名为当前日期/时间/月/年命名的目录或者文件

时间:2020-03-21 11:44:14  来源:igfitidea点击:

我们是否曾希望创建目录或者文件,并将其命名为Linux中的命令行的当前日期/时间/月/年?
此简短教程将教我们如何使用名称中的当前时间戳创建目录或者文件。
当我们想要在实际采取日期命名的目录中保存某些东西时,这将是有帮助的。
例如,如果今天拍摄照片,则可以创建名为"05-10-2019"的文件夹。
使用时间戳创建文件将使工作更容易按顺序排列文件。
如果我们想使用脚本自动执行任务,这也会有用。
以下命令将创建具有当前日期或者时间的目录或者文件,基于计算机的时钟。
因此,请确保在系统上设置正确的时间。

在Linux中创建名为当前日期/时间/月/年的目录或者文件

要创建目录并将其命名为当前日期,只需运行:

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

或者,

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

此命令将创建一个目录并将其命名为今天的DD:mm:mm:yyyy格式。

示例输出:

06-06-2017

要切换到此目录,只需将"MKDIR"替换为"CD"命令,如下所示。

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

同样,要创建名为当前日期,时间,月,年的文件,只需用"触摸"命令只替换"mkdir":

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

使用当前日期创建具有自定义名称的目录或者文件

具有日期/时间/月/年的目录或者文件的自定义名称如何?
也是可能的。

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

此命令将创建一个名为"onitad.com-06-06-2017"的目录。

要创建具有自定义名称的文件:

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

使用ISO格式创建文件的目录

如果我们想使用ISO日期格式(例如2017-06-06)和LS将在日期顺序列出它们,运行:

$mkdir $(date -I)

或者,

$mkdir $(date +%F)

或者,

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

以上所有三个命令都会产生相同的结果。

要创建文件,只需用"touch"命令替换mkdir。

更多例子

如果我们只想要当前日期的日期,请使用:

$mkdir "$(date +%d)"

此命令只能在名称中使用当前的日期创建目录。
例如:06.

同样,我们可以在名称中创建具有当前月份的目录:

$mkdir "$(date +%m)"

只有一年:

$mkdir "$(date +%y)"

此命令将使用当前年份的最后两位数命名:20。
如果我们想要全年(2017)的名称,请使用Y(Capital Y)。

$mkdir "$(date +%Y)"

目录名称如何包含当前时间?
也是可能的。

$mkdir "$(date +%r)"

此命令将创建一个文件夹并将其命名为HH:MM:SS格式的当前时间。

示例输出:

'02:59:52 PM IST'

我们甚至可以在名称中创建具有当前分钟和秒的目录。
例如,以下命令将创建一个目录并将其命名为当前秒。

$mkdir "$(date +%S)"

其中s是首都。

使用当前分钟命名目录,使用capital m:

$mkdir "$(date +%M)"

在所有上述示例中,我们创建了名称上的数字的目录。
如果我们想使用当前日/月的实际名称命名目录,如星期天,10月等?
这很简单!

$mkdir "$(date +%A)"

以上命令将创建名为"星期六"的目录,例如:今天的名称。

要创建具有当前月份名称(即10月)的目录,请运行:

$mkdir "$(date +%B)"

以下是我们可以使用的支持运算符列表,我们可以用来将目录命名为当前的日期,月,时间,年,日,星期几,时代等的日期。

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

有关更多详细信息,请参阅Man页面。

$man date
$man mkdir
$man touch