wgetとtarをワンライナーで行う

wgetで~.tar.gzといったファイルをダウンロードしてきて、その次のコマンドで解凍・展開を行ってから、それをyum localinstallとかという手順を踏むことが多いと思います。 ダウンロードから解凍・展開までをワンライナーでやってしまうことができるので、書いておきます。

# wget -O – http://~.tar.gz | tar xvfz –

ダウンロードしてきたファイルが残らないというメリットがあります。シェルスクリプトでは、より便利かもしれません。

ファイルを一括で削除

ログファイルや一時利用ファイルなどを一括で削除するコマンド。 条件としては、次のようなものとします。

特定のディレクトリに存在するファイル タイムスタンプ(更新日)が7日前より古いファイル

実際のコマンドは、こんな感じになります。

find /data/files -maxdepth 1 -mtime +7 -print0 | xargs -0 rm -f

ファイル名、パス名にスペースが入る可能性を考えて、find に print0オプション、xargs に 0オプションを付ける。

2日前の日付を取得する

dateコマンドを使って、次のように簡単に。

# date -d “2 day ago” ‘+%Y-%m-%d’

エポック秒を取得する

日時の前後比較など、何かと便利なエポック秒。1970年1月1日00:00:00からの秒数ですが、その取得方法です。

現在日時のエポック秒は次のようにすれば取得できます。

# date +%s

さらに、指定した日時のエポック秒は次のようにすれば取得できます。

# date -d “2015-02-06 01:23:45” +%s

free コマンドの実行結果の見方

Linux のリソース管理を行うコマンドはたくさんありますが、そのうちの free コマンドについて、その実行結果の見方をきちんと知っておきたいと思います。

free コマンドは、メモリの使用状況を表示するコマンドです。

実行すると、下表に示す3種類の領域に関する容量データ(項目)が表示されます。

領域 項目 説明 Mem total 実メモリの全容量 used 実メモリの使用容量 free 実メモリの空き容量 shared 共有メモリ容量 buffers バッファメモリ容量(ブロックデバイスの読み書き用) cached ファイルキャッシュメモリ容量(ファイルのページキャッシュ用) -/+ buffers/cache used 実メモリの used から buffers と cached を引いた容量 free 実メモリの free に buffers と cached を加えた容量 Swap total スワップ領域の全容量 used スワップ領域の使用容量 free

バッファおよびキャッシュは、OSによって確保(予約)されているメモリであって、used としては buffers と cached を差し引いた値を「-/+ buffers/cache」に表示します。

ところが、バッファおよびキャッシュは、メモリ不足しそうになれば、OSはそれらを解放して、free 続きを読む »