date命令位于bashshell中,这是大多数Linux发行版甚至macOS中的默认shell。本教程向您展示了如何在命令行上掌握日期,以及如何在shell脚本中使用它来完成不仅仅是打印时间的工作。
运行date命令查看此信息。它为您的时区打印当前日期和时间:
date默认格式看起来有点傻。为什么一年不在一个月和一天之后打印,而不是在时区后面的末尾标记?不用担心:如果它控制着你想要的输出格式,date会毫不含糊地交付它。到目前为止,您可以传递40多个选项来指示它精确地格式化输出。
要使用任何选项,请键入日期、空格、加号+,以及包含前导百分号的选项。%c(区域设置格式中的数据和时间)选项导致日期和时间以与您的区域设置相关联的规范化格式打印。您的区域设置由安装操作系统时提供的地理和文化信息设置。区域设置控制诸如货币符号、纸张大小、时区和其他文化规范之类的内容。
date +%c这一年在产出中的地位似乎更为自然。
您可以一次传递多个日期选项。一系列选项称为格式字符串。要查看日期(%A)、月份(%d)和月份名称(%B),请使用以下命令:
date +%A%d%B这很管用,但很难看。没问题,只要将整个格式字符串用引号括起来,就可以包含空格。注意+在引号外。
date +"%A %d %B"可以向格式字符串中添加文本,如下所示:
date +"Today is: %A %d %B"在日期手册页上下滚动寻找你想要的选项很快就会变得令人厌烦。我们已经将这些选项分组讨论,以帮助您更轻松地找到绕过它们的方法。
可以在其他选项的%和选项字母之间**这些修饰符,以修改其显示。例如,%-S将删除一位数秒值的前导零。
要获取文件的最后修改时间,请使用-r(reference)选项。请注意,它使用-(连字符)而不是%符号,并且不需要+符号。在主文件夹中尝试此命令:
date -r .bashrcTZ设置允许您在单个命令执行期间更改时区。
TZ=GMT date +%c启用bashshell脚本来打印时间和日期很简单。创建一个包含以下内容的文本文件,并将其另存为广东省.
#!/bin/bash TODAY=$(date +"Today is %A, %d of %B") TIMENOW=$(date +"The local time is %r") TIME_UK=$(TZ=BST date +"The time in the UK is %r") echo $TODAY echo $TIMENOW echo $TIME_UK键入以下命令以设置执行权限并使脚本可执行。
chmod +x gd.sh使用以下命令运行脚本:
./gd.sh我们可以使用date命令来提供时间戳。显示的脚本将创建一个以时间戳为名称的目录。然后它会将当前文件夹中的所有文本文件复制到其中。通过定期运行这个脚本,我们可以拍摄文本文件的快照。随着时间的推移,我们将建立一系列文件夹,其中包含不同版本的文本文件。
请注意,这不是一个健壮的备份系统,它只是为了说明目的。
创建一个包含以下内容的文本文件,并将其另存为快照.sh.
#!/bin/bash # obtain the date and time date_stamp=$(date +"%F-%H-%M-%S") # make a directory with that name mkdir "$date_stamp" # copy the files from the current folder into it cp *.txt "$date_stamp" # all done, report back and exit echo "Text files copied to directory: "$date_stamp键入以下命令以设置执行权限并使脚本可执行。
chmod +x snapshot.sh使用以下命令运行脚本:
./snapshot.sh您将看到已经创建了一个目录。它的名称是执行脚本的日期和时间。在这个目录中有文本文件的副本。
只要有一点思考和创造力,即使是简陋的date命令也可以被有效地使用。
...bash是什么、不同的模式(交互式和非交互式)以及它是如何产生的基础知识开始,这个站点提供了一个全面的背景知识来帮助您理解命令行的机制。 ...
... 第一行告诉运行这个程序的人如何运行它(即使用bash解释器)。第二个命令与您在命令行中输入的任何其他命令一样。将该文件另存为hello_世界.sh,然后: ...
Linux seq命令可以在眨眼之间生成数字列表。但是如何将这个功能付诸实际使用呢?我们将向您展示seq如何为您带来便利。 seq命令 乍一看,Linux seq命令似乎有些奇怪。它可以让你快速生成数字序列,就这样!不过,这里的关键...
Bash不是唯一的Linux shell。很容易尝试其他的shell,比如非常流行的Zsh。找到一个您喜欢的shell后,使用chsh命令将其设置为默认shell。我们会教你怎么做。 为什么贝壳很重要 shell位于您和操作系统之间。它在终端窗口内提供环境...
Linux上有多种类型的环境变量。了解如何查看它们,为本地和远程登录创建它们,并使它们在重新启动后仍然有效。 环境变量的工作原理 启动终端窗口及其内部的shell时,会引用一组变量,以确保shell配置正确。这些变量还确...
...复您过去运行的命令。一旦您了解了Linux history命令以及如何使用它,它就可以显著地提高您的生产效率。 操纵历史 正如乔治桑塔亚纳(georgestantayana)的一句名言:“那些记不住过去的人注定要重蹈覆辙。”不幸的是,在Linux...