linux数据拷贝复制到移动硬盘的问题

   问题:我服务器中有些数据需要find出来拷贝到移动硬盘中,并保持原目录结构,
find ./ -name ‘*‘ -exec cp -v --parents {} /mnt \; 我是这样写的,./下的子目录会在/mnt中创建,有个问题就是我需要在/mnt/中创建的子目录里另建一个目录data,然后把子目录中的数据放到子目录下的data文件夹里,最后就是 /mnt/创建的子目录/data/原子目录的数据,请问这样用shell脚本怎样实现,小弟菜鸟,望高手指教。
你可以分成两次find操作嘛,一次创建目录,第二次用个循环拷贝数据。比如:
第一次: find ./ -name ‘*‘ -type d -exec cp -v --parents {} /mnt \;
第二次:
for dir in /mnt/*;do
find ./${dir} -name ‘*‘ -type f -exec cp -v --parent {} /mnt/${dir} \;
done

追问:

abcd12234,你好,因为我也是刚接触linux,只懂些基础命令,shell脚本什么的完全不懂,这两个命令可以放在一个文件里执行么?怎么实现帮我写个脚本吧,谢谢了

追答:

#!/bin/bash
find ./ -name ‘*‘ -type d -exec cp -v --parents {} /mnt \;
for dir in /mnt/*;do
find ./${dir} -name ‘*‘ -type f -exec cp -v --parent {} /mnt/${dir} \;
done
直接把两条命令放到一块然后丢进某个文件就行,最上面那个注释是shebang行,用来告诉bash这个程序需要那个程序来解释
可以给它添加可执行权限
sudo chmod +x ./filename
执行:
./filename

追问:

你好,我试了,第一个命令find ./ -name ‘*‘ -type d -exec cp -v --parents {} /mnt \; 好像哪里出错了,取不到目录结构,怎么能先把要查找文件所在的目录结构复制下来暂时不复制文件?就像你说的第一步先复制文件所在的目录结构,第二部在复制文件到里面,求教。

追答:

你只要目录结构的话那就把 -exec开始的都去掉就行了,就是只执行:
find ./ -name ‘*‘ -type d
时间: 2024-08-02 09:07:42

linux数据拷贝复制到移动硬盘的问题的相关文章

六月考核:LINUX如何把数据拷贝到移动硬盘

六月考核:LINUX如何把数据拷贝到移动硬盘 1.使用Putty,远程登录到系统界面 2.使用fdisk -l 命令查看一下U盘是否有被识别到,及识别的U盘是在哪个位置 3.本次接入看到U盘的位置是/dev/sdb1 4.然后输入挂载U盘命令:mount /dev/sdb1 /mnt回车后即挂载U盘成功继续输入:cd 回车,可以查看U盘下的文件 5.接着是拷贝桌面上的5.png文件到U盘中输入命令:cp /home/user/desktop/5.png /mnt回车后等待复制完成 6.拷贝完成后

linux MySQL 如何复制表数据或表结构到新表中

经常操作xshell 发现,复制同样的功能,需要复制数据表的结构和数据,linux MySQL 如何复制表数据或表结构到新表中? 1.MySQL复制表结构及数据到新表的方法 CREATE TABLE new_table SELECT * FROM old_table; 2,只复制表结构到新表 CREATE TABLE new_table like old_table; 注意:还一种方法,但是不复制列属性和索引 CREATE TABLE new_table SELECT * FROM old_ta

linux 写时复制 copyonwrite

如果多个进程当父进程产生一个子进程时,会把父进程的代码段.数据段等拷贝给子进程,这里边有一个写时拷贝原则,这个动作并不是马上执行的,要等到子进程去修改内存里面的变量时候,才会进行拷贝,拷贝的机制并不是想象的那么简单,拷贝的时候只是拷贝子进程所需要的页,每个进程os都会进行分页管理,虚拟的内存空间2^32远远大于物理内存空间,然后把物理内存分成一页一页的形式,如果这个变量放在第一页,就只会进行第一页的拷贝,这个时候要操作第二页的数据时候,这个时候操作系统会进行一个软中断,也就是缺页中断,之后再把父

11款最棒的Linux数据恢复工具发布啦!

如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据.其实,现在有很多Linux数据恢复工具可以让我们摆脱数据安全的困扰.我已经为各位准备好了一些最好的Linux数据恢复工具,欢迎大家品鉴. 1.KnoppixKnoppix是从损坏的机器中恢复数据的最佳工具之一.它有一个可引导的CD版本,友好的用户界面.它可以让你轻松安装驱动器,然后复制数据. Knoppix自身携带了一整套的Linux命令. 官方网站:http://www.knopper.net/knopp

void *memmove( void* dest, const void* src, size_t count );数据拷贝,不需要CPU帮助

分享到 腾讯微博 QQ空间 新浪微博 人人网 朋友网 memmove 编辑词条 编辑词条 --> memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中.但复制后src内容会被更改.但是当目标区域与源区域没有重叠则和memcpy函数功能相同. 快速导航 目录 1函数简介 2程序示例 大事记 光影集锦 图册集锦 花絮视频 1函数简介 原型:void *memmove( void* dest,

这些Linux数据恢复工具,你用过哪几个

不论你运用的是台式电脑仍是笔记本,需求重视的要点之一都是怎么保护好你的名贵数据.由于总会有各种突发状况使你的系统溃散,然后你要做的就是恢复数据.不论你怎么想,要是我失去了一切的数据却无法恢复的话,我会分分钟肢解了这台破电脑.不过幸亏的是,如今商场上有不少的数据恢复工具,能协助咱们从体系的硬盘上恢复数据. 如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据.其实,现在有很多Linux数据恢复工具可以让我们摆脱数据安全的困扰.我已经为各位准备好了一些最好的Lin

关于:1.指针与对象;2.深浅拷贝(复制);3.可变与不可变对象;4.copy与mutableCopy的一些理解

最近对深浅拷贝(复制)做了一些研究,在此将自己的理解写下来,希望对大家有所帮助.本人尚处在摸索阶段,希望各位予以指正. 本文包括如下方向的探索: 1.指针与对象: 2.深/浅拷贝(复制): 3.可变/不可变对象: 4.Objective-C中的copy与mutableCopy方法. 一.指针与对象 在初始学习编程的时候,对于绝大多数面向对象编程的语言,这都是个绕不开的重点与难点.非常惭愧的是对它的认识我一直是不够的,并且感觉这项技术有许多的内容可以挖掘.说这是面向对象编程的核心思想也不为过.很多

linux基本命令之复制命令cp

cp命令是在linux中用来复制文件或者目录最常用的命令之一.cp命令的功能很强大,也有很多的用法. cp命令: cp - copy files and directories 语法: cp [OPTION]... [-T] SOURCE    DESTS cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY   SOURCE... 选项: -a, --archive same as -dR --preserve=all 效

linux中vi复制与粘贴(整行,多行)

vi编辑器中的整行(多行)复制与粘贴就非常必要了. 1.复制 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制: 2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行:其中n为1.2.3…… 2.粘贴 在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴 vi复制多行文本的方法方法1:光标放到第6行,输入:2yy光标放到第9行,输入:p此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面.方法2:命令行模式下输