/bin全体を./rmlaterフォルダにコピーしたいとしましょう。
cp -rvf /bin/ ./rmalter
私が望む方法で動作cp -rvf /bin ./rmalter
しかし、ソースにスラッシュがない場合は、空のフォルダだけが提供されることを発見しました。- ただし、末尾のスラッシュなしで別のソースフォルダを試しても、ファイルはコピーされ
cp -rvf ./Desktop ./rmlater/
ます。
debian$ cp -rvf /bin ./rmlater/ '/bin' -> './rmlater/bin' debian$ find ./rmlater/ ./rmlater/ ./rmlater/bin debian$ rm -rvf rmlater/* removed 'rmlater/bin' debian$ cp -rvf ./Desktop ./rmlater/ './Desktop' -> './rmlater/Desktop' './Desktop/chrome_via_proxy.desktop' -> './rmlater/Desktop/chrome_via_proxy.desktop' './Desktop/chrome.desktop' -> './rmlater/Desktop/chrome.desktop' ...
では、どうしたのか教えてくれる人はいますか?
答え1
/bin
へのシンボリックリンクです/usr/bin
。/bin
後にスラッシュがないのはシンボリックリンク自体に対応し、後にスラッシュが/bin/
あるのはターゲットディレクトリに対応します。
さらに、cp
繰り返してもデフォルトではシンボリックリンクに従いません。だから
cp -rvf /bin/ ./rmalter
ディレクトリ(およびその内容)をコピーしますが、
cp -rvf /bin ./rmalter
シンボリックリンクのみがコピーされます。