概要
システムの日付を表示する。
システムの日付を設定することも可能だが、基本的にはNTPで時刻制御すると思うので覚えなくていいかと。
実用例
・日付でディレクトリが分かれているログを確認
$ cat /var/log/`date +%Y/%m%d`/mail.log
・日付でディレクトリが分かれているログの昨日分を確認
$ cat /var/log/`date -d "-1 day" +%Y/%m%d`/mail.log
・日付のサフィックスをつけてファイルをコピー
$ cp -pi test.txt test.txt.`date +%Y%m%d`
オプション詳細・解説
フォーマットを指定して表示
date +フォーマット
例) date +"%Y/%m/%d %H:%M:%S" →2019/11/06 13:05:37
主なフォーマット例
フォーマット | 表示内容 | 2019/11/06 13:05:37に実行した場合 |
%Y | 年 | 2019 |
%m | 月 | 11 |
%d | 日 | 06 |
%H | 時 | 13 |
%M | 分 | 05 |
%S | 秒 | 37 |
フォーマットの詳細は「date –help」で表示できる
当日以外の日付の表示
-d または –date オプションを使用して指定
日付の指定方法
date -d “n day” | n日後 |
date -d “n week” | n週後 |
date -d “n month” | n月後 |
date -d “n year” | n年後 |
マイナスをつけると過去日付を指定できる
date -d “-n day” | n日前 |
date -d “-n week” | n週前 |
date -d “-n month” | n月前 |
date -d “-n year” | n年前 |
以下のような指定方法もあるが、上記の指定方法でどのパターンも対応可能。
- yesterday(昨日)
- tommorow(明日)
- “3 days ago”(3日前)
おわりに
主にdateコマンドのフォーマットについての紹介でした。
私は、特にファイルのコピーバックアップ時にサフィックスをつけるときに使っています。また、作業手順書を作成する際に、作業日が確定していなくても実用例のようにdateコマンドを使用すれば対応できるのでおすすめです。
コメント