Skip to content
Published on

Linux の su と su - コマンドの違い

Authors
  • Name
    Twitter

Overview

Linuxを使用していると、現在のアカウントからログアウトせずに、スーパーユーザーのrootとしてログインする必要がある場面があります。 その際に使用するコマンドがsu rootまたはsu - rootです。デフォルトではユーザー名を入力しない場合、suコマンドはrootとしてログインします。 ユーザーを切り替えるsuコマンドとsu -の違いを見ていきましょう。

su (Switch User) コマンド

シェルでsuコマンドを入力すると、現在の環境変数をそのまま維持した状態でrootユーザーに切り替わります。

su

su - (Switch User) コマンド

シェルでsu -を入力すると、rootとしてログインし、ディレクトリもrootのホームディレクトリに変更されます。 既存の環境変数は破棄されます。

sh -

この場合、rootアカウント配下にある~/.bash_profileまたは~/.bashrcに定義された環境変数が読み込まれます。

まとめると、susu -コマンドの違いは、ダッシュ以前のユーザーの環境変数を引き継ぐかどうかの違いです。 以上で、ユーザーを切り替えるLinuxコマンドについての記事を終わります。ありがとうございました。