HOMEサンプル問題・例題解説101試験の例題と解説103.1 コマンド行で操作する

101試験の例題と解説

103.1コマンド行で操作する

今回は101試験の試験範囲から、「103.1 コマンド行で操作する」についての例題を解いてみます。

■例題
環境変数PATHに関する説明として間違っているものを選びなさい。

  1. 環境変数PATHはユーザーが自由に定義可能
  2. 環境変数PATHに定義されたパスから順番に実行コマンドを探す
  3. 環境変数PATHに定義されていないパスのコマンドを実行するには、そのディレクトリをカレントディレクトリにするしかない
  4. 環境変数PATHにパスを複数定義するには「:」で区切って記述する

※この例題は実際のLinuC試験とは異なります。

解答と解説

答えは 3. 環境変数PATHに定義されていないパスのコマンドを実行するには、そのディレクトリをカレントディレクトリにするしかない です。

環境変数PATHは、シェルからコマンドを実行する際に、そのコマンドのファイルが格納されているディレクトリを探すための情報が定義されています。
定義されている情報は、コマンドファイルを探したいディレクトリを順番に「:」で区切って記述していきます。

○環境変数PATHの例
$ printenv PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/user/bin

たまにある勘違いとして、環境変数PATHはsuコマンドに-を付けずに実行すると、そのままの内容が引き継がれるため、/sbinや/usr/sbinに格納されている管理のためのコマンドが実行できないということです。

○su後の環境変数PATHの違いを確認
$ su
# printenv PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/user/bin
↑一般ユーザーの環境変数PATHを引き継いでいる
# su -
# printenv PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
↑rootユーザー用の環境変数PATHを設定している

一般ユーザーでログインした後、管理用のコマンドを実行する場合には、この違いに注意が必要です。
環境変数PATHに定義されていないディレクトリに格納されているコマンドを実行するには、絶対パス、または相対パスで記述することで実行できます。
環境変数PATHはあくまでこのパス指定を省略するためのものであることをしっかりと理解しておきましょう。

○一般ユーザーで/sbin/ifconfigの実行
コマンドだけ指定すると実行できない
$ ifconfig
-bash: ifconfig: command not found
絶対パスで指定すれば実行できる
$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3E:1E:22:E1
   inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
(以下省略)
  • 今回の解説について、理解できないポイントがあればどんどん質問を。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※上記の解説とその内容については、例題作成者の監修です。
    内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

このページのトップへ