阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux系统如何在命令行创建以当前日期命名的目录或文件

31次阅读
没有评论

共计 1967 个字符,预计需要花费 5 分钟才能阅读完成。

导读 在 Linux 系统下工作,你或多或少都会接触到各种日志。而这些日志文件,很多都是以年 / 月 / 日及时间的格式进行命名,这样可以做到日志文件自动生成及命名,并且不会重复,在实际工作中使用非常广泛。

Linux 系统如何在命令行创建以当前日期命名的目录或文件
本文将告诉你,如何在 Linux 系统下使用命令行以当前日期来新建目录或文件。当你想将某些文件(比如前面提到的日志文件)保存成以实际创建日期命名的目录中时,这个方法将非常有帮助。

以下命令将根据你的计算机当前时间创建以当前日期命名的目录或文件,因此,在开始之前请确认你的系统已经设置了正确的时间。

在 Linux 中创建以年 - 月 - 日形式的当前日期命名的目录或文件
想要用当前日期创建目录,可以使用如下的命令:

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

或者

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

命令运行后将创建一个目录,并以 yyyy-mm-dd 形式的当前日期来命名。

Linux 系统如何在命令行创建以当前日期命名的目录或文件
要切换到该目录,只需把 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)"

Linux 系统如何在命令行创建以当前日期命名的目录或文件
如果只需要当前月份,则执行以下命令:

$ 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

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1967字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中