Mục đích của cp -x (ở trên hệ thống tập tin)?


25

Nếu tôi muốn ở cùng một hệ thống tệp, tôi không thể chỉ định đường dẫn đầu ra cho cùng một hệ thống tệp?

Hoặc là để ngăn chặn vô tình rời khỏi hệ thống tập tin hiện tại?


1
-x trong một ngữ cảnh khác: unix.stackexchange.com/a3538331/30851 nhưng tương tự đối với cp: -x bỏ qua mọi thứ, nếu bạn đang di chuyển các hệ thống tệp và muốn nó là một bản sao hoàn chỉnh, hãy xem xét việc gắn kết theo cách mang lại bạn hình ảnh đầy đủ.
frostschutz

1
Bạn có thể hỏi tương tự về nhiều cờ, ví dụ -i: "tại sao không chỉ định đích không tồn tại"?
JigglyNaga

1
@JigglyNaga Tôi cũng đã nghĩ như vậy. Nhưng -x không được thực hiện tốt trong tài liệu và ít rõ ràng hơn.
neverMind9

Câu trả lời:


59

Nó giới hạn nơi các tệp được sao chép từ , không phải nơi chúng được sao chép. Nó hữu ích với các bản sao đệ quy, để kiểm soát cách cpđi xuống các thư mục con. Như vậy

cp -xr / blah

sẽ chỉ sao chép hệ thống tập tin gốc chứ không phải bất kỳ hệ thống tập tin nào khác được gắn kết.

Xem các cp -xtài liệu (mặc dù sự khác biệt của nó là tinh tế).


3
Ồ vâng, bạn có thể không muốn sao chép chia sẻ mạng dưới / mnt. Cũng không phải là một kho lưu trữ RCS từ xa được gắn dưới ổ đĩa nhà của bạn.
mckenzm

1
@mckenzm Ngoài ra, vì /mntchỉ là quy ước của con người đôi khi được thi hành bởi thiết lập của một bản phân phối nhưng không phải là một yêu cầu của HĐH. Đôi khi tôi có các hệ thống tệp mạng được gắn kết /var/somewebsite/www/sessionsđể triển khai các máy chủ web cân bằng tải
slebetman

Thật vậy, loại cờ này ngăn chặn việc vô tình sao chép các chia sẻ mạng lớn hoặc phương tiện lưu động mà bạn quên bạn đã gắn. Và bạn không cần phải cung cấp --excludetùy chọn để chặn từng người trong số họ. Rất hữu ích với rsync.
Lassi

3
Nó cũng tránh sao chép hệ thống tập tin như /dev, /proc, /sysvv mà bạn thường không muốn đọc “ồ ạt”.
Stephen Kitt

28

Các -xlá cờ để cplà một phần mở rộng GNU. Khi sao chép một tệp duy nhất, tùy chọn này sẽ không có hiệu lực, nhưng khi sao chép toàn bộ phân cấp tệp, -xtùy chọn sẽ ngăn việc sao chép các tệp và thư mục không nằm trên cùng hệ thống tệp với nguồn gốc.

Ví dụ: trên một hệ thống tệp có các điểm gắn kết tại /usr/usr/local, sử dụng cp -xR /usr /some-destsẽ không sao chép cấu trúc phân cấp bên dưới /usr/local.

Có những tiện ích khác với một -xtùy chọn với ngữ nghĩa tương tự, chẳng hạn như dufind(cờ được gọi là -xdevcho find), và rsync.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.