cpコマンド


  • コマンドフォーマットcp[OPTION]...[-T] SOURCE DESTcp [OPTION]... SOURCE... DIRECTORYcp [OPTION]... -t DIRECTORY SOURCE...
  • コマンド記述コピーファイルおよびディレクトリ
  • パラメータの説明-a,--archive:-dR--preserve=all--backup[=CONTROL]:既存ファイルごとのバックアップCONTROLはオプションパラメータで、none、off:バックアップなし(--backupが与えられても)numbered、t:番号バックアップexisting、nil:番号バックアップが存在する場合は番号バックアップを使用します.NO者は簡易バックアップ[注釈:波番号で]simple,never:常に簡易バックアップ-b:backupに等しく、値-fまたは-forceを持たない:目的ファイルまたはディレクトリがすでに存在するかどうかにかかわらず、ファイルまたは-iまたは--interactive:ファイルを上書きする前にユーザー-lまたは-linkにソースファイルにハードリンクを作成するコピーファイル-pまたは--preserveではなく、コピーファイル-pまたは--preserve:所有者、所属グループ、権限と時間-Pまたは--no-dereferenceを含むソースファイルまたはディレクトリの属性を保持します.ソースファイルを継承しないシンボルリンク*(ここでは、cpのシンボルリンクファイルをテストした後、新しいファイルもシンボルリンクファイルです)-r:再帰処理、指定したディレクトリの下のファイルをサブディレクトリとともに処理します.ソースファイルまたはディレクトリの形態が、ディレクトリまたはシンボルリンクに属さない場合は、通常のファイル処理-Rまたは--recursive:再帰処理とみなされ、指定されたディレクトリの下のファイルおよびサブディレクトリを一括処理-sまたは--symbolic-link:ソースファイルにシンボルリンクを作成し、ファイル-S<バックアップ語尾文字列>または--suffix=<バックアップ語尾文字列>:「-b」パラメータで目的のファイルをバックアップすると、バックアップファイルの語尾にバックアップ文字列が追加されます.デフォルトのバックアップ文字列は記号「~」-uまたは--update:このパラメータを使用すると、ソースファイルの変更時間(Modification Time)が目的ファイルより更新された場合、または名前が対応する目的ファイルが存在しない場合にのみ、ファイルをコピーする-vまたは--verbose:実行プロセスを表示する--version:バージョン-xまたは--one-file-systemでコピーされたファイルまたはディレクトリが格納されているファイルシステムを表示するには、cpコマンドの実行時に置かれているファイルシステムと同じでなければならない.そうしないと、コピーしないし、他のパーティションにあるファイルを処理しない--helpはオンラインヘルプを表示する--sparse=<使用タイミング>希薄ファイルを保存するタイミングを設定する.オプションパラメータauto:ソースファイルの疎性は簡単な方法で判断するだけで、対応するターゲットファイルのターゲットファイルも疎alwaysとして扱われます.ソースファイルに十分な長さの0シーケンスが含まれているかどうかにかかわらず、ターゲットファイルは疎として作成されます.Never:疎ファイルの作成を禁止します.
  • -bの用法
    sly@fskj-u-sly:~/st$ ls 
    1.txt  2.txt
    sly@fskj-u-sly:~/st$ cp -b -S .bak 1.txt 2.txt 
    cp:    "2.txt"? y
    sly@fskj-u-sly:~/st$ ls -l
        0
    -rw-rw-r-- 1 sly sly 0  7  21 17:02 1.txt
    -rw-rw-r-- 1 sly sly 0  7  21 17:36 2.txt
    -rw-rw-r-- 1 sly sly 0  7  21 17:35 2.txt.bak
  • ハードリンク
    sly@fskj-u-sly:~/st$ cp -l 1.txt 2.txt 
    sly@fskj-u-sly:~/st$ ls -li    #    i   inode ,    ,     inode  
        0
    1834184 -rw-rw-r-- 2 sly sly 0  7  21 17:02 1.txt
    1834184 -rw-rw-r-- 2 sly sly 0  7  21 17:02 2.txt
  • を作成
  • シンボルリンク
    sly@fskj-u-sly:~/st$ ln -s 1.txt 2.txt
    sly@fskj-u-sly:~/st$ ls -l
        0
    -rw-rw-r-- 1 sly sly 0  7  21 17:02 1.txt
    lrwxrwxrwx 1 sly sly 5  7  21 17:26 2.txt -> 1.txt
  • を作成する.
  • あるディレクトリのファイルを別のディレクトリ
    sly@fskj-u-sly:~$ cp -R st st2
    sly@fskj-u-sly:~$ ls -l st2/
        0
    -rw-rw-r-- 1 sly sly 0  7  21 17:28 1.txt
    lrwxrwxrwx 1 sly sly 5  7  21 17:28 2.txt -> 1.txt
    sly@fskj-u-sly:~$ ls -l st
        0
    -rw-rw-r-- 1 sly sly 0  7  21 17:02 1.txt
    lrwxrwxrwx 1 sly sly 5  7  21 17:26 2.txt -> 1.txt
  • にコピーする.
  • ディレクトリが既に存在する場合、上記の方法を使用できない
    sly@fskj-u-sly:~$ ls -ld st2 st/
    drwxrwxr-x 2 sly sly 4096  7  21 17:26 st/
    drwxrwxr-x 2 sly sly 4096  7  21 17:30 st2
    sly@fskj-u-sly:~$ cp -R st st2    
    sly@fskj-u-sly:~$ ls -l st2/    #               
        4
    drwxrwxr-x 2 sly sly 4096  7  21 17:31 st
    sly@fskj-u-sly:~$ cp -R st/* st2
    sly@fskj-u-sly:~$ ls -l st2/
        0
    -rw-rw-r-- 1 sly sly 0  7  21 17:33 1.txt
    lrwxrwxrwx 1 sly sly 5  7  21 17:33 2.txt -> 1.txt
  • .
  • -pパラメータを使用してソースファイルのプロパティを保持する(ここでsudoを使用するのはwww-dataユーザーを作成する権限を持つファイルのため)
    sly@fskj-u-sly:~/st$ ls -l
        0
    -rw-rw-r-- 1 www-data www-data 0  7  21 17:02 1.txt
    sly@fskj-u-sly:~/st$ date && sudo cp 1.txt 2.txt && sudo cp -p 1.txt 3.txt
    2015  07  21      17:47:04 CST
    sly@fskj-u-sly:~/st$ ls -l     #    ,  -p   ,                 
        0
    -rw-rw-r-- 1 www-data www-data 0  7  21 17:02 1.txt
    -rw-r--r-- 1 root     root     0  7  21 17:47 2.txt
    -rw-rw-r-- 1 www-data www-data 0  7  21 17:02 3.txt