この簡単なチュートリアルでは、Unixライクなオペレーティングシステムのコマンドラインからファイルをコピーし、所有権と権限を同時に変更する方法について説明します。通常、「cp」コマンドを使用して、ある場所から別の場所にファイルをコピーします。次に、「chmod」コマンドと「chown」コマンドを使用して、ファイルのアクセス許可と所有権をそれぞれ変更します。ただし、これらすべてのタスクをワンライナーコマンドに組み合わせることができます。 、3つの連続したコマンドを実行する代わりに、同じ結果が得られます。これは、定期的に、またはスクリプト内でこれを実行する場合に役立ちます。
ファイルのコピーと所有権、権限の変更を同時に行う
次の例を見てください。
ファイルをコピーし、権限と所有権を変更するには、通常、次のようにします。
$ cp /dir1/file1 /dir2
$ chmod 775 -R /dir2
$ chown -R newowner:newgroup /dir2/file1
ただし、この単純なタスクに3つのコマンドを使用する必要はありません。これは、1つのコマンドで実行できます。ここで「インストール」 コマンドが便利です。
「install」コマンドは物をインストールするためのものだと思いました。しかし、私は間違っていました! 「インストール」コマンドは、ファイルを選択した宛先にコピーし、属性を設定するために使用されます。これは、すべてのLinuxディストリビューションにプリインストールされているGNUcoreutilsの一部です。
それでは、コピー中にファイルの権限と所有権を変更する方法を示しましょう。
$ sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2
上記のコマンドは、ファイル / dir1 / file1をコピーします / dir2へ 、ファイルの権限を 775に変更します 、 skの所有者 、および ostechnixへのグループ 。
上記のコマンドを分解して、コマンドの各部分が何をするかを見てみましょう。
- -C、(-compare):ソースファイルと宛先ファイルの各ペアを比較し、場合によっては、宛先をまったく変更しないでください。
- -m、(--mode):パーミッションモードを設定します(chmodのように)。
- -o、(--owner):ユーザーの所有権を設定します。
- -g、(-group):グループの所有権を設定します。
詳細については、manページを参照してください。
$ man install
おすすめの記事:
- ファイルまたはディレクトリをコピーするときに所有権とファイルのアクセス許可をそのまま維持する方法
- ExplainShell –Linuxコマンドの各部分が何をするかを見つける
そして、それがすべてです。これがお役に立てば幸いです。