• 磁盘、文件系统


    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:黑洞,啥都能吃

    初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!
  • 相关阅读:
    总结系列_3(opencv中c版本和c++版本区别体验,续...)
    深入理解JavaScript系列(29):设计模式之装饰者模式
    深入理解JavaScript系列(33):设计模式之策略模式
    深入理解JavaScript系列(35):设计模式之迭代器模式
    深入理解JavaScript系列(36):设计模式之中介者模式
    深入理解JavaScript系列(34):设计模式之命令模式
    深入理解JavaScript系列(31):设计模式之代理模式
    深入理解JavaScript系列(37):设计模式之享元模式
    深入理解JavaScript系列(32):设计模式之观察者模式
    大叔手记(21):汤姆大叔博客园开博100天总结
  • 原文地址:https://www.cnblogs.com/forlive/p/8480170.html
Copyright © 2020-2023  润新知