コピーとchmod / chownを同時に行う


14

root別のユーザーが所有するディレクトリにコピーしたいログファイルがあり、彼がそれを分析できるようにします(最初に解凍する必要があります)。

現在、私はしなければなりません

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

1つ以上のcpオプションを使用して、両方のコマンドを同時に発行する方法はありますか?


あなたは同時に複数のコマンドを実行することについて尋ねていますか?
asvignesh 2013

@Vigneshパイプを適切に使用して、おそらく最短の方法を実行する方法を尋ねているだけです;)
usr-local-ΕΨΗΕΛΩΝApr

回答:


6

cpのmanページには、CPコマンドだけでこれを実行できるオプションはリストされていません。コマンドを発行して「立ち去る」だけの場合は、2つのコマンドを1行に;で区切って配置できます。コマンドを順番に自動的に実行します。

cp log.xz / home / user / Documents; chownユーザー:user /home/user/Documents/log.xz

些細なことですが、パイプを適切に使用するなど、スマートなワンライナーがあるかどうかを確認するために質問しました。それはおそらく存在しません
USR-ローカルΕΨΗΕΛΩΝ

私はそれが良い解決策だとは思いませんが、パイプの使用に夢中になっている場合、私は次の調合を考え出しました-私はうまくいくと思います-"cp -v /from.dir / to / dir 2> / dev / null | cut -f1 -d "'" | cut -c2- | xargs chown user:user "
davidgo

本当に答えが必要な場合は、受け入れられた答えを超えてスクロールしてください
。皆さん

34

あなたは見てみたいかもしれませんinstall

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

installインストールに適した他のオプションがあります。たとえば、モードを設定したり、ディレクトリ構造を保持したりします。


いいヒント。私は物事をインストールすることを意図していると思う「インストール」する傾向にあったが、manページでは、実際の概要は次のとおりです。「インストール-コピーファイルとセットの属性」
ラウル・サリナス-Monteagudo

@esperanto:の主な用途は、installファイルをシステムにインストールすることです。一部のプログラムは実際にinstallはPATH環境変数を変更して上書きするため、ファイルは別の場所にインストールされます。一部のパッケージビルダーは、ファイルを現在のシステムにインストールせずに、パッケージに保存するようにしています。
BatchyX 2013

1
です-g group -o user-o所有者の略です。
JosiahYoder-deactive以外..

2

cpコマンドのマップページを参照してください

--preserve [= ATTR_LIST]指定された属性(デフォルト:モード、所有者、タイムスタンプ)を保持します。可能な場合、追加の属性:コンテキスト、リンク、xattr、すべて

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.