私はLinuxコマンドラインを初めて使用しますが、現時点ではcopyコマンドを理解しようとしています。
サブディレクトリと関連ファイルを含むディレクトリを新しい名前の新しいディレクトリにコピーできるかどうか教えてください。 directory_backup?
事前にすべての助けをありがとう
-r
(再帰的にコピー)を使用して、新しい名前を指定します
cp -r /path/to/directory /path/to/location/new-name
実際のパスに置き換えます。たとえば、stuff
をホームディレクトリから既存ディレクトリbackup
にコピーし、新しいディレクトリにstuff-backup
(この場合ディレクトリはすでに存在します。stuff
がコピーされることに注意してくださいinto it、上書きではありません)。
cp -r ~/stuff ~/backup/stuff-backup
~
は、私の場合、ホームディレクトリ/home/$USER
または/home/zanna
のショートカットです。現在の作業ディレクトリがホームディレクトリである場合は省略できます。これはプロンプトから確認できます。
zanna@monster:~$
^--the ~ here is where I am - home!
-v
verboseフラグを追加して、実行中の各コピーをcp
報告することができます...
$ cp -vr stuff backup/stuff-backup
'stuff/thing1' -> 'backup/stuff-backup/thing1'
'stuff/thing2' -> 'backup/stuff-backup/thing2
...
必要なコマンドは、単に「コピー」を表すcp
です。
たとえば、次の構文のいずれかで使用できます。
cp SOURCEFILE TARGETFILE
cp SOURCEFILE TARGETDIRECTORY
最初のバリアントでは、ターゲットファイルの新しいファイル名を指定できますが、2番目のバリアントでは、ターゲットディレクトリに同じ名前のコピーが作成されます。もちろん、最初に大文字のプレースホルダーを有効なパスに置き換える必要があります。
ただし、cp
は、デフォルトではディレクトリではなくファイルのみで動作します。すべてのコンテンツを含む完全なディレクトリを再帰的にコピーするには、-r
オプションを追加する必要があります。
cp -r SOURCEDIRECTORY TARGETDIRECTORY
端末でman cp
と入力すると、cp
コマンドの詳細を確認できます。
一般的に有用なcpコマンドの代替として、rsyncを使用できます。これには、元のディレクトリ構造のアクセス許可/タイムスタンプを複製するという追加の利点があります。
rsync -av dir/ newdir
-aアーカイブ-v詳細
ソースディレクトリの後ろのスラッシュに注意してください。
次のコマンドを使用して、ディレクトリをある場所から別のサブディレクトリにコピーできます。
cp -Rvp /home/edmuntu/data /home/edmuntu/mydata/
コマンドの説明:
cp
は、探している機能を実行するコマンドです。コピーの略で、まさにそれを行います。この状況で機能するコマンドは次のとおりです。
cp -R source/ destination/
これにより、source/
フォルダーとそのすべてのサブディレクトリがdestination/
にコピーされます。
destination/
が存在しない場合、作成されます。
-R
フラグは再帰を表し、cp
にすべてのサブディレクトリをコピーするよう指示します。
最初にコピーするディレクトリに変更する方が簡単だと思います。この例では、誰もが/boot
を呼び出したディレクトリに変更します。誰でも以下のコマンドをコピーしてターミナルに貼り付けることができます。
cd /boot
Sudo mkdir /boot_backup
Sudo cp -r . /boot_backup
du /boot_backup -h
752K /boot_backup/extlinux/themes/debian-wheezy
756K /boot_backup/extlinux/themes
832K /boot_backup/extlinux
2.5M /boot_backup/grub/i386-pc
20K /boot_backup/grub/locale
2.3M /boot_backup/grub/fonts
7.2M /boot_backup/grub
565M /boot_backup
cp
コマンドの場合、現在のディレクトリは.
として識別されます。これは、変更後の/boot
ディレクトリです。 -r
オプションを使用すると、すべてのサブディレクトリを再帰的に含めることができます。
確実に機能するようにするには、du
を実行して、この場合新しいディレクトリ/boot_backup
内のすべてのサブディレクトリと合計ファイルサイズを一覧表示します。
このウォークスルーを終了した後、Sudo rm -r /boot_backup
を使用して、新しいディレクトリとそのサブディレクトリを削除します。
通常、コピーを作成するときは、デフォルトの作成許可の新しいセットではなく、ファイル許可を同じに保ちます。つまり、cpに-aフラグを使用します。
cp -a file filenew