Linux cp命令总给

描述:

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

说明:

cp命令:cp - copy files and directories

用法: cp 源文件   目标文件;

语法格式:

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

单源复制:cp [OPTION]... [-T] SOURCE DEST

如DEST不存在,则会事先创建这个目录,然后复制文件的数据流至DEST中

多源复制:cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i:交互式复制,即复制前提示是否覆盖

-f:强制覆盖目标文件

-r,R:递归复制目录

-d:复制符号链接文件本身,而非其指向的源文件

-a:用于实现归档

- -preserve=[ATTR_LIST]

mode:权限

timestamps:时间戳

xattr:扩展属性

links:符号链接

all:上诉所有属性

-p:等同于- -preserv=mode,ownership,timestamp

-v:显示过程


示例:

1,复制当前目录下的文件a至/tmp下,文件a事先存在

[[email protected] ~]# cp a /tmp
[[email protected] ~]# ls /tmp
a  ks-script-mvrGLm  ks-script-mvrGLm.log  yum.log

2,复制当前目录下的文件a,文件b至/tmp/e下,文件e事先存在:

[[email protected] ~]# cp a /tmp/e
cp: overwrite `/tmp/e‘? y

3,复制当前目录下的文件a至/tmp/A下,目录事先存在:

[[email protected] ~]# cp a /tmp/A
[[email protected] ~]# ls /tmp/A
a

4,复制当前目录下的文件a,b至G下,G事先不存在:

[[email protected] ~]# cp a b  G
cp: target `G‘ is not a directory

5,复制当前目录下的文件a ,b至/tmp/z下,文件z事先存在:

[[email protected] ~]# cp a b c d /tmp/z
cp: target `/tmp/z‘ is not a directory

6,复制当前目录下的文件a,b至/tmp/B下,目录B事先存在:

[[email protected] ~]# cp a b /tmp/B
[[email protected] ~]# ls /tmp/B
a  b

7,复制当前目录下的目录A至/tmp下:

[[email protected] ~]# cp -r A /tmp
[[email protected] ~]# ls /tmp/A
c  d

8,复制当前目录下的目录A至/tmp/a下,文件a事先存在:

[[email protected] ~]# cp -r A /tmp/a
cp: cannot overwrite non-directory `/tmp/a‘ with directory `A‘

9,复制当前目录下的目录A至/tmp下:

[[email protected] ~]# cp -r A /tmp
[[email protected] ~]# ls /tmp/A
c  d

习题:

1 ,使用别名命令baketc,每日将/etc/ 目录下所有文件,备份到/testdir/ 下独立的新目录下,

并要求新目录为格式为 backupYYYY-mm-dd  ,备份过程可见

 # alias baketc=‘cp -arv /etc/  /testdir/backup$(date +%F)‘

2 ,先创建/testdir/rootdir 目录,再复制/root 所有下文件到该目录内,并要求保留原有权限

 # cp --preserve=mode  -r /root/  /testdir/rootcp


结束语:

以上内容是本人对cp命令的总结,由于本人初学Linux,对此命令认识和理解不够全面和深入,难免会有遗漏,望各位路过的达人多多指教,不胜感激!

时间: 2024-08-01 10:45:42

Linux cp命令总给的相关文章

linux cp命令参数及用法详解---linux 复制文件命令cp

linux cp命令参数及用法详解---linux 复制文件命令cp [[email protected]Linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[[email protected]linux ~]# cp [options] source1 source2 source3 -. directory参数:-a :相当于 -pdr 的意思:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身:-

浅谈Linux cp命令

Linux 的cp命令 功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息参数:     -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同     -b 或 --backup      删除.覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文

LINUX CP命令

cp命令 即复制命令,将一个文件或目录复制到另一个位置 cp source destination     // 复制 源对象 目的对象 常见的命令行参数 1.-b        //创建已存在目标的备份 2.-l         //创建链接文件而非复制文件 3.-p       //保留文件属性 4.-r        //递归的复制文件 5.-R       //递归的复制目录 个人认为比较重要的是 -p -r        复制文件 -R       复制目录

嵌入式Linux cp命令实现

最近项目在数据导出的时候出现问题,基本思路是: 首先vfork创建一个进程,子进程中创建2个线程,线程1负责界面显示,线程2负责数据拷贝:父进程保存配置文件并退出应用: 其中,线程2中又创建一个进程用来调用系统cp命令,在线程1中又vfork使用类system命令函数发送kill命令杀死cp拷贝(kill -9 $(pgrep cp)); 通过以上思路,可以知道,设计混乱,线程中不断创建进程,进程又线程的,好歹哥也编程几年了,怎么能容忍这么垃圾的代码存在,闲暇之时,改之: 新的思路: 自己实现c

Linux cp 命令简单实现

/* 实现cp命令: */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <string.h> int main(int argc, char *argv[]) { int rd_fd, wr_fd;//读文件描述符 和 写文件描述符 char buf[128]={0}; int rd_ret = 0; if(argc

linux cp命令批量复制不提示方法

功能: 复制文件或目录 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息 参数: -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同 -b 或 --backup      删除.覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录.假如没有

linux cp 命令详解

/home/lee#cp --help 用法:cp [选项]... 来源 目的地 或:cp [选项]... 来源... 目录 或:cp [选项]... --target-directory=目录 来源... 将<来源>文件复制至<目的地>,或将多个<文件>复制至<目录>. 长选项必须用的参数在使用短选项时也是必须的. -a, --archive 等於 -dpR --backup[=CONTROL] 为每个已存在的目的地文件创建备份文件 -b 类似 --bac

Linux cp命令详解

cp常见命令参数 Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY or: cp [OPTION]... -t DIRECTORY SOURCE... Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short opti

谈linux cp命令的覆盖

系统定义了别名 alias cp='cp -i' -i, --interactive            prompt before overwrite (overrides a previous -n option) 交互确认 直接cp -rf test.txt test/ 会有提示 无提示方法 1./cp -rf test.txt test/  cp前加/符号会覆盖,无提示 2.在脚本里执行 3.注释掉别名