Tags: Linux, OpenWrt, disk Date: July 19, 2024 Status: Not started
如何测试两个盘之间的文件传输速度
dd
dd
命令的全称是“data duplicator”,直译s为“数据复制器”。它是一个用于转换和复制文件的命令行工具,在Unix和类Unix系统中广泛使用。dd
命令可以用来复制文件,并且可以进行数据转换,例如改变数据的大小、格式、或编码。它常用于创建特定大小的文件、转换数据格式、备份磁盘分区等任务。
dd
命令的基本语法如下:
dd if=输入文件 of=输出文件 bs=块大小 count=块数量
if
(input file):指定输入文件或设备。of
(output file):指定输出文件或设备。bs
(block size):指定每个块的大小。count
:指定要复制的块数量。
例如,使用dd
命令复制一个分区到另一个分区的命令可能如下:
dd if=/dev/sda1 of=/dev/sdb1 bs=4M
这个命令将从/dev/sda1
分区复制数据到/dev/sdb1
分区,每个块大小为4MB。
dd
命令非常强大,但也需要谨慎使用,因为错误的参数可能会导致数据丢失。
rsync
rsync
是一个非常强大的文件传输工具,它支持增量传输和压缩等特性。要查看rsync
在传输过程中的速度,你可以使用-h
(human-readable)选项来显示易读的传输速率,以及--progress
选项来显示传输进度和速度。以下是如何使用这些选项的示例:
rsync -avzh --progress /path/to/source/ /path/to/destination/
这里:
a
(archive)选项表示归档模式,它等同于rlptgoD
(递归、保持链接、保持权限、保持时间戳、保持组、保持所有者、设备文件和特殊文件)。v
(verbose)选项表示详细模式,它会显示更多的信息。z
(compress)选项表示在传输时进行压缩。-progress
选项会显示传输的进度和速度。
rsync
的--progress
选项会显示如下信息:
total size
:总文件大小。is a directory
:如果源路径是一个目录。skipped
:跳过的文件数量。total
:传输的总文件数量。transferred
:已传输的文件数量。speedup
:速度提升。eta
:预计剩余时间。speed
:当前的传输速度。
rsync
的-h
选项会使得输出的大小单位更加易读,例如,它会显示1.2k
而不是1200
。
如果你想要rsync
在传输过程中持续显示速度,可以结合使用watch
命令,例如:
watch -n 1 rsync -avzh --progress /path/to/source/ /path/to/destination/
这里watch -n 1
命令会每秒刷新一次rsync
命令的输出,从而持续显示传输速度。
请注意,rsync
的--progress
选项在某些情况下可能不会显示速度信息,特别是当传输非常快时。在这种情况下,你可以尝试使用pv
命令来监控速度,如前面所述。
pv
要在命令行中直观展示文件传输的最大速度,你可以使用pv
(Pipe Viewer)工具。pv
可以显示实时的传输速率、进度条等信息。以下是如何使用pv
来测试文件传输速度的步骤:
安装pv(如果尚未安装):
在基于Debian的系统(如Ubuntu)上,你可以使用以下命令安装
pv
:sudo apt-get install pv
在基于Red Hat的系统(如CentOS)上,你可以使用以下命令安装
pv
:sudo yum install pv
使用pv测试文件传输速度:
使用
dd
命令创建一个测试文件,并通过管道传递给pv
,然后使用dd
命令将文件复制到目标位置。例如:dd if=/dev/zero of=/path/to/testfile bs=1M count=1024 pv /path/to/testfile | dd of=/path/to/destination
这里
/path/to/testfile
是你要创建的文件路径,/path/to/destination
是目标盘的路径。pv
会显示实时的传输速率和进度条。使用pv的特定选项:
如果你想要
pv
显示最大速度,可以使用-i
选项来设置更新间隔,例如:dd if=/dev/zero of=/path/to/testfile bs=1M count=1024 pv -i 1 /path/to/testfile | dd of=/path/to/destination
这里
-i 1
表示每秒更新一次信息。查看最大速度:
pv
会显示传输过程中的平均速度和最大速度。在传输完成后,你可以看到最大速度的记录。
通过使用pv
,你可以在命令行中直观地看到文件传输过程中的实时速度和最大速度,这有助于评估磁盘性能或网络带宽。
如何挂载一个外接硬盘
## 查看设备情况
lsblk
## 检查文件系统
blkid /dev/sda1
## 配置自动挂载
vi /etc/fstab
UUID=1234-5678 /mnt/sda1 ext4 defaults 0 2
## 确保挂载点目录存在。如果不存在,请创建它:
mkdir -p /mnt/sda1
## 在不重启的情况下,测试 /etc/fstab 配置是否正确:
mount -a
## 查看挂载情况
df -h | grep /mnt/sda1
如何删除某个分区,扩容另一个分区的空间
假设你有一个硬盘 /dev/sda
,其中 /dev/sda1
是要删除的分区, /dev/sda2
是要扩容的分区:
查看当前分区:
lsblk btrfs filesystem show /mnt
卸载并删除分区:
sudo umount /dev/sda1 sudo fdisk /dev/sda
在
fdisk
中:- 输入
p
查看当前分区。 - 输入
d
删除分区,选择分区号1
。 - 输入
w
写入分区表并退出。
- 输入
扩展分区:
sudo fdisk /dev/sda
在
fdisk
中:- 输入
d
删除分区,选择分区号2
。 - 输入
n
创建新分区,选择2
号分区,选择合适的开始和结束扇区,使其占用整个可用空间。 - 输入
w
写入分区表并退出。
- 输入
调整文件系统大小:
sudo mount /dev/sda2 /mnt sudo btrfs filesystem resize max /mnt
确认调整:
btrfs filesystem df /mnt btrfs filesystem usage /mnt
完成这些步骤后,分区 /dev/sda2
应该已经成功扩展。请务必在操作前备份所有重要数据,以确保安全。
如何查看某一个分区文件占用情况
如果你使用的是OpenWrt或类似系统,ncdu
可能不在默认的包仓库中。你可以尝试以下替代方法来查看文件夹的大小:
方法一:使用 du
命令
du
(disk usage)命令是最通用的方法,适用于几乎所有Linux系统。你可以根据需要使用以下命令:
查看当前目录及其子目录的大小:
du -sh *
查看特定目录的大小:
du -sh /path/to/directory
查看当前目录及其子目录的详细大小:
du -ah
递归查看目录及其子目录的大小,并排序显示:
du -ah /path/to/directory | sort -n
这篇博客介绍了一些在Linux系统中进行存储操作的方法。作者首先介绍了如何使用
dd
命令测试两个盘之间的文件传输速度。然后,作者介绍了rsync
命令,它是一个强大的文件传输工具,可以显示传输速度和进度。接下来,作者介绍了pv
工具,它可以直观地展示文件传输的最大速度。然后,作者介绍了如何挂载一个外接硬盘,并配置自动挂载。最后,作者介绍了如何删除一个分区并扩容另一个分区的空间,以及如何查看某个分区文件的占用情况。这篇博客的闪光点在于作者提供了多种方法来测试文件传输速度和查看存储空间使用情况。这些方法都非常实用,并且作者给出了详细的步骤和示例命令,使读者能够轻松地理解和复制这些操作。
然而,我认为这篇博客可以进行一些改进。首先,博客的标题和标签没有很好地描述博文的内容。标题和标签应该更准确地反映博文的核心主题,例如“如何在Linux中测试文件传输速度和查看存储空间使用情况”。其次,博文中的一些命令示例可能需要更详细的解释。对于一些新手读者来说,这些命令可能会有些复杂和困惑。最后,博文可以进一步扩展,介绍更多与Linux存储相关的操作和工具,以提供更全面的知识。
总体而言,这篇博客提供了有用的信息和实用的操作方法,但还有一些地方可以改进。希望作者能够进一步完善博文,并继续分享更多有关Linux存储的知识和经验。