加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux 文件系统命令

发布时间:2023-02-14 13:32:24 所属栏目:Linux 来源:
导读:  Linux支持数量众多的本地文件系统类型(ext2、ext3、JFS、XFS、ReiserFS、vfat、NTFS),察看 /proc/filesystems文件的内容即可找出当前Linux内核提供了对哪些文件系统的支持。无论使用的Linux使用什么文件格式,
  Linux支持数量众多的本地文件系统类型(ext2、ext3、JFS、XFS、ReiserFS、vfat、NTFS),察看 /proc/filesystems文件的内容即可找出当前Linux内核提供了对哪些文件系统的支持。无论使用的Linux使用什么文件格式,它的物理 基础还是建立磁盘上的。对磁盘的管理和维护就显得非常重要。如果某一天一些很重要的系统文件或者用户的文件丢失了坏了,那将可能造成非常大的损失。可见维 护文件系统是一件非常重要的工作,特别是对用户比较多的文件系统来说。下面介绍如何使用Linux磁盘管理维护命令检查文件系统、创建文件系统以确保文件 系统的正确性。
 
  1.fdisk
 
  fdisk命令用来进行磁盘分区。
 
  使用权限:超级用户。
 
  格式:fdisk [-l] [-b SSZ] [-u] device
 
  主要选项:
 
  -l: 察看指定的设备的分区表状况。
 
  -b SSZ:将指定的分区大小输出到标准输出上,单位为区块。
 
  -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。
 
  device:要这些操作的设备名称。
 
  应用说明:
 
  fdisk是各种Linux发行版本中最常用的分区工具,是被定义为Expert级别的分区工具。它还包括一个二级选单,首先输入命令,然后出现问答式界面,用户通过在这个界面中输入命令参数来操作fdisk。见图1。
 
  图1 fdisk帮助选单
 
  选单详细介绍:
 
  a:设定硬盘启动区。
 
  b:编辑一个BSD类型分区。
 
  c:编辑一个DOS兼容分区。
 
  d: 删除一个分区。
 
  l: 察看指定的设备的分区表状况。
 
  m:显示Fdisk命令各个参数的说明。
 
  o:创建一个DOS分区。
 
  n:设定新的硬盘分区。
 
  p:打印分区信息。
 
  s:创建一个空Sun分区表。
 
  t:改变硬盘分区类型。
 
  q: 结束分区,不保存操作内容。
 
  v:校验硬盘分区表。
 
  w:结束分区,保存操作内容。
 
  x:进入高级操作模式。
 
  应用实例:
 
  使用fdisk为系统添加新硬盘
 
  假设接的是第二个IDE的从口,则设备名就是/dev/hdd。使用Linux的fdisk命令为这块硬盘分区:
 
  # fdisk /dev/hdd
 
  运行后出现fdiak的命令提示符:
 
  Command (m for help):
 
  使用n命令创建一个分区,会出现选择主分区(p primary partition)还是扩展分区(l logical)的提示,通常选用主分区。然后按照提示输入分区号(Partion number(1-4):)、新分区起始的磁盘块数(First Cylinder)和分区的大小,可以是以MB为单位的数字(Last cylindet or +siza or +sizeM or +sizeK:)。例如:
 
  Command (m for help):n
 
  COMMAND action
 
  l logical (5 or over)
 
  p primary partition (1-4)
 
  Partion number(1-4):1
 
  First Cylinder(1-1014,default 1): 1
 
  Last cylindet or +siza or +sizeM or +sizeK:+4000M
 
  使用p命令可以看到已经创建了一个设备名为/dev/hdd1、容量为4GB的新分区,类型ID为82的Linux分区。格式化分区:
 
  #mke2fs -t ext2 -c /dev/hdd1
 
  2.mkfs
 
  mkfs命令用来在Linux下建立各种文件系统。
 
  使用权限:超级用户。
 
  格式:
 
  mkfs [-V] [-t fstype] [fs-options] device [size]
 
  主要选项:
 
  -V:输出帮助信息。
 
  -t fstype: 指定要建立何种文件系统。如没有任何指定,则使用缺省的文件系统类型(目前是 ext2)。
 
  fs-options:传递给实际的文件系统制作工具的文件系统相关的选项。
 
  size:是指该文件系统用的区块数。
 
  device:既可以是设备名,(如: /dev/hda1, /dev/sdb2) 也可以是文件系统的挂载点,(如: /, /usr, /home)。
 
  应用说明:
 
  mkfs命令本身并不执行建立文件系统的工作,它是在 Linux 下各文件系统专用程序(mkfs.fstype)的前端程序。各文件系统专用程序可以在 /sbin、/sbin/fs、/sbin/fs.d等目录中找到。主要包括:mkfs.dos用来创建DOS文件系统。mkfs.reiserfs用来 创建reiserfs文件系统。mkfs.jfs用来创建jfs文件系统。mkfs.vfat用来创建vfat文件系统。
 
  出于对Linux各个发行版本的兼容性,对于建立同一Linux文件系统的命令可能有不同命令名称,实际功能是相同的,如mkfs.ext2、mkfs.ext3、mke2fs都是用来创建ext2/ext3文件系统。本文以mkfs.ext2为例来介绍。
 
  3.mkfs.ext2
 
  mkfs.ext2命令用来建立一个ext2/ext3文件系统。
 
  使用权限:超级权限。
 
  格式:
 
  mkfs.ext2 [选项] device [blocks]
 
  主要选项:
 
  -b block-size:指定区块大小,单位为字节。
 
  -f fragment-size:指定不连续区段的大小,单位为字节。
 
  -F:强制执行mke2fs命令。
 
  -c:检查是否有损坏的区块。
 
  -L volume-label:设置分区的卷标(最长11个字符)。
 
  -M last-mounted-directory:记录最后一次挂入的目录。
 
  -m reserved-blocks-percentage:指定给管理员保留区块的比例,确省值5%,这是Unix默认值的一半。
 
  -N number-of-inodes:指定要建立的inode数目。
 
  -i bytes-per-inode:指定"字节/inode"的比例。
 
  -j:建立一个ext3日志文件系统。
 
  -r fs-revision:指定要建立的ext2文件系统版本。
 
  -l filename:从指定的文件中,读取文件系统损坏区块的信息。
 
  -R raid_opts:设置磁盘阵列参数。
 
  -q: 执行时不显示任何信息。
 
  -v: 执行时显示详细信息。
 
  device:设备名称。
 
  blocks:区块数。
 
  应用实例:
 
  1. 在第二个SCSI磁盘的第二个分区上创建一个ext2文件系统,使用命令:
 
  # mkfs.ext2 /dev/sdb2
 
  2. 检查第二个IDE磁盘第一个分区的坏块之后创建了一个文件系统,卷标为设置
 
  “cjh”,保留百分之二的空间,创建1000个inode,使用命令:
 
  #mke2fs -L cjh -c -q -m 2 -N 1000 /dev/hdb1
 
  4.fsck
 
  fsck命令用来检查文件系统并尝试修复错误。
 
  使用权限:所有用户。
 
  格式:fsck [选项] [ -t fstype ] device
 
  主要选项:
 
  -a: 自动修复文件系统,不询问任何问题。
 
  -A: 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。
 
  -N: 不执行指令,仅列出实际执行会进行的动作。
 
  -P: 当搭配"-A"参数使用时,则会同时检查所有的文件系统。
 
  -r : 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。
 
  -R: 当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。
 
  -s: 依序执行检查作业,而非同时执行。
 
  -t fstype: 指定要检查的文件系统类型。
 
  -T: 执行fsck指令时,不显示标题信息。
 
  -V: 显示指令执行过程。
 
  应用说明:
 
  和mkfs 命令类似,fsck是在 Linux 各文件系统检查程序(fsck.fstype)的前端程序。出于对Linux各个发行版本的兼容性,检查ext2/ext3文件系统的命令可能有不同命令 名称,实际功能是相同的,如fsck.ext2、fsck.ext3、e2fsck 都是用来检查ext2/ext3文件系统。本文以fsck.ext2为例介绍。
 
  5.fsck.ext2
 
  fsck.ext2命令用来检查ext2/ext3文件系统并尝试修复错误。
 
  使用权限:所有用户。
 
  格式:
 
  fsck.ext2 [-panyrcdfvstDFSV]] [-b superblock] [-B blocksize]
 
  [-P process_inode_size][-j ext-journal] [-l|-L bad_blocks_file ] [-C fd] device
 
  主要选项:
 
  -a : 自动修复文件系统,不询问任何问题。
 
  -p:和指定"-a"参数相同。
 
  -c: 检查指定的文件系统内,是否存在有损坏的区块。
 
  -d: 详细显示指令执行过程。
 
  -f: 强制对该文件系统进行完整检查。
 
  -F: 检查文件系统之前,先清理该保存设备块区内的数据。
 
  -n: 把所有需要检查的文件系统设成只读,关闭互动模式。
 
  -s: 检查文件系统时,交换每对字节的内容。
 
  -S: 此参数的效果和指定"-s"参数类似,但不论该文件系统是否已是标准位顺序,一律交换每对字节的内容。
 
  -t: 显示fsck.ext2命令的执行顺序信息。
 
  -y: 关闭互动模式,且同意所有询问的问题。
 
  -b superblock:指定分区的第一个磁区的起始地址,也就是超级块(Super Block)。
 
  -B blocksize:设置该分区每个区块的大小。
 
  -C fd:指定反叙述器,fsck.ext2指令会把全部的执行过程,全部逆向叙述。
 
  -I inode_buffer_blocks:设置需要检查的文件系统的inode缓冲区的区块数目。
 
  -l bad_blocks_file:把文件中所列出的区块,视为损坏区块并将其标示出来,避免应用程序使用该区块。
 
  -P process_inode_size:设置fsck.ext2命令所能处理的inode大小为多少。
 
  -j ext-journal:为ext3日志文件系统设置路径。
 
  应用实践:有时候因为突然断电或者其他原因导致磁盘错误,就需要用到磁盘检查修复命令fsck.ext2命令如下:
 
  # fsck.ext2 /dev/hda9
 
  e2fsck 1.32 (09-Nov-2002)
 
  /dev/hda9 is mounted.
 
  WARNING!!! Running e2fsck on a mounted filesystem may cause
 
  SEVERE filesystem damage.
 
  Do you really want to continue (y/n)?no
 
  check abouted
 
  6.sync
 
  sync命令用来将内存缓冲区内的数据写入磁盘。
 
  使用权限:所有用户。
 
  格式:
 
  sync
 
  应用说明:在Linux系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的时刻再写入磁盘,如此可提高系统的执行效率。
 
  7.e2label
 
  e2label命令用来设定或显示ext2或ext3分区的卷标。
 
  使用权限:超级用户。
 
  格式:
 
  e2label device [ new-label ]
 
  主要选项:
 
  device:分区设备名称。
 
  new-label:新设定的卷标名称。不能超过16字符。
 
  应用实例:为一个新创建的分区建立卷标名称:1111,使用命令:
 
  #e2label /dev/hda9 1111
 
  8.findfs
 
  findfs命令用来查找指定卷标的文件系统。
 
  使用权限:超级用户。
 
  格式:
 
  findfs LABEL=
 
  findfs UUID=
 
  主要选项:
 
  LABEL= :卷标名称。
 
  UUID=:分区的UUID号。
 
  应用说明:随着Linux系统中硬盘容量和数目的增加,Linux系统中分区数量也越来越多linux命令系统,使用findfs命令可以通过卷标名称或UUID号快速定位分区位置。
 
  应用实例:
 
  查找卷标名称是:/var/ftp的分区位置,使用命令:
 
  #findfs LABEL=/var/ftp
 
  /dev/hda9
 
  9.badblock
 
  badblock 命令用来检查磁盘中损坏的区块。
 
  使用权限:超级用户。
 
  格式:
 
  badblocks [-b block_size] [-i input_file] [-o output_file] [-svw]
 
  [-c blocks_at_once] [-p num_passes] device [last_block [start_count]
 
  主要选项:
 
  -b block_size:指定磁盘的区块大小,单位为字节。
 
  -i input_file:读出上次的检查的结果中的坏块列表。
 
  -o output_file:将检查的结果写入指定的输出文件。
 
  -s: 在检查时显示进度。
 
  -v: 执行时显示详细的信息。
 
  -w: 在检查时,执行写入测试。
 
  -c blocks_at_once:每个区块检查次数。确省值16次。
 
  -p num_passes:通过的数量。确省值0。
 
  start_count:指定要从哪个区块开始检查。
 
  last_block:指定结束检查的区块。
 
  device:指定要检查的磁盘装置。
 
  应用实例:
 
  #badblocks -b 4096 /dev/hda1 -o badblocks-list
 
  以4096的一个block,每一个block检查16次,将结果输入badblocks-list,badblocks-list是一个文本文件。如果硬盘正常的话,应该badblocks-list是没有任何内容的。
 
  总结:本文专门介绍Linux下的磁盘管理维护命令。能够熟练地进行磁盘管理对用好Linux非常重要。磁盘管理最好的学习方法就是多学多练,但是在进行大胆的尝试之前,务必先小心地进行备份。磁盘管理的误操作经常会造成损害。下面笔者将介绍Linux其他常用存储设备(磁带机、光盘刻录机)的管理命令(点击阅读)。
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!