locateコマンドのインストール

minimalでOSをインストールすると、システム内のファイルを素早く検索してくれるlocateコマンドはインストールされていない。
locateはmlocateパッケージに入っているのでyumでインストールする。

yum install mlocate

mlocateをインストール後にlocateを実行してもmlocate.dbが生成されていないのですぐには使えない。
そこで、updatedbを実行してmlocate.dbを生成する。

# locate main.cf
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

これでlocateコマンドが使えるようになった。

# updatedb
# locate main.cf
/etc/postfix/main.cf
/usr/libexec/postfix/main.cf
/usr/share/doc/postfix-2.6.6/main.cf.default

シェルのプロンプトにフルホスト名を表示する

ホスト名にwww.example.comなどとつけてCentOSを利用するとログイン時のプロンプトが

[www ~]$

の様になり複数台で運用しているとどのサーバかわからなくなる。
そこでフルホスト名をコマンドプロンプトに表示するようにするために
Bashの環境変数PS1を変更する。

vi /etc/bashrc
---------------------------------
export PS1="[\H \W]\\$ "
---------------------------------

次回ログイン時から反映される。
すぐに反映させたい場合は.(ドットコマンド)を実行する

. /etc/bashrc

Linux 文字化けで消せないファイル・ディレクトリを消す

日本語のファイルやディレクトリが文字化けてしまい、ファイル名、ディレクトリ名を指定できなくなりコマンドラインから削除できない場合がある

各ファイル、ディレクトリにはi-node番号があるのでls -iで調べてfindコマンドに渡す

ls -i
-------------------------------
50869301 text.txt 238939076 ?V?????t?H???_
-------------------------------
find . -inum 238939076
-------------------------------
./?V?????t?H???_
-------------------------------
find . -inum 238939076 -exec rm -rf {} \;

【参考サイト】
UNIX で消せないファイルを消す
http://kapi.jp/kapi_blog/62

findで指定サイズより大きいもしくは小さいファイルを探す

メールのキュー、メッセージ,パーティションを圧迫しているファイル等、サイズを条件にファイルを検索する時はfindのsizeオプションが便利

findでサイズを条件にしたい場合は大きいは「+」小さいは「-」で指定する。
単位はkBが「k」、B「c」、何もつけないとブロックという単位になるので、kかcをつけると覚えたらよさそうだ。

find  /var/vpopmail/domains -size +1000k -print
find  / -size 1024k -print
find  /var/vpopmail/domains -size -500c -print

【参考】
Studio Sixnine.
ちょっとだけカッコよく find(1) を使う

Linux UNIX ソート sort コマンド

sortコマンドは入力にフィルタをかけてソートした結果を出力することができます。
CentOS、Linuxを含むUNIX系OS全般で利用できます。
sortコマンドは1行プログラミングに大変便利です。
デフォルトではアルファベット順でソートですが、-nオプションで数値として処理することができます。

たとえばPSコマンドの出力をソートする場合は次のようになります。

ps | sort (正順でソート)
ps | sort -n  (数値としてソート)
ps | sort -r  (逆順でソート)
ps | sort -rn  (数値として逆順でソート)

デフォルトのsortコマンドで数値が並んでいる表示をソートしようとするとテキストで評価されるため目的の結果が得られません。
そんなときは数値としてソートする「-nオプション」をつけてください。

拡張子.bz2のファイルを圧縮・解凍

解凍専用のbunzip2をつかってbz2ファイルを解凍(gunzipと同様の利用方法)

bunzip2 filename.bz2

圧縮はbzip2をつかって-zオプションで圧縮

bzip2 -z filename