フォルダとサブフォルダを含むそのすべてのコンテンツをコピーします。私はUbuntuでCを使用しています。コピーされたファイルを指し示すシンボリックリンクを持つディレクトリをコピーします(ディレクトリツリー内)
通常のファイルとフォルダをコピーするのはこれまで簡単で簡単ですが、リンクをコピーするための仕様(今のところシンボリック)は、コピーしたファイルにリンクする必要があります。今のところ、私はディレクトリツリー内のリンクだけに興味があります。
(木外のリンクが、私は簡単なはずだと思う - ちょうど新しいリンクへのフルパスをコピープラス、彼らは木やない属しているかどうかを調べる - sarnoldは私に達成するためにrsync
の使用についてのヒントを与えたが、それは難しいですその)
だから私はREADLINKによって返された絶対パスを持っている:
最悪の場合になります/home/giorgos/Desktop/folder/folder1/a.pdf
:
/home/giorgos/Desktop/folder/folder/folder/folder1/a.pdf
しかし、私はディレクトリツリーへの相対パスを取得する方法を見つけることができません。私はそれを見つけることができれば、私はコピーしたディレクトリの名前に置き換えることができます:私は、CPまたはシステム()関数またはその種の機能を使用することはできません
/home/giorgos/Desktop/March/folder/myfolder/folder/folder1/a.pdf
、解決策は、低レベルである必要があります。私はCライブラリ+ GNUを使うことができますが、とにかく私は興味を持っています。
tarとuntarし-hを使用して、部分的に助けを持っているでしょうリンク名の代わりにリンクのターゲットを配置します。 – Jayan
私はリンクのターゲットに興味がありません。既にコピーしました。新しいディレクトリツリーに同じ名前のリンクがあり、対応するファイルを指しています(コピーされています)。 –