Copia e chmod / chown allo stesso tempo


14

Ho un file di registro di proprietà rootche voglio copiare in una directory di proprietà di un altro utente affinché possa analizzarlo (deve prima essere decompresso).

Attualmente dovrei

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

C'è un modo per emettere entrambi i comandi contemporaneamente, magari con una o più cpopzioni?


stai chiedendo di eseguire più comandi contemporaneamente?
asvignesh,

@Vignesh Sto solo chiedendo come farlo nel modo più breve, forse con un uso corretto dei tubi;)
usr-local-ΕΨΗΕΛΩΝ

Risposte:


6

La pagina man di cp non elenca alcuna opzione che ti consenta di farlo solo con il comando CP. Se si desidera semplicemente emettere un comando e "allontanarsi", è possibile inserire i 2 comandi su 1 riga separati da un; per eseguire automaticamente i comandi in sequenza.

cp log.xz / home / user / Documents; chown user: utente /home/user/Documents/log.xz

Anche se banale, ho posto la mia domanda per vedere se c'era un solo rivestimento intelligente, ad esempio con un uso corretto dei tubi. Probabilmente non esiste
usr-local-ΕΨΗΕΛΩΝ

Non penso che sia una buona soluzione, ma se sei pronto a usare le pipe, ho pensato alla seguente miscela che sospetto funzionerà - "cp -v /from.dir / to / dir 2> / dev / null | cut -f1 -d "'" | cut -c2- | xargs chown user: user "
davidgo

Scorri oltre la risposta accettata se hai davvero bisogno di una risposta, gente ...
JosiahYoder-deactive tranne ...

34

Potresti voler guardare install:

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

installha altre opzioni adatte per l'installazione. ad es. impostare la modalità o preservare la struttura delle directory.


Bel consiglio. Tendevo a pensare che "install" intendesse installare le cose, ma il suo vero sommario nella manpage è: "install - copia i file e imposta gli attributi"
Raúl Salinas-Monteagudo

@esperanto: l'uso principale di installè ancora quello di installare i file sul sistema. Alcuni programmi effettivamente sovrascrivono installmodificando la variabile d'ambiente PATH, in modo che i file vengano installati altrove. Alcuni compilatori di pacchetti lo fanno in modo che i file non vengano installati nel sistema corrente, ma piuttosto salvati in un pacchetto.
BatchyX

1
Lo è -g group -o user. -osta per proprietario.
JosiahYoder-deactive tranne ...

2

vedi la pagina della mappa del comando cp

--preserve [= ATTR_LIST] conserva gli attributi specificati (impostazione predefinita: modalità, proprietà, timestamp), se possibile attributi aggiuntivi: contesto, collegamenti, xattr, tutti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.