Linux 移动设备管理

U盘的使用和硬盘的使用很相似

移动介质:

挂载意味着外来的文件系统看起来就是主目录树的一部分。所以移动介质也需要挂载,通常挂载到/media或/mnt下面。
访问前,介质必须被挂载
摘除时,介质必须被卸载

创建ISO文件:

方法一:cp /dev/cdrom /root/centos.iso

方法二:mkisofs  -r  -o /root/etc.iso /etc  #来自于genisoimage包

刻录光盘:

wodim -v -eject centos.iso

将ISO制作为U盘工具Rufus:

官网: http://rufus.ie/
作用:制作U盘系统启动盘和格式化 USB。可以快速把 ISO 格式的系统镜像文件快速制作成可引导的USB启动安装盘,支持 Windows或Linux启动

USB介质

查看USB设备是否识别

lsusb  #来自于usbuntils包
## usb设备会被内核探测为SCSI设备,例如/dev/sdaX、/dev/sdbX或类似的设备文件 使用lsblk可以看到
## 在图形环境中自动挂载在/run/media//

范例:插入U盘后可以看到日志信息

tail /var/log/messages -f  #插上u盘以后就会看到日志信息

范例:格式化U盘为 FAT32 文件系统

#使用dosfstools这个工具
mkfs.vfat /dev/sdd1(u盘)
#vfat就是windows的fat32 vfat这种文件系统不支持权限,也不对大小写敏感(对大小写是否敏感看文件系统是否支持)。

范例:查看USB设备

#usbutils这个工具包
lsusb命令

磁盘管理常见的工具

df: disk free。查看文件系统的情况(挂载状态的,没挂载它看不见)

df看到的文件系统中真实占用的空间大小,而非表面上的空间大小。

文件系统本身就有元数据,所以即使是刚创建的干净文件系统,也会占用一定的空间

选项:

-h:自动使用合适的单位进行数据的显示
-T:显示文件系统的类型
也可以使用lsblk -f 查看块设备的文件系统类型。

du:disk usage。查看文件夹的情况

会把目录文件下面的每一个子文件大小都列出来。默认以k为单位。

选项:

-h:自动使用合适的单位进行显示
-s:求和,查看目录的总大小

df 和 du 区别

du看到的是这个目录下文件的大小。
df看到的是文件系统空间的使用情况(处于挂载状态下的)
#什么时候df >du 什么时候df < du
默认df >du,当某个目录文件挂载到其他设备了的时候(多个设备空间的组合),df < du
删除文件,不是释放空间的时候(有进程再使用这个文件,删除了这个文件不会马上释放空间)df>du

dd 命令:convert and copy a file

格式:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST  bs=# count=#

选项:

- if=file #从所命名文件读取而不是从标准输入

- of=file #写到所命名的文件而不是到标准输出

- bs=size block size, #指定块大小(既是是ibs也是obs)

- skip=blocks   #从开头忽略blocks个ibs大小的块(跳过的是源文件 if=xx,单位由bs的单位决定)

- seek=blocks   #从开头忽略blocks个obs大小的块(跳过的是目标文件of=xx,单位由bs的单位决定)

- count=n       # 复制n个bs

- conv=conversion[,conversion...] 用指定的参数转换文件
  notrunc 表示不截短输出文件

范例:

[root@centos8 ~]#cat f1.txt;
abcdef
[root@centos8 ~]#cat f2.txt 
123456789
[root@centos8 ~]#dd if=f1.txt of=f2.txt bs=1 count=2 skip=3 seek=4
[root@centos8 ~]#cat f2.txt
1234de #后面的被截断了

#不截断
[root@centos8 ~]#dd if=f1.txt of=f2.txt bs=1 count=2 skip=3 seek=4 conv=notrunc
[root@centos8 ~]#cat f2.txt 
1234de789

dd命令使用范例:

#备份MBR
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1 #破坏MBR中的bootloader
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446 #bs默认是byte,所以seek跳过446字节

#有一个大与2K的二进制文件fileA。现在想从第64个字节位置开始读取,需要读取的大小是128Byts。又有
fileB, 想把上面读取到的128Bytes写到第32个字节开始的位置,替换128Bytes,实现如下
dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc

#将本地的/dev/sdx整盘备份到/dev/sdy 
dd if=/dev/sdx of=/dev/sdy

#将/dev/sdx全盘数据备份到指定路径的image文件
dd if=/dev/sdx of=/path/to/image

#备份/dev/sdx全盘数据,并利用gzip压缩,保存到指定路径
dd if=/dev/sdx | gzip >/path/to/image.gz

#将备份文件恢复到指定盘
dd if=/path/to/image of=/dev/sdx

#将压缩的备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/sdx

#将内存里的数据拷贝到root目录下的mem.bin文件
dd if=/dev/mem of=/root/mem.bin bs=1024

#拷贝光盘数据到root文件夹下,并保存为cdrom.iso文件
dd if=/dev/cdrom of=/root/cdrom.iso
 
#销毁磁盘数据
dd if=/dev/urandom of=/dev/sda1

#通过比较dd指令输出中命令的执行时间,即可确定系统最佳的block size大小
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
dd if=/dev/zero of=/root/1Gb.file bs=2048 count=500000  
dd if=/dev/zero of=/root/1Gb.file bs=4096 count=250000

#测试硬盘写速度
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

#测试硬盘读速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null

原文地址:https://www.cnblogs.com/heyongshen/archive/2022/07/02/16438520.html