【linux下一次复制cp多个文件】

news/2024/9/20 11:49:04

linux下一次复制cp多个文件

linux cp 参数说明

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
实际想要达到不提示的效果:应该写成"\cp -rf",比如:\cp -rf ./mdm-bak/2021-06-29-81243/*.war ./webapps
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

1 常用复制/备份命令

1.备份tomcat中所有的war包,到指定的目录下:
cp -p ./webapps/*.war ./mdm-bak/2021-06-29-update-before
cp -p ./webapps/*.war /home/tomcat/apache-tomcat-9.0.37/mdm-bak/2021-06-29-update-before2.多文件复制:(注意文件之间不要有空格)
cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/3.备份(同目录)  //复制 flags.c 到flags_checkered.c 文件,当前文件同属于同一目录下
cp flags.c flags_checkered.c4.备份(不同目录)  //复制当前文件夹下的 flags.c 文件到 lab09 文件夹下flags_recised.c 文件
cp flags.c /home/user05/lab09/flags_revised.c5.文件夹备份 //复制 lab07文件夹下的所有文件到 lab09 文件夹下
cp -r /home/user05/lab07/* /home/user05/lab09

高级备份语句 :

1.进入到tomcat目录下后,先创建文件夹:mkdir -m 777 ./mdm-bak/2021-06-29-update-before    (需要已存在mdm-bak文件夹)2.1备份所有war文件,到指定目录:cp -p ./webapps/*.war ./mdm-bak/2021-06-29-update-before
2.1备份部分war文件,到指定目录:cp -p ./webapps/{bpm.war,engine.war} ./mdm-bak/2021-06-29-update-before
2.3备份一个war文件,到指定目录:cp -p ./webapps/bpm.war ./mdm-bak/2021-06-29-update-before将上传的war包放入webapps目录下,(配合lrzsz使用更佳,rz上传,sz下载)
\cp -rf ./mdm-bak/2021-06-29-81243/*.war ./webapps

二、linux下使用cp命令拷贝多个文件有几种方法,一是使用通配符,二是使用管道

1.通配符的使用

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。主要的通配符有:
*         匹配任意长度的字符串
?        匹配一个长度的字符
[...]     匹配其中指定的字符
[a-z]   匹配指定的字符范围
[^...]    除了其中指定的字符,其他均可匹配

例1:可以代替0个或多个字符。如果需要拷贝以ABC开头的文件,可以输入ABC,拷贝以ABC开头的所有文件类型的文件,如ABCD.txt、ABCDEFG.exe、ABCZH.dll等。如果只需要拷贝txt文件,则可以输入ABC*.txt,拷贝以ABC为开头的TXT类型的文件,如ABC.txt、ABC12.txt。

例2:?则只匹配一个字符,[1,b,8]就匹配括号中的1,b和8,这些都可以混搭使用。在linux2.6.14内核中,ls可以看到如图:

如果需要将.IAB .IAD .IMB .IMD和.WK3 这5个文件拷贝到根目录的tmp下,可以使用如下命令: cp fs2410_kernel_2614.[I,W]?? /tmp 

[a-z]就是匹配字母a到z的所有字符,也就是所有小写字母。[^A]就是除了A字符之外,其他字符均可匹配。灵活运用通配符可以方便的拷贝多个文件

2.管道的使用

如果你只是想拷贝最后的10个文件,或者你拷贝的文件没有共同字符,管道或许可以帮的上忙。 
命令行中的 | 就是管道,可以把第一个命令输出作为第二个命令的输入 
例1: ls /usr/bin/ | wc -w 
显示/usr/bin/中有多少个文件(不包括隐藏文件,要显示隐藏文件则应该 ls -a /usr/bin/ | wc -w) 例2: ls | tail -11| xargs -i cp -r {} /tmp/ 
拷贝最后11个文件到根目录的/tmp/下(如要拷贝头5个文件,则将tail -11 换成 head -5) wc head tail xargs这些就请自行man手册一下。 

3.linux 跨服务器拷贝文件, scp命令

跨服务器拷贝文件:(拷贝当前目录下的expdpmdm20211101.dmp, 到10.1.13.101的dpdump文件夹内)
scp -p expdpmdm20211101.dmp root@10.1.13.101:/home/data/oracle/admin/ZLMDM/dpdump/

跨服务器拷贝文件夹:(拷贝当前目录下的dpdump文件夹的内容, 到10.1.13.101的dpdump文件夹内)
scp -r dpdump/ root@10.1.13.101:/home/data/oracle/admin/ZLMDM/dpdump/

-v 和大多数 linux命令中的-v意思一样,用来显示进度。可以用来查看连接、认证、或是配置错误
-C 使能压缩选项
-P 选择端口
-r 复制目录

1、从本地将文件传输到服务器
scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp /Users/mac_pc/Desktop/test.png root@192.168.1.1:/root

2、从本地将文件夹传输到服务器
scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
sup -r /Users/mac_pc/Desktop/test root@192.168.1.1:/root

3、将服务器上的文件传输到本地(示例:将85服务器的jdk上传至本服务器,需要输密码)
scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp root@172.55.5.85:/u02/mdm/jdk-8u261-linux-x64.tar.gz /u01/mdm/wso2

4、将服务器上的文件夹传输到本地(示例:将85服务器的文件夹wso2esb上传至本服务器,需要输密码)
scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp -r root@172.55.5.85:/u01/mdm/wso2/wso2esb-5.0.0 /u01/mdm/wso2
在这里插入图片描述


https://dhexx.cn/news/show-4633864.html

相关文章

nginx系统优化和内核优化

nginx系统优化 一:隐藏nginx版本号 方法一:修改配置文件 vim /usr/local/nginx/conf/nginx.confnginx -t systemctl restart nginx curl -I http://192.168.52.108方法二:修改源代码 vim /opt/nginx-1.24.0/src/core/nginx.h ##配置文件里…

Yolov8轻量级:Next-vit,用于现实工业场景的下一代视觉 Transformer

1.Next-vit介绍 论文:https://arxiv.org/pdf/2207.05501.pdf 由于复杂的注意力机制和模型设计,大多数现有的视觉 Transformer(ViT)在现实的工业部署场景中不能像卷积神经网络(CNN)那样高效地执行。这就带来了一个问题:视觉神经网络能否像 CNN 一样快速推断并像 ViT 一样…

【嵌入式烧录/刷写文件】-2.9-Intel Hex文件的地址对齐Address Alignment

案例背景(共5页精讲): 对一个Intel Hex文件,进行地址对齐Address Alignment。 目录 1 为什么要进行“地址对齐Address Alignment” 1.1 “对齐长度”的选择 2 使用Vector HexView工具对Hex文件进行“地址对齐Address Alignment” 2.1 “自动”完成“地址对齐Ad…

一文搞懂位运算

一,原码、反码、补码 接下来我们主要介绍十进制数用二进制表示的不同方法,所以为了简洁,我们用一个字节,也就是8个bit来表示二进制数。 1,原码 十进制 原码 2 0000 0010 -2 1000 0010 原码其实是最容易理解的&…

docker cgroup资源占用及docker的镜像创建

cgroup用来资源限制 包括cpu,内存,磁盘三大方面 基本复写了常见的资源配额和使用量控制 cgroup是controlgroup的缩写 设置cpu使用率的上限 linux通过cfs(完全公平调度器)来调度各个进程对cpu的使用,cfs默认的调度…

K8s in Action 阅读笔记——【11】Understanding Kubernetes internals

K8s in Action 阅读笔记——【11】Understanding Kubernetes internals 11.1 Understanding the architecture Kubernetes集群分为两个部分: k8s控制平面工作节点 控制平面的组件 构成控制平面的组件有: etcd:etcd是一个分布式的持久化键…

Tomcat部署及多实例部署

Tomcat部署及多实例部署 一、什么是Tomcat二、Tomcat核心组件1.什么是servlet2.什么是 JSP 三、Tomcat 功能组件结构1.Connector2.Container2.1Container 包含四个子容器 3.Service 四、Tomcat 请求过程五、Tomcat 服务部署1.关闭防火墙2.上传jdk包,查看jdk版本&…

zerotier使用

目标 使用zerotier进行内网穿透,使外网客户端访问内网服务器 步骤 1.1 注册 进入zerotier官网,注册 ​ 完成后进入个人中心,点击networks,选择创建网络,得到一个networkid ​ 点击id进入设置,编辑名称…

状态转移矩阵计算方法及其离散化转换(含举例)

状态转移矩阵计算方法及其离散化转换 1. 何为状态转移矩阵2. 状态转移矩阵计算举例3. 离散系统的状态方程4. 离散系统的状态方程计算举例 1. 何为状态转移矩阵 一般地,对于一个线性定常系统,可以写成如下的柯西标准型形式 { x ˙ ( t ) A ( t ) x ( t…