4.覚えておくと便利


 「覚えておいたら非常に便利」っていうことはたくさんある。それをせっかく覚えても、 しばらく使ってなかったら忘れる、ということはしばしば。というわけで、ここからは 覚えておくと便利なことの備忘録である。


 「locate」というコマンドをご存知だろうか?「find」というファイル・ディレクトリを 検索するコマンドよりもはるかに高速に検索できるコマンドである。「locate」は、あらかじめ ファイルシステム中の全ファイルをデータベースに記録しておき、そのデータベースを検索する。 データベースは週に1回更新されるが、パッケージをインストールしまくっていて 更新が頻繁なときはすぐにデータベースを最新にしたい。そんなときには、rootになって 以下のコマンドを実行。

     # echo /usr/libexec/locate.updatedb | su -fm nobody

rootで直接「/usr/libexec/locate.updatedb」とすると「セキュリティ的に良くない!」 といわれるので上述のようにする必要があります。


 viでシステムの設定ファイルを編集して、いざ「Shift + zz(シフトキーを押したまま zを2回押す。)」もしくは「:wq」して保存しようとしたときに「Read-only file, not written」 と言われたことがある人は多いと思う。そのファイルのwrite権限がないために保存できないという 状態である。長々と編集した後、こうなった場合そのショックは大きい。だが、実はwrite権限が ないファイルでも上書きすることはできる!「:w!」と打てばいいだけである。wと!の間に qを入力すると上書き保存されてコマンドラインに戻る。このことを知ったときは衝撃だったが、 意外と常識なのかも…。


 例えば、cgiカウンタをあるサーバで利用していて、それをそのまま他のサーバに移して 使いたい場合、普通にscpしてしまうと属性が変になってcgi設定ファイルの属性をまた 変更しないといけないということが起きる。そんなときはオプション「-p」を使うとよい。 これで属性はそのまま保たれる。ただし、厄介なのはユーザ名やグループ名も保存されるので 要注意。これはchownとchgrpを使って直す。


 chmod、chown、chgrpを使う場合、あるディレクトリより下にあるファイルすべて 変更したい場合がある。そんなときは、オプション「-R」とワイルドカード「*」を 利用すればあっという間である。例えば、今いるディレクトリのsampleディレクトリ以下 にあるファイルの所有者をmasterに変えたい場合は

     # chown -R master ./sample/*

といった感じ。


Back

Up

3. 失敗は成功の素

目次