packagesの説明文書を訳しつつ、使えるものを探してみました(D編)
前回は O でしたが今回は Dです。
パッケージ名 datefudge
バージョン datefudge-1.24-1.3.x86_64
動作 ◎
詳細
datefudge はシステム時刻をごまかすユーティリティです。例えば以下のようになります。
% date
2021年 4月 3日 土曜日 22:09:35 JST
% datefudge "2007-04-01 10:23" date
2007年 4月 1日 日曜日 10:23:00 JST
% datefudge "2 weeks ago" date
2021年 3月 20日 土曜日 22:11:39 JST
さらに、 –static オプションというのがあり、これを使うと、日付を固定してしまうことが出来ます。
% datefudge "2007-04-01 10:23" sh -c "sleep 3; date"
2007年 4月 1日 日曜日 10:23:03 JST
% datefudge --static "2007-04-01 10:23" sh -c "sleep 3; date"
2007年 4月 1日 日曜日 10:23:00 JST
このように、3秒後でも時刻が変わっていません。
datefudge は、時刻に絡んだテストや、テスト結果の取得時に便利に使えそうです。
パッケージ名 datamash
バージョン datamash-1.7-1.9.x86_64
動作 ◎
詳細
datemash は、種々の演算をコマンドライン上で行えるツールです。たとえば、行や列の処理、数値の集計、統計機能などがあります。dirname(1) 、 basename(1)、cut(1)などの機能を持っています。
たとえば中身が
%cat sar.txt
06:25:01 %user %nice %system %iowait %steal %idle
06:35:01 7.26 0.00 1.18 0.06 0.00 91.51
06:45:01 7.23 0.00 1.19 0.04 0.00 91.54
06:55:01 7.89 0.00 1.34 0.13 0.00 90.65
07:05:01 7.23 0.00 1.24 0.04 0.00 91.49
07:15:01 7.61 0.00 1.32 0.10 0.00 90.96
07:25:01 7.69 0.00 1.32 0.06 0.00 90.93
07:35:01 7.62 0.00 1.31 0.05 0.00 91.02
となっているファイルの縦横は、
% datamash transpose <sar.txt
06:25:01 06:35:01 06:45:01 06:55:01 07:05:01 07:15:01 07:25:01 07:35:01
%user 7.26 7.23 7.89 7.23 7.61 7.69 7.62
%nice 0.00 0.00 0.00 0.00 0.00 0.00 0.00
%system 1.18 1.19 1.34 1.24 1.32 1.32 1.31
%iowait 0.06 0.04 0.13 0.04 0.10 0.06 0.05
%steal 0.00 0.00 0.00 0.00 0.00 0.00 0.00
%idle 91.51 91.54 90.65 91.49 90.96 90.93 91.02
と言うように変換できます。また、2列目の合計と平均を出すには、
% tail -n +2 sar.txt |datamash sum 2 mean 2
52.53 7.5042857142857
とします(最初の1行が非数値を含む行なのでスキップしています)。
datamash を使うと、awk などを駆使したり、perlや python などで小さなプログラムを書いていた処理を書かなくても済む可能性があります。うまく使えば作業の効率化に繋がりそうです。
パッケージ名 dfc
バージョン dfc-3.1.1-2.6.x86_64
動作 ◎
詳細
コンソール上で見栄え良くディスクの使用状況を表示するツールです。df の見栄えが良い版です。たとえば、
% df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
devtmpfs 4961412 0 4961412 0% /dev
tmpfs 4972560 0 4972560 0% /dev/shm
tmpfs 1989028 1172 1987856 1% /run
tmpfs 4096 0 4096 0% /sys/fs/cgroup
/dev/sda2 14669824 6630060 8039764 46% /
tmpfs 4972564 0 4972564 0% /tmp
/dev/sda3 8581120 1338444 7242676 16% /home
tmpfs 994512 16 994496 1% /run/user/461
tmpfs 994512 12 994500 1% /run/user/1000
の時に、
のように表示されます。また、dfc にはいくつかオプションがあり、
% dfc -e csv
FILESYSTEM,%USED,AVAILABLE,TOTAL,MOUNTED ON
devtmpfs,0%,4.7G,4.7G,/dev
tmpfs,0%,4.7G,4.7G,/dev/shm
tmpfs,0%,1.9G,1.9G,/run
tmpfs,0%,4.0M,4.0M,/sys/fs/cgroup
/dev/sda2,45%,7.7G,14.0G,/
tmpfs,0%,4.7G,4.7G,/tmp
/dev/sda3,16%,6.9G,8.2G,/home
tmpfs,0%,971.2M,971.2M,/run/user/461
tmpfs,0%,971.2M,971.2M,/run/user/1000
というように、csv 形式で表示させることも出来ます。そのほか、html,json,tex 形式でも出力させることが出来ます。これは、出力結果を何らかの形で加工したり、そのまま表示させるようなときに便利です。
このコマンドは、df の代わりに常用して使っても良いコマンドでしょう。
パッケージ名 dhex
バージョン dhex-0.69-1.11.x86_64
動作 ◎
詳細
curses ベースで動く16進エディタ+ファイル比較ツールです。最初に起動すると、キーの定義を行います。その後、実作業に移ります。
下記の画面が、キーの定義をした後の画面です。先に定義したカーソルキーで自由にカーソルを動かすことが出来ます。カーソル位置の値は直接書き換えることが可能です。
また、2つのファイルのバイナリ比較をすることも出来ます。
dhex は ちょっとしたデータの修正や結果の比較などに使うのであれば便利に使えそうです。
パッケージ名 dhtest
バージョン dhtest-1.5-2.5.x86_64
動作 ◎
詳細
dhtest は、DHCP 要求を送ってIPアドレスを取得するためのテストプログラムです。結果を NIC に割り当てるとかはせず、単にDHCPリース操作を行わせるためだけのプログラムです。実行した例は以下の通りです。
# dhtest -i ens18 -L 180
DHCP discover sent - Client MAC : 4a:23:a6:ba:3a:b1
DHCP offer received - Offered IP : 192.168.3.214
DHCP request sent - Client MAC : 4a:23:a6:ba:3a:b1
DHCP ack received - Acquired IP: 192.168.3.214
DHCP サーバのテストをするときに覚えておくと良いかもしれません。