Linux文件管理笔记

时间:2021-05-23 18:54:40

  1)Linux识别磁盘:Linux通过不同的设备节点区分各个分区,节点名字的由磁盘名加分区号组成。例如,驱动器/dev/hba上的第一个分区叫做/dev/hba1,驱动器/dev/sdc上的第七个分区就叫做/dev/sdc7。

  主引导记录(MBR) 引导程序(Bootloader)分区表(Partition Table)

  主分区

  扩展分区

  逻辑分区

  Linux文件管理笔记

  

  2)使用fdisk列出分区:

  fdisk最简单的用处是显示已知分区。使用-l命令行选项,

  fdisk可以列出所有已知磁盘的分区表。在下面的例子中,

  fdisk -l 产生系统上两个硬盘的分区表:/dev/hda和/dev/hdb。

  Linux文件管理笔记

  Linux文件管理笔记

  

  注:使用fdisk编辑分区表时应注意是使用分区名而不是磁盘名。如fdisk /dev/sdb,不应是fdisk /dev/sdb3

  3)fdisk命令列表

  Linux文件管理笔记

  

  4)添加一个分区:

  Command(m for help):n

  Command action

  e extend

  p primary partition(1-4)

  建立新分区的命令是n,下一步取决于驱动器的状态。如果不存在扩展分区(现在就是),fdisk会问新的分区是否是扩展分区。如果扩展分区已经存在,fdisk会问新的分区是逻辑分区还是主分区。如果所有的主分区都已经在使用,fdisk就不会再问。

  Selected partition e

  First cylinder (3927-15505,default 3927):  (按下ENTER键)

  因为三个主分区都已经存在,如果管理员要创建两个新分区,需要先扩展一个分区来装他们。键入e命令。接下来,fdisk提示分区的起始柱面。管理员按回车键,接受建议的默认柱面3927(第一个可用的柱面)。

  然后,fdisk询问结束柱面的号码。

  Using default value 3927

  Last cylinder or + size G or +size M+size K(3927-15505,default15505):

  Linux文件管理笔记

  因为扩展分区是主分区,它将是磁盘上的第四个(也是最后一个)主分区,因此所有不包括在这个扩展分区中的空间都不能再使用,所以应该使用建议的柱面(也是磁盘上最后的柱面)。

  

   5)扩展分区:

  Linux文件管理笔记

  Linux文件管理笔记

  

  6)设置交换分区标签:

  Changed system type of partition 5 to 82(Linux swap)

  Command(m for help):p

  Linux文件管理笔记

  分区id,以前是“Linux”,现在改为“Linux swap”。

  

  7)删除分区:

Command(m for help):d

   Partition number(1-6):4

  要注意下列几点:

  如果删除扩展分区,这个空间中包含的所有逻辑分区也将被删除。

  因为分区信息做为一个链表维护,所以必须用连续数字编号。如果第7个分区中的第5号被删除,分区6和7就变成5和6。(对于主分区不适用。)

  

  8)退出fdisk

  Command(m for help):w

  Linux文件管理笔记

  

  操作结束后,有两种退出fdisk的方法。

  第一,可用q命令退出fdisk,这将忽略所做的修改。fdisk实用程序会等待明确的指示后才将修改写入,所以用户可随时安全退出。

  如果使用w命令,fdisk会将修改写入然后退出。这是一般退出fdisk的方式,完成指定的编辑。

  9)使修改生效:

  退出时,fdisk会告诉用户这些修改直到下次引导时才会生效。这并不是绝对的。重新引导系统可以让这些修改生效,但运行partprobe命令也可以达到同样的效果。运行partprobe,让内核读取所做的修改,并加以更新。

  [root@VDEDU~]# partprobe

  10)使用/proc/partitions 查看分区

  fdisk -l(只有根用户才能使用)的替代命令是proc文件系统文件/proc/partitions,这个文件也能列出所有的已知分区及其容量(以1024字节的块为单位)

  [root@station root]# cat /proc/partitions

  Linux文件管理笔记

  注意:输出中的每个分区(磁盘)突出的主号码和次号码。Linux内核使用和分区的设备驱动程序相关的主号码和次号码,而不是设备节点的名称识别分区。这在内核层错误信息中,经常可以看到。

  11)初始化分区:

  [root@VDEDU root]# mkfs.ext2 /dev/sda6

  

  12)挂载文件系统主要概念:    

  使用mount命令将文件系统的根目录挂载在目录树上已有的目录。这个已有的目录叫做挂载的挂载点。umount命令将未被使用的文件系统从目录树上卸载下来。不同的挂载选项决定挂载的文件系统的能力特征。挂载选项remount赋予已存在挂载新的选项。

  [root@VDEDU root]# mount /dev/sda1 /home

  [root@VDEDU root]# umount /home

  

  13)使用fuser或lsof找到进程

  fuser命令列出正在使用文件的进程ID。为了达到我们的目的,调用这个命令时使用-m命令行选项,它会列出在含有指定文件的文件系统中使用文件的所有进程。

  [root@VDEDU home]# fuser -m /home

  /home:1912c

  lsof(list open file,列出打开的文件)是fuser的替换命令。在作为挂载点的目录上执行时,lsof命令列出文件系统中当前打开的所有文件。

  [root@station]# lsof /home

  Linux文件管理笔记

  

  14)使用 mount -o remount重新挂载分区

  mount 命令还能赋予已经挂载的分区新的挂载选项。重新挂载分区时, mount 命令应该 和 remount 选项一起调用,连带相关这个文件系统的任何新选项。

  [root@station root]# date > /home/foo

  [root@station root]# mount -o remount,ro /home

  [root@station root]# date > /home/foo

-bash: /home/foo: Read-only file system

  [root@station root]# mount -o remount,rw /home

  [root@station root]# date > /home/foo

  15)/etc/fstab 文件主要概念

  /etc/fstab  文件可以用来预定义挂载点。

  如果在调用 mount 命令时给出的信息不全,它会自动在/ etc/fstab 里寻找缺少的信息。

  mount -a 命令会试图将/etc/fstab 文件中列出的(几乎)所有挂载点挂载。

  /etc/fstab 文件中可用设备名称或文件系统标签表示设备。

  文件系统标签不光可以在/etc/fstab 文件中指定设备,它还可以在 mount 命令行和-L 命令行选项一起直接使用,如下所示。

  [root@station root]# dumpe2fs /dev/hda1 | head -1 dumpe2fs 1.32 (09-Nov-2002)

  Filesystem volume name: /boot

  [root@station root]# mount -L /boot /boot

  

  在/etc/fstab 文件中添加一行。如:[root@VDEDU root]# mount /dev/sda1 /home。以后每次开机将会自动执行。

  mkswap /dev/sda1 将这块分区作为交换空间

  swapon /dev/sda1 激活交换分区

  dd if=/dev/zero of=/tmp/swap bs=1024k 从/dev/zero里面读,写到/tmp/swap