磁盘、文件系统

1.MBR

MBR:Main Boot Record主引导记录,在硬盘的0磁道0扇区,共512字节。
  前446字节:BootLoader,引导程序
  中64字节:分区表,每16个字节标识一个分区,所以每个硬盘只能划分4个主分区;主+扩展<=4;扩展分区最多1个
  后2字节:Magic Number,标记MBR是否有效

2.链接

硬链接:直接指向同一个文件的不同路径称为硬链接,当文件有多个硬链接,删除一个并不会将文件删除。
  1.只能对文件创建,不能对目录创建
  2.不能跨文件系统
  3.创建硬链接会增加文件被链接的次数  
软链接:指向另一个文件的路径,也称为符号链接,软链接权限为777,并没有用实际意义,最终要看指向文件的权限。
  1.可应用于目录
  2.可以跨文件系统
  3.不会增加文件被链接的次数
  3.其大小为指定的路径所包含的字符个数
ln [-sv] 源文件 目标文件:默认为创建硬链接
   -s:创建软链接
   -v:显示创建过程

3.分区管理

· du:显示当前目录下每个文件占据的空间大小
  -s:总共占据的大小
  -h:进行单位换算之后显示出来

· df:显示分区上的空间使用情况
  -h:进行单位换算之后显示出来
  -i:显示inode使用情况
  -P:不换行显示

· 硬盘设备的设备文件名
  IDE,ATA:hd[a,b,c...]
  STAT,SCSI,USB:sd[a,b,c...]
    hda1:第一个主分区
    hda2-4:可以是主分区
    hda5:第一个逻辑分区

· fdisk   /dev/sd[a...]:查看硬盘使用情况和对硬盘分区
  -l:可以查看当前硬盘使用情况
  m:进入分区模式之后,m选项可以显示能操作的命令

