cp命令简称为,主要功能是复制文件或目录。
cp命令可以将多个文件复制到特定文件名或已存在的目录中,同时也可以将多个文件复制到指定目录中。
以下是一些具体的案例:
用root身份,将root目录下的.bashrc复制到/tmp下,并命名为bashrc。
**注意:**与mv命令不同的是,cp是拷贝,而mv相当于剪切。
拷贝多个文件到指定目录中。
递归复制目录及其子目录内的所有内容。
创建文件的硬链接,而不是拷贝。可以使用-l选项来创建“快捷方式”或者链接到文件。
**注意:**创建符号链接只能在当前目录下进行。
只拷贝符号链接文件,可以使用-P选项来实现。
可以试一下-L选项,它与-P选项相反,也是cp默认的行为。
拷贝目录时,符号链接也会被拷贝。
详细显示命令执行的操作可以使用-v选项。
覆盖前询问(使前面的-n选项失效)。
盖已存在的文件目标前将目标文件备份,可以使用--backup选项。
只拷贝文件属性,不拷贝文件内容,可以使用--attributes-only选项。
使用-f选项会强制进行拷贝操作。
❷ linux下cp目录时排除一个或者多个目录的实现方法
说明:/home目录里面有data目录,data目录里面有a、b、c、d、e五个目录,现在要把data目录里面除过e目录之外的所有目录拷贝到/bak目录中
方法一:终端命令行下执行以下命令
cp -R `find /home/data -type d -path /home/data/e -prune -o -print | sed 1d ` /bak
########################################################
脚本实现
脚本存放路径/home/osyunwei.sh
vi /home/osyunwei.sh #编辑脚本,添加下面的代码
#!/bin/sh
cp -R `find /home/data -type d -path /home/data/e -prune -o -print | sed 1d ` /bak
chmod +x /home/osyunwei.sh #添加脚本执行权限
cd /home #进入脚本存放目录
./osyunwei.sh #执行脚本
########################################################
方法二:使用cp命令复制的时候,只能排除一个目录不被复制,如果想排除两个或者多个目录的话,就需要使用rsync命令来实现了,看下面的例子
如果要排除/home/data目录下面的a、b、c、三个目录,同时拷贝其它所有目录,执行以下命令
yum install rsync #安装rsync
rsync -av --exclude data/a --exclude data/b --exclude data/c data /bak
注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。
原文出自http://www.osyunwei.com
❸ Linux中使用cp命令进行强制覆盖的方法
在Linux中使用cp命令进行强制覆盖的方法有三种:
方法一:解除cp的别名 使用alias命令查看系统内部是否为cp设置了别名。 输入unalias cp命令,临时解除cp的别名。之后,你可以直接使用cp命令进行文件拷贝,而不会被询问是否覆盖。 注意:这只是临时取消别名,不是永久性的。
方法二:使用cp命令的绝对路径 直接使用cp命令的可执行文件的绝对路径来执行命令,这样可以绕过别名设置。 例如,使用/bin/cp a test/a命令进行文件拷贝,这样不会触发询问是否覆盖的提示。 或者,输入/后按Tab键自动补全cp命令的绝对路径。
方法三:使用管道自动输入yes 使用yes | cp a test/a命令,通过管道自动输入yes来回答复盖提示。 这种方式会自动连续输入多个yes,从而自动确认覆盖操作。
以上三种方法均可以在Linux中实现cp命令的强制覆盖操作。
❹ linux cp命令,如何复制多个目录下文件到 对应多个目录下面
1、打开SecureCRT,选择要登录的系统IP地址, 点击连接。