ウェブサイト検索

ファイルをコピーし、同時に所有権とアクセス許可を変更します


この簡単なチュートリアルでは、Unix 系オペレーティング システムのコマンド ラインからファイルをコピーし、同時に所有権と権限を変更する方法について説明します。

通常、ある場所から別の場所にファイルをコピーするには「cp」コマンドを使用します。次に、「chmod」コマンドと「chown」コマンドを使用して、ファイルのアクセス許可と所有権をそれぞれ変更します。

ただし、これらすべてのタスクを 1 つの ワンライナー コマンド に結合しても、3 つの連続したコマンドを実行する代わりに、同じ結果を得ることができます。これは、これを定期的に実行する場合、またはスクリプト内で実行する場合に役立ちます。

ファイルをコピーし、同時に所有権とアクセス許可を変更します

次の例を見てください。

ファイルをコピーして権限と所有権を変更するには、通常次の操作を行います。

cp /dir1/file1 /dir2
chmod 775 -R /dir2
chown -R newowner:newgroup /dir2/file1

ただし、この単純なタスクに 3 つのコマンドを使用する必要はありません。これは 1 つのコマンドで実行できます。ここで「install」 コマンドが役に立ちます。

「install」コマンドは何かをインストールするためのものだと思っていました。しかし、私は間違っていました! 「install」コマンドは、選択した宛先にファイルをコピーし、属性を設定するために使用されます。これは、すべての Linux ディストリビューションにプリインストールされている GNU coreutils の一部です。

ここで、コピー中にファイルのアクセス許可と所有権を変更する方法を説明します。

sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2

上記のコマンドは、ファイル /dir1/file1/dir2 にコピーし、ファイルのアクセス許可を 775 に、所有者を に変更します。 > スク 、 グループは オステニクス へ。

上記のコマンドを分解して、コマンドの各部分が何を行うかを見てみましょう。

  • -C, (--compare) : ソース ファイルと宛先ファイルの各ペアを比較し、場合によっては宛先をまったく変更しません。
  • -m, (--mode) : 許可モードを設定します (chmod と同様)。
  • -o, (--owner) : ユーザーの所有権を設定します。
  • -g, (--group) : グループの所有権を設定します。

詳細については、マニュアルページを参照してください。

man install

推奨読書:

  • ファイルまたはディレクトリをコピーするときに所有権とファイル権限をそのまま維持する方法
  • ExplainShell – Linux コマンドの各部分の機能を確認する

そして、それだけです。お役に立てれば。

関連記事