Linuxの超基本
スーパーユーザーとは
スーパーユーザーとは特権を持ったユーザーのこと。rootと同じ。一般ユーザーとしてログインしてもsuコマンドを使うとスーパーユーザーとしてすべての操作ができるようになる。システム管理のコマンドの多くはスーパーユーザーでなければ実行できない。
自分が今どのユーザーで操作をしているかはプロンプトを見ると分かる。プロンプトというのは行の左端に表示されている[user@localhost home]$のような部分のこと。「ユーザー名」「ログイン中のホスト名」「カレントディレクトリ」の順に情報が並んでいる。もし、suコマンドでスーパーユーザー rootになれば、[root@localhost /home]#のようなプロンプトになるはずである。
[user@localhost home]$ su - suコマンドを実行 Password: パスワードを入力 [root@localhost home]# プロンプトが変わった
プロンプトで注意したいのが、最後の記号の部分。一般ユーザーは「$」だが、スーパーユーザーでは「#」になっている。このサイトでもコマンドの入力例を示すとき、行頭に「#」「$」を記している。もしコマンドの前の文字が「#」であれば、スーパーユーザーとして実行しなければならないことをあらわしている。一般ユーザーで実行してもエラーが出るか、うまく機能が働かない。
もうひとつ、suコマンドを使うときは上のように「su -」と入力する。「-」を付けると新しいシェルが起動し、rootでログインしたのと同じ状態になる。だが、「-」を省略すると一般ユーザーの情報(環境変数)が引き継がれ、コマンドをうまく実行できないことがある。具体的にはシステム管理コマンドのあるディレクトリにパスが通っていないために、コマンド名を入力しただけではエラーが出る。
実行ファイルの指定方法
プログラムファイルの名前を打ち込むと、そのプログラムを実行できる。これはMS-DOSと同じなので、MS-DOSを使ったことがある人ならやりかたは分かるだろう。また、パスが通っていたらパス名を省略し、プログラムファイルの名前だけで大丈夫。
ここまではMS-DOSと同じだが、ひとつ決定的に違うのがカレントディレクトリ(現在位置しているディレクトリ)にあるプログラムファイルを実行しようとしたとき。MS-DOSでは名前だけで実行できたのだが、Linuxでは同じディレクトリにあってもパスを指定しなければならない。
たとえば、現在と同じディレクトリにある「install.pl」というファイルを実行するには、「./install.pl」と打ち込む。「.」は現在のディレクトリをあらわし、プログラムファイルがこのディレクトリにあることを明示しなければならない。これを忘れると「command not found」とエラーが出てしまう。
大文字と小文字を区別する
Linuxではファイル名の大文字と小文字が厳密に区別される。たとえば、同じディレクトリに「myfile」「Myfile」「MYFILE」という3つのファイルを作ることも可能だ。このため、プログラムファイルを実行するときは、名前に大文字が使われているときは正確に大文字と小文字を区別して入力する必要がある。また、ディレクトリ名を指定するときも同じ。MS-DOSの感覚ですべて小文字で入力すると「command not found」とエラーが表示される。
このため、コマンドラインでファイル名を入力するときはTabキーによる補完機能を使うと間違いを防げる。たとえば、カレントディレクトリにある「My_Setting_file」を開こうとするとき、先頭の「M」だけ入力してTabキーを押す。すると残りの文字が自動的に入力される。「M」で始まるファイルが複数あるときは、ほかのファイルと区別できるところまで入力してからTabキーを押す。