同じコマンドでディレクトリをコピーして名前を変更するにはどうすればよいですか?


15

現在、私はこれら2つのコマンドを実行して、ディレクトリのクイックバックアップを作成しています。2つのコマンドを1つに結合して、1つのコマンドで新しいディレクトリをコピーして名前を変更する方法はありますか?

#cp -R /tf/Custom_App /tf/Custom_App_backups/
#mv /tf/Custom_App_backups/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

1
cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
jesse_b 2017

その2つの事柄のエイリアスまたは関数を定義する方法はどうでしょう;)
LinuxSecurityFreak 2017

回答:


21

あなたはちょうどできるはずです

cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

ただし、ターゲットディレクトリが既に存在する場合は、ソースパスの最後の部分を宛先パスに追加してを作成し /tf/Custom_App_backups/Custom_App_2017-12-21/Custom_App、その中のツリーの残りの部分をコピーします。

これを防ぐに/tf/Custom_App/.は、ソースとして使用します。もちろん、その場合rm -r /tf/Custom_App_backups/Custom_App_2017-12-21、コピー後に古いファイルをそこに置いておきたくない場合は、最初にしたい場合があります。

/some/dirとは、/some/dir/.バックしながら議論されたCPが不気味ときに振る舞います。(ドット)または..(ドットドット)はソースディレクトリです


.ソースディレクトリとして渡す代わりに、-Tフラグを使用しcpて宛先内に新しいメンバーを作成するのではなく、宛先を上書きするように指示することもできます。
Toby Speight 2017

@TobySpeight、... GNUでcp
ilkkachu 2017

1
/tf/Custom_app/.トリックは私が必要なものだけです。
Martin Bonnerがモニカをサポートする

cp -aも動作します。
flow2k

1
@ flow2k、特にGNUユーティリティには非標準のオプションがたくさんあり、それらの多くは非常に便利です。cp -aもちろん、例えばFreeBSDOpenBSDにも登場しますが、それはまだ標準機能ではありません。つまり、POSIXでは指定されていません。(cp -T先に述べたように、GNUismのようです。POSIXにはなく、BSDにもありません。)
ilkkachu

1

または、次のようにすることもできます。

mkdir /tf/Custom_App_backups/Custom_App_2017-12-21 # prepare the target location
cp -R /tf/Custom_app/. /tf/Custom_App_backups/Custom_App_2017-12-21 # copy only the contents

これにより、事前にカスタムの場所を指定できます。また、サフィックスが使用されていることにも注意して/.ください。これにより、コンテンツのコピーと、それを含むフォルダーの除外のみが可能になりCustom_appます。この場合はフォルダーです。

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