Kopiuj i chmod / chown jednocześnie

14

Mam plik dziennika należący do roottego, który chcę skopiować do katalogu należącego do innego użytkownika, aby mógł go przeanalizować (najpierw należy go rozpakować).

Obecnie musiałbym

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

Czy istnieje sposób wydawania obu poleceń jednocześnie, być może z jedną lub kilkoma cpopcjami?

usr-local-ΕΨΗΕΛΩΝ
źródło
pytasz o uruchamianie wielu poleceń jednocześnie?
asvignesh
@Vignesh Po prostu pytam, jak to zrobić najkrótszą drogą, być może przy odpowiednim użyciu rur;)
usr-local-ΕΨΗΕΛΩΝ

Odpowiedzi:

6

Strona man cp nie zawiera żadnych opcji, które pozwoliłyby ci to zrobić tylko za pomocą komendy CP. Jeśli chcesz po prostu wydać polecenie i „odejść”, możesz umieścić 2 polecenia w 1 linii oddzielone znakiem; aby automatycznie wykonywać polecenia po kolei.

cp log.xz / home / user / Documents; użytkownik chown: użytkownik /home/user/Documents/log.xz
Davidgo
źródło
Choć banalne, zadałem pytanie, aby sprawdzić, czy istnieje jakaś inteligentna jednowarstwowa, np. Z właściwym użyciem rur. Prawdopodobnie nie istnieje
usr-local-ΕΨΗΕΛΩΝ
Nie wydaje mi się, żeby to było dobre rozwiązanie, ale jeśli nie jesteś gotowy na używanie rur, wymyśliłem następującą miksturę, która, jak podejrzewam, zadziała - "cp -v /from.dir / to / dir 2> / dev / null | cut -f1 -d "'" | cut -c2- | xargs chown użytkownik: użytkownik "
davidgo 10.04.2013
Przewiń poza zaakceptowaną odpowiedź, jeśli naprawdę potrzebujesz odpowiedzi, ludzie ...
JosiahYoder-deactive, z wyjątkiem ..
34

Możesz spojrzeć na install:

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

installma inne opcje odpowiednie do instalacji. np. ustaw tryb lub zachowaj strukturę katalogów.

BatchyX
źródło
Dobra wskazówka. Zazwyczaj myślałem, że „install” ma na celu instalowanie różnych rzeczy, ale jego rzeczywiste streszczenie na stronie podręcznika brzmi: „install - kopiuj pliki i ustawiaj atrybuty”
Raúl Salinas-Monteagudo
@esperanto: Podstawowym zastosowaniem installnadal jest instalowanie plików w systemie. Niektóre programy faktycznie nadpisują install, modyfikując zmienną środowiskową PATH, tak aby pliki były instalowane gdzie indziej. Niektórzy konstruktorzy pakietów tak robią, aby pliki nie były instalowane w bieżącym systemie, ale raczej zapisywane w pakiecie.
BatchyX 10.04.13
1
Jest -g group -o user. -ooznacza właściciela.
JosiahYoder-deactive oprócz ...
2

zobacz stronę mapy polecenia cp

--preserve [= ATTR_LIST] zachowaj określone atrybuty (domyślnie: tryb, własność, znaczniki czasu), jeśli to możliwe, dodatkowe atrybuty: kontekst, linki, xattr, wszystkie

Jalal Hajigholamali
źródło