[hoge@localhost ~]$ su - Password: [root@localhost ~]# pwd /root
su -でユーザーを変更した場合、変更後のカレントディレクトリは変更後のユーザーのホームディレクトリになります。そこでpwdとやればrootのホームディレクトリを確認できます。rootのホームディレクトリは/home以下のディレクトリではなく、/rootであることに注意しましょう。
[root@localhost ~]# echo foo > hoge.txt [root@localhost ~]# rm hoge.txt rm: remove 通常ファイル `hoge.txt'?
ファイルを作成するのにechoと出力のリダイレクトを用いました。ファイルが削除されたかどうかは自分で確認すればわかるでしょう。
rmコマンドには削除する時に警告メッセージを表示させる-iオプションがあります。これを知っていれば、rootの環境では'rm -i'にrmというエイリアスが張られていることを予想できます。
[root@localhost ~]# alias alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias mv='mv -i' alias rm='rm -i' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
CentOS 4.0では上のようなエイリアスが定義されています。ここに、rm='rm -i"があります。これがrootでrmを実行すると削除の確認を問い合わせるようしています。
[hoge@localhost ~]$ man 5 passwd
マニュアルにはセクションがあります。manは引数としてセクション番号を指定することにより、そのセクションの中からマニュアルを探します。/etc/passwdのマニュアルはセクション 5なので、上記のようにやると/etc/passwdのマニュアルを見ることができます。
[hoge@localhost ~]$ man passwd
ちなみに、上のように5を入れずに実行すると、パスワードの変更を行うpasswdコマンドのマニュアルを開いてしまいます。
slにエイリアスを貼ればよい。
[hoge@localhost ~]$ alias sl='ls -r'
その他の方法として、slの置いてある/usr/local/binをPATHから外すことが考えられますが、これだと/usr/local/binにあるすべての実行ファイルの実行に影響を与えてしまいます。
[root@localhost ~]# rpm -ivh lv-4.51-3.1.i386.rpm [hoge@localhost sl]$ lv README
gnome-terminal上ではcatでREADMEを普通に読めますが、lessでは読むことができません。このREADMEは非常に短いファイルなのでlvのありがたみはほとんどありません。
[hoge@localhost ~]$ su Password: [root@localhost hoge]# shutdown bash: shutdown: command not found [root@localhost hoge]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/hoge/bin
[hoge@localhost ~]$ su - Password: [root@localhost ~]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
この場合、/sbinはPATHに入っています。
[root@localhost ~]# shutdown -h now
または、
[root@localhost ~]# halt
この問題はオプションです。当然ですが、選んだソフトウェアによりインストールの仕方は異なります。