ラベル command の投稿を表示しています。 すべての投稿を表示
ラベル command の投稿を表示しています。 すべての投稿を表示

木曜日, 10月 23, 2008

Linuxでゴミ箱

Linux では、ゴミ箱にファイルを移動するコマンドがない。rm コマンドを使うと、すぐにシステム上から削除されてしまい、その後、2度とファイルを復旧できない。もしかしたら、復旧する方法があるのかもしれないが、私は、その方法を知らない。

間違って rm コマンドを実行してしまったときに後悔するので、rm コマンドを実行すると、ファイルがゴミ箱に移動するように変更した。

まず、ゴミ箱にファイルを移動する関数を書き、その関数を rm コマンドの alias とすることで、これを実現した。作成した関数は、trash という関数で、alias rm='trash' として、rm コマンドで trash 関数が呼ばれるようにした。

以上のことを、以下のように、/etc/bashrc に記述した。


function trash() {
for file in $@
do
mv $file /tmp/trash
done
}

alias rm='trash'


これで OK!

但し、これだと、/tmp/trash が肥大してくるので、時々、/tmp/trash の中身を削除するようにしよう。alias した rm コマンドではなく、通常の rm コマンドでファイルを削除したい場合は、rm の前にバックスラッシュ (\) をつけて、rm コマンドを実行すればよい。これで、/tmp/trash 内のファイルを削除できる。


$ \rm hoge.txt

火曜日, 4月 15, 2008

Mac OS Xでrootのパスワードを変更する

Mac OS Xのターミナルでsuを実行してrootアカウントになろうとするが、いくら思いつくパスワードを入力しても一向にrootアカウントになれない。

調べたところ、Mac OS Xでは、rootアカウントを有効にするためには以下の手順が必要であることが分かった。

Mac OS Xでサーバ構築:root パスワードの変更

リンク先のMac OS Xのバージョンは10.4.9で、自分のMac OS Xのバージョンは10.5.2だが、下記の方法で問題なくrootアカウントのパスワードの設定が出来た。

$ sudo passwd root
WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
Changing password for root.
New password:
Retype new password:


以上の操作により、suコマンドでrootアカウントになることが出来る。

$ su -
Password:
#


なお、リンク先の方法2は、"NetInfoマネージャ"というアプリケーションが見つからなかったため、試すことが出来なかった。


【参考】

木曜日, 4月 10, 2008

strace

strace - trace system calls and signals

コールされたシステムコールやシグナルを追うことができる。ハードに近いレイヤーのコマンドのDebugをするのに有効。たとえば、メモリリークするプログラムの追跡が出来る。

使い方は、Debugしたいプログラムやコマンドの前にstraceと打つだけ。

# strace ls
execve("/bin/ls", ["ls"], [/* 26 vars */]) = 0
brk(0) = 0x82de000
(略)


詳しいことはよく分からないが、lsするだけで物凄い数のシステムコールを呼んでいる。

覚えておいて損はないコマンドだ。