どういう意味ですか?絶対パスコマンドの実装とこれはUnixとLinuxの動作にどのような影響を与えますか?

どういう意味ですか?絶対パスコマンドの実装とこれはUnixとLinuxの動作にどのような影響を与えますか?

私たちは解決しなければならない問題がたくさんあります絶対パス、時にはファイル用、時にはコマンド用です。まさに何なのかという重要な知識ベースの質問が欲しい。絶対パス するファイルだけでなくコマンドにも関連しているからです。

どういう意味ですか?絶対パスコマンドの実装とこれはUnixとLinuxの動作にどのような影響を与えますか?

  • どのように絶対パスアクションは次のように異なります相対パス
  • 〜これ絶対パス環境$PATH設定を上書きしますか?
  • コマンドの置き換えで他に何が起こりますか?$(/bin/echo Hello world)
  • 絶対パスより良いスクリプト?
  • なぜ時々たくさんありますか?絶対パス注文のために?
    • /usr/bin/echo
    • /bin/echo
    • どちらも同じシステムで動作します。
    • ディストリビューション全体でより一貫性がありますか、それともPOSIXが優先されますか?
  • cdコマンドがないかのようにいくつかのコマンドを実行するのはなぜですか?絶対パス
  • なぜかどうかそれともしなければならない私たちは絶対パススクリプトで?
  • シェルインタプリタが気になりますか?絶対パスbashzsh

明確さ

  • これは特定のコマンドを要求します。
    • 絶対パス( /usr/bin/echo)
    • 比較すると、相対パス( echo)
  • 私は尋ねませんフルパスシンボリックリンクに関連しているからです。
  • 私は尋ねません絶対対相対対規範パスまたは基本定義(例:スラッシュを含むPOSIXファイル名は/ディレクトリツリーを表します。、等)

答え1

  • 絶対パスは相対パスとどのように動作しますか?
  • 絶対パスは環境$ PATH設定を上書きしますか?
  • コマンドを置き換えると何が起こりますか? $(/bin/echo Hello world)

絶対パスと相対パスの両方が扱われます$PATH。重要なのは、aが/存在するかどうかです。/some/commandまたは の場合、./some/commandそのsome/command位置(絶対または相対)のコマンドが から検索されるのではなく実行されます$PATH。スラッシュがないとsome-command検索されます$PATH。コマンド置換はこれには影響しません。

  • 時々、コマンドに絶対パスが多いのはなぜですか?

システムによって異なります。存在するUsrMergeを使用したLinuxシステム(ページにFedoraが記載されていますが、これには最新のUbuntu、Debian、Arch Linuxなどが含まれます。)/binはい/usr/bin、そうです/bin/echo。と/usr/bin/echo同じです。 Solarisでは、XPGセクションでより多くの標準互換ユーティリティを使用できます。XPG*バージョンのコマンドはいつ使用する必要がありますか?他のシステムには異なる原因がある可能性があります。

  • たとえば、いくつかのコマンドにcd絶対パスがないのはなぜですか?

時々彼らは:「cd」外部コマンドの意味は何ですか?、時にはそうでない場合があります。CDはなぜプログラムではないのですか?


すべての「すべきこと」と「しないでください」は、あなたが何をしたいのかによって異なります。時には人々が絶対パスを使用しているのを見ます。これは、ユーザーがインストールした可能性のあるツールの代替バージョンから自分自身を保護すると考えているからです。時々私はこれがソフトウェアを別のシステムに移植したい人に問題を引き起こしているのを見ました。なぜなら、これらの絶対パスのツールは意図されたツールではありませんが、ユーザーがインストールした代替バージョンが正しく機能するためです。

関連情報