- ベストアンサー
Ubuntu(Linux)のコマンド
Ubuntu(Linux)を始めたばかりの初心者です。 【質問1】 sudoというコマンドは、どのディレクトリに居ても使う事が出来るのでしょうか? 【質問2】 端末からコマンドを入力するのには、どのディレクトリに居るべきなのでしょうか? 教えてください。 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
bashのマニュアルより。 http://linuxjm.sourceforge.jp/html/GNU_bash/man1/bash.1.html > チルダ展開 > クォートされていないチルダ (`~') で単語が始まった場合、(略) ログイン名 (login name) になるかもしれない文字列として扱われます。 このログイン名が空文字列ならば、チルダはシェルパラメータ HOME の値に置き換えられます。 cd を引数無しに実行すると、 cd $HOME (= cd ~)の意味になります。 今後のためにも、マニュアルを読む習慣を付けましょう。 大抵のコマンドは、「man コマンド名」でマニュアルを確認することができます
その他の回答 (3)
- kmee
- ベストアンサー率55% (1857/3366)
(1) もう少し細かく言うと。 コマンド名だけ入力した場合、 aliasによる別名があれば展開→シェルの内部コマンド→環境変数PATHに記述されたディレクトリを順に とコマンドを探します。 sudoがPATH上にあれば、どのディレクトリからでも sudo だけで実行できます。 そうでないなら、sudo の場所を指定する必要があります。方法には、 /(ルートディレクトリ)からsudoまでの順番を示す絶対パスと、現在のディレクトリからsudoまでの順番を示す相対パスがあります。 ※ もし、Windowsのコマンドプロンプトを知っているのなら、カレントディレクトリの扱いに注意してください。 コマンドプロンプトでは、PATHに無くても、カレントディレクトリにある実行ファイルをそのまま実行できます。 Linuxでは、PATH上になければ、./command のように、カレントディレクトリの実行ファイルであることを明示する必要があります。(PATHに.を加える、という方法もありますが、推奨されません) (2) そのコマンドの、カレントディレクトリの扱い次第です。 引数の指定さえ変えれば、どこで実行しても構わない例は、#2にあるので、別の例で。 ソースコードからビルドしてインストールする場合。ドキュメントには sudo make install しろ、とあると思います。 makeコマンドは、標準で、カレントディレクトリを基準にし、カレントディレクトリにあるMakefileから情報を読み込みます。 この場合には、想定外のディレクトリで実行してもうまく動作しません。 引数次第でどうにかできますが、カレントディレクトリを変更する方があきらかに簡単で確実です。
- harshmistress
- ベストアンサー率44% (87/197)
No.1です。 たとえばshutdownコマンドは対象を取らないコマンドです。 ex. sudo shutdown -h now cpは、対象となるファイルをコピーするコマンドです(対象を取るコマンドです)。 ex. sudo cp /home/foobar/hoge.txt /root/hoge.txt この際、自分が/home/fooberにいるならば、 sudo cp hoge.txt /root/hoge.txt というように記述が変わります。 それだけです。
- harshmistress
- ベストアンサー率44% (87/197)
1. sudoは管理者権限を行使するのに使うだけですので、どこでも大丈夫です。 2. どこでも大丈夫です。ただ、対象を取るようなコマンドを実行する場合(たとえばcp)、 ディレクトリの記述等が異なってきます。
お礼
早速のご回答、有難うございます。 【質問2】に対するご回答の中で、「ただ、対象を取るようなコマンドを実行する場合」と書かれていますが、この意味がわかりません。 また「ディレクトリの記述等が異なってきます。」とも有りますが、例を挙げて教えて下さいませんか? 宜しければ、教えて下さい。
お礼
色々と丁寧にありがとうございました。 事のついでにもう1つ教えて下さい。 rootに行くと、端末での表示が、 :/$ になります。 この/はrootと言う意味だと思います。 その下では、 :/home$ です。 しかし、cdを端末から入力すると :~$ となります。 この「:~$」の意味は何でしょうか? 宜しければ、お教え下さい。 ご回答を頂いた後、ベストアンサーにさせて頂きます。 宜しくお願いします。