[root@bogon ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                     删除一个分区
   l   list known partition types           列出可以做的分区类型
   m   print this menu                      列出帮助信息,就是这条命令
   n   add a new partition                  添加一个分区
   o   create a new empty DOS partition table      列出分区表
   p   print the partition table           显示当前硬盘分区情况     
   q   quit without saving changes        不保存退出
   s   create a new empty Sun disklabel
   t   change a partition's system id        改变分区类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit          保存退出
   x   extra functionality (experts only)

            

 partprobe:在进行完分区之后,要进行重读内核。查看已经读进内核的分区可以用下面。

[root@bogon ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   20971520 sda
   8        1     307200 sda1
   8        2   16567296 sda2
   8        3    4096000 sda3

 4.文件系统

查看当前内核支持的文件系统

[root@bogon ~]# cat /proc/filesystems 
nodev	sysfs
nodev	rootfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs

· mkfs   -t     文件系统类型     /dev/sda?:创建文件系统
  -t:指定要创建的文件系统

也可以使用

[root@bogon ~]# mkfs.
mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.vfat     
mkfs.ext2     mkfs.ext4     mkfs.msdos    

· mke2fs    /dev/sda?:直接指定ext系列文件系统,默认格式化成ext2
  -j:格式化成ext3
  -b   块大小:指定块大小,默认4096,可以修改成1024,2048
  -L:指定卷标
  -m 数字(不用加百分号):指定为管理员预留的块大小
  -i   数字:指定多少个字节一个inode,默认为8192,这里给的数值应为块大小的2㎡倍
  -N  数字:指定inode个数
  -F:强制创建文件系统

· blkid:查看文件系统类型,卷标,UUID

· e2label  /dev/sda#  [xxxxx]:查看卷标 [设置卷标]

· tune2fs   [-jLmo]   /dev/sda# :调整文件系统的相关属性
  -j:不损害原有数据,将ext2升级为ext3
  -L 卷标:设定修改卷标
  -m 数字:调整为管理员的预留百分比
  -r 数字:指定为管理员的预留块数
  -o:设定默认挂载选项,acl
  -c 数字:指定挂载次数达到#次之后进行自检,0或-1表示关闭此功能
  -i 数字:每挂载使用#天之后进行自检,0或-1表示关闭此功能
  -l:显示超级块中的信息

· dumpe2fs  /dev/sda#:显示文件属性信息
  -h:只显示超级块中的信息

· fsck:检查并修复文件系统
  -t  文件系统类型:指定文件系统类型,不要指定错了,也可以不指定
  -a :自动修复

· e2fsck:专用于检查修复ext2/ext3文件系统
  -f:强制检查
  -p:自动修复

5.挂载
  
将新的文件系统关联至当前根文件系统。

/etc/fstab:文件系统的配置文件,系统再启动时,会自动挂载此文件中定义的每个文件系统

[root@bogon ~]# cat /etc/fstab 

UUID=cf0eb01c-5323-476e-ab72-d4d601b0bcfb /                       ext4    defaults        1 1
UUID=8226164c-06ab-46d1-99ea-c4dab5c7158f /boot                   ext4    defaults        1 2
UUID=96f60d2b-a1d8-414b-ac88-d5f032933882 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

字段1:要挂载的设备
字段2:挂载点
字段3:文件系统类型
字段4:挂载选项
字段5:转储频率(每多少天做一次完全备份,0表示备份,1表示每天备份一次,2没两天备份一次)
字段6:文件系统检测次序(0,表示不检查,只有根为1,其他设备可以同为2)

 · mount  [options]  [-o  options] 设备  挂载点:挂载设备,不加任何选项,可显示当前系统上挂载的设备
   options:
      -a:表示挂载/etc/fatab文件中定义的所有文件系统
      -n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用-n,代表不写入文件
      -t 文件系统类型:指定正在挂载设备上的文件系统类型,不使用此选项时,mount会调用blkid命令获取对应文件系统类型
      -r:只读挂载
      -w:读写挂载
   -o  options:指定额外的挂载选项,也即指定文件系统启用的属性
      remount:重新挂载当前文件系统
      ro:挂载为只读
      rw:读写挂载
      async:同步写入,noasync非同步写入
      atime:当有访问的时候就记录下来,noatime,不写入
      loop:可以挂载镜像文件到目录

   设备:
      设备文件:/dev/sda#
      卷标:LABEL=""
      UUID:UUID=""
   挂载点:目录
      1.此目录没有被其他进程使用
      2.目录必须存在
      3.目录中原有文件将会被暂时隐藏

  挂载完成后,要通过挂载点访问对应文件系统上的文件

· umount  [设备  |   挂载点]:卸载文件系统,只需要指定一个就可以。挂载的设备没有进程使用 

· fuser  [-kvm]  [文件或文件系统]:验证进程正在使用的文件或套接字
  -v:查看某文件上正在运行的进程
  -k:杀死这个进程
  -m:指定一个文件系统或设备

6.内存

· free:查看内存使用情况
  -m:以MB显示
  -g:以GB显示

· mkswap  /dev/sda#:创建交换分区,在创建交换分区之前需要fdisk中调整分区类型为swap
  -L 标签:也可以指定标签

 

· swapon  /dev/sda#:启用交换分区
    -a:启用所有的定义在/etc/fatab文件中的交换设备
· swapoff  /dev/sda#:关闭交换分区

· dd命令:做底层复制。
    if=数据来源
    of=数据存储目标
    bs=#字节,#M,一次复制多少字节或MB
    count=#,复制多少次
    seek=#,在开始复制时跳过多少
 dd  if=/dev/sda  of=/mnt/usb/mbr.backup  bs=512  count=1,这条命令用来备份MBR
   dd  if=/dev/zero  of=/root/zero.swap  bs=1M  count=256,这条命令是从/dev/zero吐泡机拿出256M的0到/root/zero.swap下。
· /dev/zero:吐泡机,要多少0给你多少0
· /dev/null:黑洞,啥都能吃

 

posted @ 2018-02-27 17:50  ForLivetoLearn  阅读(181)  评论(0编辑  收藏  举报