realpath
私はこのコマンドとそれがもう使われておらず、readlink -f
今推奨される方法についてたくさん読んでいます。また、readlinkにこれらの機能が不足してrealpathが導入されたところもあり、一度導入されるとrealpathはもはや必要なくなり、ほとんどのオペレーティングシステムベンダーはこれをサポートしません。
readlink -f
私が質問した理由は、私も「非常に似ている」コマンドで推薦する人をたくさん見ましたrealpath
。実際の違いは何ですか?
ベストアンサー1
周辺にはいくつかのコマンドがありますrealpath
。
このrealpath
ユーティリティはラッパーです。realpath
ライブラリ機能は何度も再作成されました。移流。
Debianは一度realpath
パック(分離~からdwww
~から愚かな)は2001年以来、パッケージングと文書化を除いて変更されておらず、現在段階的に廃止されています。現在、より多くの標準的な選択肢(GNUreadlink
とまもなくGNU)があるので、このユーティリティはもう使用されていませんが、realpath
当時はGNUユーティリティはreadlink
まったく存在しませんでした。この実装はrealpath
一部をサポートします。options
シンボリックリンクがヌル終了出力を確認または生成するのを防ぎます。
忙しい箱自分のものを含むrealpath
コマンド(オプションなし)
GNUコアツール紹介したrealpath
コマンド入力バージョン 8.152012年1月。これはBusyBoxやDebianと互換性のある代替手段であり、realpath
GNUと同じオプションがたくさんあります。readlink
。
realpath
readlink -f
GNUと同じ効果がありますreadlink
。これら2つのコマンド(またはrealpath
のさまざまなコマンドreadlink -f
)の違いは、サポートする追加オプションです。
GNU はrealpath
廃止されました。逆の問題があります。 GNUはあまりにも新しく、どこでも利用できません。 DebianはGNU 省略realpath
それからcoreutils
荷物を包んで自分で捕まえてくださいrealpath
。なぜなのかわかりません。 GNUはrealpath
すぐに代用できる必要があるからです。しかし、Debian jessieとUbuntu 16.04以降はrealpath
GNUが使用されています。
現在、Linuxシステムでシンボリックリンクを含めることができるパスを正規化するための最良のオプションはですreadlink -f
。
BSDシステムではreadlink
GNUとは機能が異なるコマンドですreadlink
。特に、BSDにはreadlink
パスを正規化するオプションはなく、渡されたシンボリックリンクのみを通過します。
readlink
ところで、同じ問題 - それも同じです。何度も発明(Unixにシンボリックリンクを追加するときにこのユーティリティが追加されていないのは残念です。)現在、多くの互換性のないフラグを持つ複数の実装(特にBSD対GNU)で安定しています。