在Linux中创建以年-月-日形式的当前日期命名的目录或文件
想要用当前日期创建目录,可以使用如下的命令:
aufs]# date +%Y-%m-%d 2021-05-18 aufs]# mkdir $(date +%Y-%m-%d)
命令运行后将创建一个目录,并以 yyyy-mm-dd
形式的当前日期来命名。
要切换到该目录,只需把 mkdir
改为 cd
:
$ cd "$(date +"%Y-%m-%d")"
同样地,如果要新建一个以当前日期命名的文件,只需把 mkdir
改为 touch
即可。
$ touch "$(date +"%Y-%m-%d")"
创建名称包含当前日期的目录或文件
如果要创建名称包含当前日期的目录或文件,也很简单,比如:
aufs]# mkdir test-$(date +%Y-%m-%d)
创建文件:
aufs]# touch test-$(date +%Y-%s-%d)
由于 yyyy-mm-dd` 格式也就是 ISO 格式,因此之前的命令也可以简单写为:
aufs]# date -I 2021-05-18 $ mkdir $(date -I)
或者
1. aufs]# date +%F 2. 2021-05-18 3. 4. aufs]# mkdir $(date +%F)
其他例子
如果只想使用当前日期,可以使用以下命令:
$ mkdir "$(date +%d)"
如果只想使用当前月份,可以使用以下命令:
$ mkdir "$(date +%m)"
如果只想使用当前年份,可以使用以下命令。其中小写 y 表示年份的后两位,大写 Y 表示四位完整年份:
$ mkdir "$(date +%y)"
$ mkdir "$(date +%Y)"
如果想使用当前时间创建目录,可以使用以下命令:
$ mkdir "$(date +%r)"
以上命令将会以 hh:mm:ss PM/AM
为格式的当前时间作为名称来创建目录。
如果只需要当前秒数,则执行以下命令:
$ mkdir "$(date +%S)"
如果只需要当前分钟数,则执行以下命令:
$ mkdir "$(date +%M)"
如果只需要当前星期,则执行以下命令:
$ mkdir "$(date +%A)"
如果只需要当前月份,则执行以下命令:
$ mkdir "$(date +%B)"
当然,还有很多其它选项,限于篇幅本文就不一一罗列了。
这里列出了支持的操作:
%a 星期的简称,例如 Sun,Mon 等 %A 星期的全称,例如 Sunday,Monday 等 %b 月份的简称,例如 Jan,Feb 等 %B 月份的全称,例如 January,February 等 %c 日期和时间,例如 Sat 29 Oct 2020 05:02:25 PM CST %C 世纪 %d 当月的第几天 %D 日期,相当于 %m/%d/%y %e 当月的第几天,用空格代替首位的0,相当于 %_d %F 日期,相当于 %Y-%m-%d %g 年份的后两位 %G 四位年份 %h 相当于 %b %H 小时,从00到23 %I 小时,从01到12 %j 当年的第几天,001到366之间 %k 小时,用空格代替首位的0,相当于 %_H %l 小时,用空格代替首位的0,相当于 %_I %m 月份,从01到12 %M 分钟,从00到59 %n 换行 %N 纳秒,从000000000到999999999 %p 上午(AM)或下午(PM) %P 类似月%p,但是为小写 %q 一年的四分之几,1到4 %r 12小时制时间,例如 11:11:04 PM %R 24小时制时间,相当于%H:%M %s 从 1970-01-01 00:00:00 UTC 到当前的秒数 %S second (00..60) %t tab符 %T 时间,相当于 %H:%M:%S %u 星期几,从1到7,1表示星期一 %U 一年的第几个星期,以星期六作为星期的开始,00到53 %V ISO星期数, 以星期一作为星期的开始,01到53 %w 星期几(0..6); 0 表示星期六 %W ISO星期数, 以星期一作为星期的开始,00到53 %x 日期,例如 12/31/99 %X 时间,例如 23:13:48 %y 年份的后两位(00..99) %Y 四位年份 %z 时区,例如 -0400 %:z 时区,例如 -04:00 %::z 时区,例如 -04:00:00 %:::z 时区,例如 -04, +05:30 %Z 时区, 例如 EDT
要了解更多 date
、mkdir
、 touch
命令的信息,可以使用 man
命令查看它们的详细用法。