Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

Linuxの「date」コマンド徹底解説:基本の使い方から便利な応用テクニックまで

Linuxの「date」コマンドとは

Linuxのコマンドラインで頻繁に活用できるツールのひとつが「date」コマンドです。オプションを付けずに実行すれば、現在の日付と時刻を表示するだけのシンプルなコマンドですが、提供されているオプションを使いこなせるようになると、日々の作業をぐっと効率化できます。この記事では、dateコマンドの基本的な使い方から、覚えておくと便利な書式指定や応用テクニックまでを詳しく解説します。

現在の日付と時刻を表示する

まずは最も基本的な使い方です。オプションなしで実行すると、現在の日付と時刻がそのまま表示されます。

# date
Sun Dec 14 11:33:55 IST 2008

これがdateコマンドの最もシンプルな使用例です。ここからさらに、必要な情報だけを取り出す方法を見ていきましょう。

書式指定で必要な情報だけを取り出す

「+」に続けて書式指定子を指定すると、出力内容を自由にカスタマイズできます。

日にちだけを取得したい場合は次のようにします。

# date +"%d"
14

日・月・年を組み合わせて表示することもできます。

# date +"%d%m%y"
141208

曜日を含めて表示したい場合は、%aを追加します。

# date +"%a%d%m%y"
Sun141208

主な書式指定子の一覧

「date --help」を実行すると、利用可能なすべてのオプションを確認できます。中でも特によく使われる書式指定子は以下の通りです。

  • %D:日付(mm/dd/yy形式)
  • %d:日(01〜31)
  • %m:月(01〜12)
  • %y:西暦年の下2桁(00〜99)
  • %a:曜日の省略形(Sun〜Sat)
  • %A:曜日の完全な名称(Sunday〜Saturday)
  • %b:月名の省略形(Jan〜Dec)
  • %B:月名の完全な名称(January〜December)
  • %H:時(00〜23)
  • %I:時(01〜12)
  • %Y:西暦年(1970〜)

区切り文字を使った見やすいフォーマット

書式指定子の間にハイフンやスラッシュなどの記号を挿入すれば、より読みやすい形式に整えられます。

# date +"%d-%m-%Y"
14-12-2008
# date +"%d/%m/%Y"
14/12/2008

スペースやカンマを組み合わせることも可能です。たとえば次のような凝った表示も一行で実現できます。

# date +"%A,%B %d %Y"
Sunday,December 14 2008

過去や未来の日付を取得する

--dateオプションを使うと、相対的な日付を簡単に計算できます。たとえば、サーバーのログを前日の分だけバックアップするシェルスクリプトを作成する場合、次のようにして前日の日付を取得できます。

# date --date="yesterday"
Sat Dec 13 12:04:03 IST 2008

同様に、明日の日付も取得できます。

# date --date="tomorrow"
Mon Dec 15 12:04:39 IST 2008

先月や来月の日付も簡単です。

# date --date="last month"
Fri Nov 14 12:06:23 IST 2008
# date --date="next month"
Wed Jan 14 12:06:25 IST 2009

より細かい単位での指定

日や週単位だけでなく、「5日前」「7日後」といった具体的な指定にも対応しています。

# date --date="5 days ago"
Tue Dec 9 12:08:26 IST 2008
# date --date="7 days"
Fri Dec 21 12:09:23 IST 2008

さらに複雑な問い合わせにも答えてくれます。

# date --date='next Saturday'
Sat Dec 20 00:00:00 IST 2008

数年先の日付であっても問題ありません。

# date --date='2 years 3 months 4 day'
Fri Mar 18 12:12:16 IST 2011

まとめ

dateコマンドは、まるで英語で対話しているかのように自然な感覚で日付を操作できる強力なツールです。シェルスクリプトでのログ管理やバックアップ処理など、自動化の場面で特に威力を発揮します。ここで紹介した以外にも便利な機能が多数ありますので、manページや--helpオプションを参照しながら、さまざまな使い方を試してみてください。

  1. Linuxの「echo」コマンドとは?基本構文から実用的な活用例まで徹底解説

    Linuxを始めたばかりの方でも、長年Linuxデスクトップを使い続けている方でも、一見すると意味が分かりにくいコマンドがいくつか存在します。特にコマンドラインに触れる機会が少なかった方にとってはなおさらでしょう。しかし、Linuxやその他Unix系OSの真の力は、まさにそのコマンドラインの中にこそ秘められています。 その代表格とも言えるのが、古くから親しまれてきたechoコマンドです。一見すると何の役に立つのか分かりませんが、仕組みを理解してみると、意外なほど便利なコマンドであることが分かります。 echoコマンドは何をするもの? echoのマニュアルページを見ても、詳細な説明はほとんどあ

  2. Linuxのteeコマンド使い方ガイド|画面表示とファイル保存を同時に実現

    Linuxシェルでパイプやリダイレクトを使っているなら、teeコマンドの出番もきっとあるはずです。teeは「標準出力に表示しながら、同時にファイルにも書き込む」ことができる便利なユーティリティです。この記事では、teeコマンドの基本操作から、sudoとの組み合わせ、追記モード、エラー出力の扱い方まで、実例を交えながら詳しく解説します。 teeコマンドとは何をするもの? まず、次のようなコマンドを見てみましょう。 ls このコマンドは、現在のディレクトリの内容を表示します。つまり、標準出力(stdout)へ出力するわけです。標準出力とは通常、画面、正確には仮想端末のディスプレイのことです