我正在尝试使用该dd命令将文件夹 boot0 的内容复制到我的磁盘初始字节。
这是命令:
sudo dd if=boot0/ of=/dev/sdb ibs=440 obs=440 count=1
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
dd: error reading ‘boot0/’: Is a directory
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000209512 s, 0.0 kB/s
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我们需要解决两个问题:
dd 不知道如何处理目录dd 一次只能复制一个文件首先让我们定义输入和输出目录:
SOURCE="/media/source-dir"
TARGET="/media/target-dir"
Run Code Online (Sandbox Code Playgroud)
现在让我们cd进入源目录,以便find报告我们可以轻松操作的相关目录:
cd "$SOURCE"
Run Code Online (Sandbox Code Playgroud)
将目录树从 复制$SOURCE到$TARGET
find . -type d -exec mkdir -p "$TARGET{}" \;
Run Code Online (Sandbox Code Playgroud)
从重复文件$SOURCE到$TARGET省略写缓存(但使用读缓存!)
find . -type f -exec dd if={} of="$TARGET{}" bs=8M oflag=direct \;
Run Code Online (Sandbox Code Playgroud)
请注意,这不会保留文件修改时间、所有权和其他属性。
dd实用程序的主要目的是转换和复制文件。
例如:
dd if=filename of=filename2 conv=ucase
dd if=/dev/urandom of=myrandom bs=100 count=1
Run Code Online (Sandbox Code Playgroud)
如果您想复制文件夹的内容,请使用rsync:
rsync -vuar src/ dst/
Run Code Online (Sandbox Code Playgroud)
或cp实用程序:
cp -va src/. dst/
Run Code Online (Sandbox Code Playgroud)
小智 0
dd 适用于您指定的文件,使其能够在设备之间复制数据,或从设备复制数据到文件。如果涉及特定设备,这通常用于移动数据(从 cd-rom 光盘创建 iso 映像,例如:dd if=/dev/cdrom of=mycdrom.iso),或备份原始设备(有时在 RAC 数据库中使用) : dd if=/dev/raw/raw1 of=device_raw1)
cp 用于将文件内容复制到新文件或新位置。您特别想要的东西是保留所有权、时间戳和模式(权利),以及能够递归操作(=能够复制目录)。
尝试这个命令:
cp -r /home/source_folder/* /home/destination_folder
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83063 次 |
| 最近记录: |