Câu trả lời này cho thấy rằng người ta có thể sao chép tất cả các tệp - bao gồm cả các tệp bị ẩn - từ thư mục src
vào thư mục dest
như vậy:
mkdir dest
cp -r src/. dest
Không có lời giải thích trong câu trả lời hoặc ý kiến của nó về lý do tại sao điều này thực sự hoạt động, và dường như không ai tìm thấy tài liệu về điều này.
Tôi đã thử một vài điều. Đầu tiên, trường hợp bình thường:
$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src dest
$ ls -A dest
dest_file src
Sau đó, với /.
ở cuối:
$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src/. dest
$ ls -A dest
dest_file .dotfile src_dir src_file
Vì vậy, điều này hành xử tương tự *
, nhưng cũng sao chép các tập tin ẩn.
$ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file
$ cp -r src/* dest
$ ls -A dest
dest_file src_dir src_file
.
và ..
là các liên kết cứng thích hợp như được giải thích ở đây , giống như mục nhập thư mục.
Hành vi này đến từ đâu và được ghi lại ở đâu?
.
và ..
không hành xử như các thư mục khác.
cp
tài liệu tham khảo giải thích rõ ràng làm thế nàocp -R
hoạt động..
và..
là những thư mục giống như bất kỳ thư mục nào khác, không có gì kỳ diệu hay bí ẩn về chúng.