linux写入硬盘时间用什么命令,编写shell脚本中怎么获取当前日期和时间?磁盘使...

【习题分析】

本题有两个核心知识点:

1. 如何自动表示当天的日期

2. 磁盘使用情况

打印日期的命令为 date,示例命令如下:

# date

2017 年 12 月 20 日 星期三 16:26:55 CST

而题目中要求的格式为应该是:2017-12-20,date 命令是有这样的功能的,示例命令如下:

# date +%Y-%m-%d

2017-12-20

或者:

# date +%F

2017-12-20

磁盘使用情况,我们用命令 df -h 实现,示例命令如下:

# df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/vda1 99G 1.8G 92G 2% /

devtmpfs 911M 0 911M 0% /dev

tmpfs 920M 0 920M 0% /dev/shm

tmpfs 920M 336K 920M 1% /run

tmpfs 920M 0 920M 0% /sys/fs/cgroup

tmpfs 184M 0 184M 0% /run/user/0

【习题答案】

有了上面的分析之后,我们最终得到本题答案:

#! /bin/bash

d=`date +%F`

logfile=$d.log

df -h > $logfile

【答案解析】

把当天日期赋值给变量 d,从而定义每日的日志文件名,最终把磁盘使用情况的结果直接输入到该

日志里。这里的>,比较特殊它可以把该符号左边的结果写入到该符号右边的文件里。

扩展知识点:

1. shell 中反引号可以表示一个命令的结果,通常给变量赋值,示例命令如下:

# n=`wc -l /etc/passwd|awk '{print $1}'`

# echo $n

23

2. date 命令还有诸多用法,示例如下:

# date +%H ##小时

16

# date +%M ##分钟

38

# date +%S ##秒

55

# date +%T ##时间

16:39:31

# date +%w ##星期

3

# date -d "-1 day" +%F ##一天以前

2017-12-19

3. >为正确重定向,我们运行一条命令时,有正确的输出信息也有错误的输出信息,>会把正确的输

出信息写入到指定文件里,与其对应的还有一个错误重定向符号 2>,顾名思义它会把错误信息写入

到指定文件里。示例如下:

# ls /etc/passwd /etc/nofile ##其中/etc/nofile 是不存在的,所以会报错

ls: 无法访问/etc/nofile: 没有那个文件或目录

/etc/passwd

# ls /etc/passwd /etc/nofile > /tmp/log 2>/tmp/error

# cat /tmp/log

/etc/passwd

# cat /tmp/error

ls: 无法访问/etc/nofile: 没有那个文件或目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值