これらとの違いは何ですか?そして現在のディレクトリは?

これらとの違いは何ですか?そして現在のディレクトリは?

現在のディレクトリをソースにコピーしようとしています。フルパスを使用すると、ディレクトリ全体を宛先にコピーする予想される動作が提供されます。

$ cd /tmp
$ mkdir a b
$ cd a
$ touch 1 2 3
$ cp -r /tmp/a /tmp/b # use /tmp/a as source
$ ls /tmp/b
a

しかし、.ソースを引用するとコンテンツディレクトリ自体ではなくソース。

$ cd /tmp
$ mkdir c
$ cd a
$ cp -r . /tmp/c # use . as source
$ ls /tmp/c
1 2 3

.現在のディレクトリの絶対パスとの違いは何ですか?現在のディレクトリ自体をコピーしたい場合は、簡単な参照はありますか? (私が見ることができる唯一の方法はを使用することですが../a、これは少し重複しているようです。)

ベストアンサー1

cp最初のケースではコンテンツのコピーを要求するので、まずコンテンツをコピーしてからコンテンツをコピーします。/tmp/a/tmp/ba/tmp/b/aa/tmp/b/a

2番目のケースでは、上記と同じ事故プロセスを使用してコンテンツをコピーするように依頼しますcp。これを最初のコピーと考えることができます。./tmp/b./tmp/b/.つまり /tmp/b)、.内容をにコピーします/tmp/b/.

現在のディレクトリの名前が異なる可能性があるため(シンボリックリンクを使用)、すべての場合に機能する現在のディレクトリへの短い参照はありません。私の考えにあなたが得ることができる最も近いものは$PWD

おすすめ記事