home(h) links(l) memo translation(t) profile(r)
memo(m) unix(u) その他

その他 - UNIX関係

コマンドの別名登録(alias)

参考サイト:

バージョン情報(var)

[HOST]$ view /etc/issue

テキスト中にバージョン情報が記載されている。

参考サイト:南アラバ公国: RedHat Linuxのバージョン確認

ファイルの改竄チェック

MD5チェックサム(md5sum)

md5sum コマンドは指定ファイルのMD5チェックサム計算結果を出力する。

【書式】
md5sum ファイル名

【例】
$ md5sum mysql-standard-5.0.46-linux-i686.tar.gz
aaab65abbec64d5e907dcd41b8699945 mysql-standard-5.0.46-linux-i686.tar.gz

(g)awkifなどを併用すればMD5計算結果が合っているか確認しやすい。

【書式】
$ if [ "`md5sum ファイル名 | awk '{print $1}'`" = "MD5計算結果" ];then echo "OK";else echo "NG";fi

【例】
$ if [ "`md5sum somebin | awk '{print $1}'`" = "fb727a3ac72bf0ce37e1a20468a7bb812" ];then echo "OK";else echo "NG";fi
OK

よく使うならパスの通ったディレクトリにスクリプトを用意しておく方が便利かと思われる。

【例】/usr/local/bin/check_md5sum を置く
$ cat check_md5sum
#!/bin/sh
if [ "`md5sum $1 | awk '{print $1}'`" = "$2" ];then
  echo "OK";
else
  echo "NG";
fi
$ check_md5sum somebin fb727a3ac72bf0ce37e1a20468a7bb812
OK
shell> sha1sum ファイル名 > 結果ファイル名 ←チェックサム計算結果が結果ファイル出力される
shell> sha1sum --check 署名ファイル名 ←正しいかどうかの結果が返る?
shell> sha1sum ファイル名  ←チェックサム値とファイル名が出力される。

sha1

openssl sha1 filenamefilename に指定したファイルのチェックサムを出力します(SHA-1)。
openssl/usr/bin/にあります。パスが通っていない場合、フルパスをつけて/usr/bin/opensslと指定する必要があります。
※結果はsha1 ([ファイルのフルパス名]) = [チェックサム]の形式で出力されます。

例:
shell> openssl sha1 ~/downloads/foo.dmg
SHA1 (/Users/kudoutakahiro/downloads/foo.dmg=2eb722f340d4e57aa79bb5422b94d556888cbf38)

コマンド出力結果の制御

コマンド出力結果を捨てる
/dev/nullを使う。入力として使う場合はファイル終了(eof)と同じように動作する。
/dev/nullを使う。
エラー結果をファイルに出力する
例:正規出力は画面に、エラー出力はerrfileへ出力する。
cat somefile nofile 2> errfile
例:正規出力はoutfileに、エラー出力はerrfileへ出力する。
cat somefile nofile >outfile 2> errfile
これも同じ。
cat somefile nofile 1>outfile 2> errfile
例:正規出力、エラー出力ともcompositeへ出力する。
cat somefile nofile 1> composite 2>&1
例:エラーメッセージは捨てる。
cat somefile nofile > outfile 2> /dev/null
ファイルと標準出力(画面)の両方に出力する
例:ファイル一覧情報を画面とファイルdircontsの両方に出力する。
ls -l | tee dirconts

コマンド実行履歴

historyコマンドは、コマンドの実行履歴を表示する。

各履歴の行頭に記された番号を指定して同じコマンドを再実行することができる。

$ history
 1 ls
 2 ls -l
 3 exit
 4 history
$ !1 # 1番の"ls"を実行

その他オプションなどを以下に記す。

【書式1】
history 行数
【書式2】
【書式3】
【書式4】
【書式5】
【書式6】
行数
整数値を指定。指定を行った場合、新しい方から行数件だけ履歴を表示する。指定を省略した場合は、保存された全ての履歴を表示。

環境変数 HISTTIMEFORMAT の設定により、コマンド実行時刻も記録することができる。

[~/.bashrc] 以下の1行を任意の場所に追記
export HISTTIMEFORMAT='%Y-%m-%d %T '

なお、zsh では上記設定を行わなくても?(~/.zshrc に「setopt extendedhistory」を追記しておく必要あり?)、history -i で時刻まで表示できるよう。

参考文献・サイト

ホーム内ディレクトリの言語設定

ホームディレクトリ配下の「デスクトップ」「ドキュメント」などのディレクトリを操作する際、CUIだとフォルダ名を入力する手間がかかる。ディレクトリ名を英語に変更し、この手間がかからないようにするには端末上で「LANG=C xdg-user-dirs-gtk-update」を実行すればよいとのこと[1]