Linux下命令(3)

描述

      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/表示本地挂载的目录。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分