readlink -f および -e オプションの説明が明確ではありません

ジャラス
-f, --canonicalize
canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist
-e, --canonicalize-existing
canonicalize by following every symlink in every component of the given name recursively, all components must exist

-f または -e が何をするのか理解できません。言葉遣いがさっぱりわからない。正規名は基本的に最短の一意の絶対パスです。しかし、名前の構成要素とは何を意味するのでしょうか? サブディレクトリのことですか?ここで「再帰的に」とはどういう意味ですか? 私が理解しているのは、指定された正規名のすべてのサブディレクトリを再帰的に検索することです。しかし、それはシンボリックリンクには意味がありません。

次に、すべてのコンポーネントが存在する必要がある「-e」オプションの意味は何ですか? ここのコンポーネントは何ですか?

誰かが簡単な例を手伝ってくれませんか? ありがとう

レダ・サリー

ここでの最初のコンポーネントは、パスの要素を意味します。例:

/home/user/.ssh => <component1>/<component2>/<component3>

1- 次のようなディレクトリ構造があるとします。

lols
├── lol
├── lol1 -> lol
└── lol2 -> lol1

また、ここに存在しないディレクトリは lols/lol3 になります。したがって、各コマンドの出力を比較できます。

readlink -f lols/lol1 : /lols/lol
readlink -e lols/lol1 : /lols/lol

パスのすべてのコンポーネントが存在するため、ここでの出力は同じになります。

readlink -f lols/lol8 : lols/lol8
readlink -e lols/lol8 : <empty outpyt>

有するため、ここで出力が異なる-fそれは結果が表示されますがあるので一つのコンポーネントに存在する少なくともされるパスにlolsとで-eすべてのパスので、出力は空になり成分が存在しなければなりません

そして最後は、複数の存在しないディレクトリがある場合です:

readlink -f lols/lol8/lol10 : <empty output>
readlink -e lols/lol8/lol10 : <empty output>

マップページで説明されているように、出力は空になります: -f : 最後のコンポーネントを除くすべてが存在する必要があります => 尊重されません -o : すべてのコンポーネントが存在する必要があります => 尊重されません

2- ls -l だけを使用しない理由:

file1 という名前のファイルを作成し、link1 という名前のこのファイルへのシンボリックリンクを作成し、link1 から別のシンボリックリンク link2 を作成するとします。

touch file1 : file1 
ln -s file1 link1 : link1 -> file1
ln -s link1 link2 : link2 -> link1

次にls -l link2、出力は次のようになります。 link2 -> link1 そしてreadlink link2、出力を使用する、次のようになります。 link1 ; ls -l と同じですが、使用しreadlink -f|-e link2場合の出力は次のようになります。したがって、ソースファイルを指します。

では、いつls の代わりにreadlinkを使用するのですか? ネストされたシンボリックリンクがある場合(再帰的読み取り)。ファイル/ディレクトリが別の場所にある場合。

エラーを回避するには、ls の代わりにreadlinkを使用することをお勧めします

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

readlink-fおよび-eオプションの説明が明確ではありません

分類Dev

readlink-fとreadlink-eのユースケース

分類Dev

readlink-fが期待どおりに機能しない

分類Dev

$(dirname `readlink -f $ 0`)での奇妙な動作

分類Dev

Bash「readlink-f」と同等のC / C ++

分類Dev

readlink コマンドのオプションの説明

分類Dev

readlinkコマンドのオプションを説明する

分類Dev

LinuxおよびMacOSで、シンボリックリンクでない場合にファイルパスを返すreadlinkのオプション

分類Dev

MacでGNUのreadlink-fの動作を取得するにはどうすればよいですか?

分類Dev

「realpath」と「readlink-f」の違いは何ですか

分類Dev

「realpath」と「readlink-f」の違いは何ですか

分類Dev

readlink -f doesn't work as expected

分類Dev

SFTPの `readlink`に相当

分類Dev

fetchmail の mda オプションの %F、%T、および %s の意味は?

分類Dev

SQLAlchemy-DBおよびセッションへの接続を操作します(明確な動作およびドキュメントの一部ではありません)

分類Dev

findの-pathおよび-pruneオプションについて説明する

分類Dev

findの-pathおよび-pruneオプションについて説明する

分類Dev

F5およびF6MacBook Proの明るさボタンは画面上のアイコンを表示しますが、画面の明るさは変更しません

分類Dev

dnsdomainnameおよびhostname-fはFQDNを返しません

分類Dev

Ubuntuにwifiオプションはありません(18.04および16.04)

分類Dev

readlinkコマンドの出力

分類Dev

c言語%f変数、および数値の後のf

分類Dev

c-F_GETFLおよびF_SETFLの使用法

分類Dev

c-F_GETFLおよびF_SETFLの使用法

分類Dev

YouTube API Node.jsクイックスタートで説明されているように、「その他」を選択するオプションはありません。

分類Dev

F#にはaddress-of&およびpointer dereference *関数がありますか?

分類Dev

apache tomcatログの%Dおよび%Fとは何ですか?

分類Dev

Django、JSONField、Postgres、およびF()オブジェクトの比較

分類Dev

Shift-F5およびShift-F6は、Mac OSXのMidnightCommanderでは機能しません

Related 関連記事

  1. 1

    readlink-fおよび-eオプションの説明が明確ではありません

  2. 2

    readlink-fとreadlink-eのユースケース

  3. 3

    readlink-fが期待どおりに機能しない

  4. 4

    $(dirname `readlink -f $ 0`)での奇妙な動作

  5. 5

    Bash「readlink-f」と同等のC / C ++

  6. 6

    readlink コマンドのオプションの説明

  7. 7

    readlinkコマンドのオプションを説明する

  8. 8

    LinuxおよびMacOSで、シンボリックリンクでない場合にファイルパスを返すreadlinkのオプション

  9. 9

    MacでGNUのreadlink-fの動作を取得するにはどうすればよいですか?

  10. 10

    「realpath」と「readlink-f」の違いは何ですか

  11. 11

    「realpath」と「readlink-f」の違いは何ですか

  12. 12

    readlink -f doesn't work as expected

  13. 13

    SFTPの `readlink`に相当

  14. 14

    fetchmail の mda オプションの %F、%T、および %s の意味は?

  15. 15

    SQLAlchemy-DBおよびセッションへの接続を操作します(明確な動作およびドキュメントの一部ではありません)

  16. 16

    findの-pathおよび-pruneオプションについて説明する

  17. 17

    findの-pathおよび-pruneオプションについて説明する

  18. 18

    F5およびF6MacBook Proの明るさボタンは画面上のアイコンを表示しますが、画面の明るさは変更しません

  19. 19

    dnsdomainnameおよびhostname-fはFQDNを返しません

  20. 20

    Ubuntuにwifiオプションはありません(18.04および16.04)

  21. 21

    readlinkコマンドの出力

  22. 22

    c言語%f変数、および数値の後のf

  23. 23

    c-F_GETFLおよびF_SETFLの使用法

  24. 24

    c-F_GETFLおよびF_SETFLの使用法

  25. 25

    YouTube API Node.jsクイックスタートで説明されているように、「その他」を選択するオプションはありません。

  26. 26

    F#にはaddress-of&およびpointer dereference *関数がありますか?

  27. 27

    apache tomcatログの%Dおよび%Fとは何ですか?

  28. 28

    Django、JSONField、Postgres、およびF()オブジェクトの比較

  29. 29

    Shift-F5およびShift-F6は、Mac OSXのMidnightCommanderでは機能しません

ホットタグ

アーカイブ