导读 | 在 Linux 系统下工作,你或多或少都会接触到各种日志。而这些日志文件,很多都是以年/月/日及时间的格式进行命名,这样可以做到日志文件自动生成及命名,并且不会重复,在实际工作中使用非常广泛。 |
本文将告诉你,如何在 Linux 系统下使用行以当前日期来新建目录或文件。当你想将某些文件(比如前面提到的日志文件)保存成以实际创建日期命名的目录中时,这个方法将非常有帮助。
以下将根据你的计算机当前时间创建以当前日期命名的目录或文件,因此,在开始之前请确认你的系统已经设置了正确的时间。
在Linux中创建以年-月-日形式的当前日期命名的目录或文件
想要用当前日期创建目录,可以使用如下的命令:
$ mkdir $(date +"%Y-%m-%d")
或者
$ mkdir "$(date +"%Y-%m-%d")"
命令运行后将创建一个目录,并以 yyyy-mm-dd 形式的当前日期来命名。
要切换到该目录,只需把 mkdir 改为 cd :
$ cd "$(date +"%Y-%m-%d")"
同样地,如果要新建一个以当前日期命名的文件,只需把 mkdir 改为 touch 即可。
$ touch "$(date +"%Y-%m-%d")"
创建名称包含当前日期的目录或文件
如果要创建名称包含当前日期的目录或文件,也很简单,比如:
$ mkdir ZhangSan-$(date +"%Y-%m-%d")
创建文件:
$ touch ZhangSan-$(date +"%Y-%m-%d")
由于 yyyy-mm-dd` 格式也就是 ISO 格式,因此之前的命令也可以简单写为:
$ mkdir $(date -I)
或者
$ 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 命令查看它们的详细用法。
$ man date
$ man mkdir
$ man touch
原文来自:
本文地址://gulass.cn/linux-mulu.html编辑:王华超,审核员:逄增宝
Linux命令大全:
Linux系统大全: