各ファイルが元のファイルへのハードリンクであるディレクトリツリーの「コピー」を作成したいと思います。
例: 次のディレクトリ構造があります。
dirA/
dirA/file1
dirA/x/
dirA/x/file2
dirA/y/
dirA/y/file3
これは、各ファイルがソースへのハードリンクであるディレクトリツリーの「コピー」である予想結果です。
dirB/ # normal directory
dirB/file1 # hardlink to dirA/file1
dirB/x/ # normal directory
dirB/x/file2 # hardlink to dirA/x/file2
dirB/y/ # normal directory
dirB/y/file3 # hardlink to dirA/y/file3
ベストアンサー1
Linux(より正確には、GNUとLinuxをカーネルとして使用するシステムで一般的に見られるbusybox
実装を使用cp
)と最近のFreeBSDでは、次のようになります。
cp -al dirA dirB
より移植性の高いソリューションについては、paxとcpioを使用したStéphane Chazelasの回答を参照してください。