Linux 是一套免费使用和自 由传播的类 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户、 多任务、 支持多线程和多 CPU 的操作系统。 它能运行主要的 UNIX 工具软件、 应用程序和网络协议。 它支持 32 位和 64 位硬件。 Linux 继承了 Unix 以网络为核心的设计思想, 是一个性能稳定的多用户网络操作系统。
1.磁盘操作相关命令
1.1 fdisk磁盘分区命令
Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区。
[wbyq@wbyq 1227]$ sudo fdisk -l /dev/sda #查看磁盘信息 Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xa9f71e09 设备 启动 起点 末尾 扇区 大小 Id 类型 /dev/sda1 * 2048 104855551 104853504 50G 83 Linux
2.2 fdisk命令参数
在命令行执行sudo fdisk /dev/sdb,可进行磁盘操作。
示例
$ sudo fdisk /dev/sdb #打开要操作的磁盘 欢迎使用 fdisk (util-linux 2.31.1)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助): p #打印分区表 Disk /dev/sdb:28.8 GiB,30945574912 字节,60440576 个扇区 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x9dc7bebf 命令(输入 m 获取帮助): F #列出空闲分区,当前卡还未做分区 未分区的空间 /dev/sdb:28.8 GiB,30944526336 个字节,60438528 个扇区 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 起点 末尾 扇区 大小 2048 60440575 60438528 28.8G 命令(输入 m 获取帮助): n #添加新分区 分区类型 p 主分区 (0个主分区,0个扩展分区,4空闲) e 扩展分区 (逻辑分区容器) 选择 (默认 p): p #设置为主分区 分区号 (1-4, 默认 1): 1 第一个扇区 (2048-60440575, 默认 2048): 上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-60440575, 默认 60440575): +10G #设置大小为10G 创建了一个新分区 1,类型为“Linux”,大小为 10 GiB。 命令(输入 m 获取帮助): w #保存退出 分区表已调整。 将调用 ioctl() 来重新读分区表。 正在同步磁盘。
1.3 mkfs格式化文件系统
$ sudo mkfs.fat /dev/sdb1 #格式化文件系统为FAT格式
1.4 df查看文件系统格式和磁盘大小
[wbyq@wbyq 1227]$ df -T -h /dev/sdb1 #-T查看文件系统格式,-h显示磁盘容量 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sdb1 vfat 10G 32K 10G 1% /media/wbyq/4666-2FBC
1.5 dd命令
dd是Linux/UNIX下的一个非常有用的命令,作用是将一个指定文件拷贝到磁盘的指定块。可以用于磁盘备份、程序烧写等应用。
基本语法: dd iflag=dsync oflag=dsync if=<输入文件> of=<输出文件> seek=<跳过扇区数量>
注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512,k=1024
运用示例
(1)磁盘测试
$ sudo dd if=/dev/sdb of=/dev/sdb
硬盘较长时间(比如 1,2年)放置不使用后,磁盘上会产生magnetic flux point(磁通点)。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
(2)清除磁盘数据
$ sudo dd if=/dev/urandom /dev/sdb
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后, /dev/sdb将无法挂载,创建和拷贝操作无法执行。其中的/dev/urandom 是产生随机数的文件。
(3)获取随机数据
$ sudo dd if=/dev/urandom of=123.dat bs=1024k count=2
其中bs表示每一个块的大小是1024kb。count就表示块数量。加起来就会拷(1024*2)kb 的数据。
(4)磁盘备份
$ sudo dd if=/dev/sdb of=disk.img
(5)程序烧写
$ sudo dd iflag=dsync oflag=dsync if=123.bin of=/dev/sdb seek=1057
将123.bin文件拷贝到/dev/sdb设备中,seek表示跳过1057个块之后再进行拷贝。
2.mount命令
mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。 mount已经不仅仅局限于Linux了。在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
mount 命令用于挂载磁盘分区或者网络文件系统。
语法: mount -t [文件系统类型] [将要挂载的设备] [-o 选项] [挂载的目标目录]
注:通过-t 这个参数, 我们来指定文件系统的类型,一般的情况下不指定也能自动识加。 -t 后面跟 ext3、ext2、reiserfs、vfat、ntfs、nfs等;可以通过查看mount的帮助文档进行查看详细信息。
-o主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统;
ro:采用只读方式挂接设备;
rw:采用读写方式挂接设备;
iocharset:指定访问文件系统所用字符集;
运用实例
(1)挂载SD卡分区到指定目录。
$ sudo mount /dev/sdb2 /test/
将sdb2设备挂载到/test目录下。
(2)取消挂载
$ sudo umount /dev/sdb2 /test/
(3)挂载光盘映像文件到指定目录
$ sudo mount 123.iso -o loop /test/
将123.iso文件当成硬盘挂载到/test 目录下。
(4)将一个目录挂载到另一个目录下
$ sudo mount --bind /work/ /test/
相当于使用 ln 建立链接一样效果。
(5)使用mount命令挂载NFS网络文件系统
$ sudo mount -t nfs 192.168.11.123:/work /test/
如果挂载提示设备资源上锁,可以使用下面方式进行挂载:
$ sudo mount -t nfs -o nolock 192.168.11.123:/work /test/
其中192.168.11.123表示服务器的IP地址,/work 表示NFS服务器共享的目录。/test/表示本地挂载的目录。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !