Sao chép và chmod / chown cùng một lúc


14

Tôi có một tệp nhật ký thuộc sở hữu rootmà tôi muốn sao chép vào một thư mục thuộc sở hữu của người dùng khác để anh ta phân tích nó (trước tiên nó phải được giải nén).

Hiện tại tôi phải

# cp log.xz /home/user/Documents
# chown user:user /home/user/Documents/log.xz

Có cách nào để phát hành cả hai lệnh cùng một lúc, có thể với một hoặc nhiều cptùy chọn không?


Bạn đang hỏi về việc chạy nhiều lệnh cùng một lúc?
asvignesh

@Vignesh Tôi chỉ hỏi làm thế nào để làm điều đó một cách ngắn nhất, có lẽ với việc sử dụng đường ống đúng cách;)
usr-local-ΕΨΗΕΛΩΝ

Câu trả lời:


6

Trang cp cp không liệt kê bất kỳ tùy chọn nào cho phép bạn làm điều này chỉ với lệnh CP. Nếu bạn muốn phát lệnh và "bỏ đi", bạn có thể đặt 2 lệnh trên 1 dòng cách nhau bởi a; để tự động thực hiện các lệnh theo trình tự.

cp log.xz / nhà / người dùng / Tài liệu; người dùng chown: user /home/user/Document/log.xz

Mặc dù tầm thường, tôi đã hỏi câu hỏi của mình để xem liệu có bất kỳ ống lót thông minh nào không, ví dụ như với việc sử dụng đường ống đúng cách. Nó có thể không tồn tại
usr-local-ΕΨΗΕΛΩΝ

Tôi không nghĩ đó là một giải pháp tốt, nhưng nếu bạn đã chết khi sử dụng đường ống, tôi đã nghĩ ra cách pha chế sau đây mà tôi nghi ngờ sẽ hoạt động - "cp -v /from.dir / to / dir 2> / dev / null | cut -f1 -d "'" | cut -c2- | xargs chown user: user "
davidgo

Đừng di chuyển ngoài câu trả lời được chấp nhận nếu bạn thực sự cần câu trả lời, thưa các bạn ...
JosiahYoder-deactive ngoại trừ ..

34

Bạn có thể muốn xem xét install:

install -g user -o user log.xz /home/user/Documents

installcó các tùy chọn khác phù hợp để cài đặt. ví dụ: đặt chế độ hoặc giữ cấu trúc thư mục.


Mẹo hay. Tôi có xu hướng nghĩ rằng "cài đặt" có nghĩa là để cài đặt mọi thứ, nhưng tóm tắt thực tế của nó trong trang này là: "cài đặt - sao chép tệp và đặt thuộc tính"
Raúl Salinas-Monteagudo

@esperanto: Việc sử dụng chính installvẫn là cài đặt các tệp vào hệ thống. Một số chương trình thực sự ghi đè installbằng cách sửa đổi biến môi trường PATH, để các tệp được cài đặt ở nơi khác. Một số trình xây dựng gói làm điều đó để các tệp không được cài đặt vào hệ thống hiện tại mà được lưu vào một gói.
BatchyX

1
Đó là -g group -o user. -olà viết tắt của chủ sở hữu.
JosiahYoder-deactive ngoại trừ ..

2

xem trang bản đồ của lệnh cp

--preserve [= ATTR_LIST] giữ nguyên các thuộc tính được chỉ định (mặc định: chế độ, quyền sở hữu, dấu thời gian), nếu có thể các thuộc tính bổ sung: bối cảnh, liên kết, xattr, tất cả

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.