Khi nào tôi sử dụng cp --attribut-only


10

Thực hiện một số nghiên cứu về các lệnh Unix cơ bản và cố gắng lấy một ví dụ khi tôi muốn sử dụng tùy chọn dòng lệnh sau --attributes-onlycho lệnhcp

đây là từ cptrang người đàn ông

--attributes-only
              don't copy the file data, just the attributes

Câu trả lời:


12

Giả sử bạn có một tệp, file1mà bạn biết nên có các thuộc tính giống hệt với file2(bạn biết rằng file2có các thuộc tính chính xác).

$ stat file{1,2}
  File: 'file1'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 1fh/31d Inode: 2326956     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/   chris)   Gid: ( 1000/   chris)
Access: 2013-12-24 09:53:20.248720441 +0800
Modify: 2013-12-24 09:53:20.248720441 +0800
Change: 2013-12-24 09:53:31.011984772 +0800
 Birth: -
  File: 'file2'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 1fh/31d Inode: 2326957     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   chris)   Gid: ( 1000/   chris)
Access: 2013-12-24 09:53:21.045382001 +0800
Modify: 2013-12-24 09:53:21.045382001 +0800
Change: 2013-12-24 09:53:21.045382001 +0800
 Birth: -

Một cách để đảm bảo rằng chúng khớp với nhau là đi và kiểm tra file2và áp dụng các thuộc tính theo cách thủ công:

$ chmod 644 file1

Điều này, tuy nhiên, cồng kềnh để tự động hóa và kịch bản. Sẽ dễ dàng hơn để có được các thuộc tính từ file2và áp dụng chúng vào file1lập trình.

$ cp --attributes-only --preserve file2 file1
$ stat file1
  File: 'file1'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 1fh/31d Inode: 2326956     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   chris)   Gid: ( 1000/   chris)
Access: 2013-12-24 09:53:21.045382001 +0800
Modify: 2013-12-24 09:53:21.045382001 +0800
Change: 2013-12-24 09:57:06.320604649 +0800
 Birth: -

--attributes-onlykhông tự làm bất cứ điều gì; nó cần được kết hợp với các cờ bảo quản thuộc tính khác. Từ info cp:

--attributes-only
     Copy only the specified attributes of the source file to the
     destination.  If the destination already exists, do not alter its
     contents.  See the `--preserve' option for controlling which
     attributes to copy.

--preserveđược sử dụng ở trên, được ghi nhận là tương đương với --preserve=mode,ownership,timestamps. Trong nội bộ, bạn có thể nghĩ về điều này là "không sao chép dữ liệu" thay vì "chỉ sao chép các thuộc tính", đó là lý do tại sao bạn phải vượt qua --preservebất kể.


0

Nếu bạn có điện thoại thông minh, bạn có thể chọn nhạc từ PC, khi bạn ở xa nó:

$ cp -rn --attributes-only ~/Music smartphone/Music

Khi bạn ở xa PC, hãy xóa các thư mục, bạn muốn sao chép trong tương lai.

$ cp -rn ~/Music smartphone/Music

Bạn nhận được nhạc chọn và các tập tin trống.

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.