`rsync`の `--link-dest`は絶対パス名のみを使用しますか?

`rsync`の `--link-dest`は絶対パス名のみを使用しますか?

絶対パス名と相対パス名が機能しない--link-dest=DIRのはなぜですか?rsyncDIRDIR

私が走るとき

rsync -a --delete --link-dest=dest my\ dir  dest2/
rsync -a --delete --link-dest=./dest my\ dir  dest2/

my\ dirソースファイルとdest同じファイルがターゲット./destディレクトリにコピーされますdest2

私が走るとき

rsync -a --delete --link-dest=/tmp/test/backup/dest my\ dir  dest2/

ソース内の同じファイルmy\ dirとターゲットディレクトリに/tmp/test/backup/dest ハードリンクされている/tmp/test/backup/destdest2


私の推測が正しい場合は、絶対パスrsyncのみを使用するにはどうすればよいですか--link-dest

Linux APIのすべての関数にパス名引数を使用する場合、パス名引数が絶対パス名または相対パス名である可能性がありますか?

ありがとうございます。

ベストアンサー1

引用するrsyncマンページ説明--link-dest:

もし目次宛先ディレクトリに対する相対的な相対パス。

したがって、宛先ディレクトリに相対的な相対パスを使用できます。

「Linux API」(カーネルが提供するユーザー空間APIを意味するようです)がこれとどのような関係があるのか​​わかりません。rsyncこれはLinux専用のツールではありません。ただし、パスを許可するほとんどの呼び出しでは、絶対パス名と相対パス名の両方を使用できます。後者の場合、パスは通常、現在のディレクトリまたは提供されているファイル記述子(呼び出しで...at例えば openat)。 (確認していませんでした)みんな電話番号)

おすすめ記事