当前位置: 首页IT技术操作系统 → linux文件系统

linux文件系统

更多

  文件系统:Filesystem(基于内核的软件)

  磁盘分区是以柱面(一个个磁道)来分的.

  每一个分区就是一个文件系统!

  UNIX:FresBSD

  Partition:

  独立的文件系统

  文件的数据:

   元数据(metadata):属性信息,单独存放!

   数据(data)

  inode:文件权限、属主属组、文件类型、磁盘块指向

  cp:同样的数据存储了两次,有两个inode号

  mv:文件数据没动,映射关系改变(在同一个分区之内)

  rm:对应关系,inode号为空,磁盘块内的数据没变,表示为空!

  ln:

  硬链接:不同的文件路径的文件指向的是同一个inode,删除硬连接跟原文件没关系,不能跨分区存在!不能连接到目录上,避免循环引用

  软连接:删除原文件软连接不可用,软连接可以对目录创建,可以跨分区,

  ln:

  ln [OPTION]... [-T] TARGET LINK_NAME (1st form)

   -s 软链接

 

  ls -i 显示inode号

  Linux文件 系统:

  ext2

  ext3

  ext4

  xfs

  reiserfs

  jfs

  iso9660

  swap

  vfat

  ntfs

  GFS2

  OCFS2 orical数据库文件系统

  NFS

  VFS:Virtual FileSystem 虚拟文件系统

  du:估算文件空间使用量的!

  -s 仅显示统计

  -S显示个别目录的大小

  -h 单位换算

  df:显示磁盘相关信息

  -h 单位换算

  -i 显示inode信息

  fdisk:

  -l 列出当前系统磁盘分区情况

  gzip:压缩文件

  -d 解开压缩文件

  -f 强制压缩文件

  -c 输出重定向,不动原文件

  使用例子:

  gzip -c File > Gzip.gz 输出重定向Gzip

  -t 测试压缩文件是否正确

  -# (1-9)指定压缩比 默认为6,压缩比越大,压缩越慢

  gunzip:解压缩文件

  zcat File.gz 只能压缩文件,不能压缩目录

  bzip File

   .bz2

   -d 解压缩

   -k 直接保留原文件

  bunzip2 File.bz2 = bzip2 -d File.bz2

  bzcat File.bz2

  zip:

  zip 指定文件名.zip + 需要压缩的文件名

  unzip File.zip

  tar 文件归档工具

  -c 创建归档文件

  -f 指定文件名

  -x 从归档文件中还原文件

  -t 列出文件内容

  -v 显示详细过程

  -z 指定通过gzip处理归档文件

 

  常用

  tar -zcvf 创建归档压缩文档并显示过程 (扩展名为tar.gz)

  tar -zxvf 展开归档文档并显示过程 (扩展名为tar.gz)

  tar -jcvf 创建归档压缩文档并显示过程 (扩展名为tar.bz2)

  tar -jxvf 展开归档文档并显示过程 (扩展名为tar.bz)

  分区:

   Boot Sector : bootloader + fat + 封装码

   512 = 446 + 64 +2(封装码)

   64 :每16个字节可以引导一个主分区!最多4个主分区,多采用3+1(一主三扩展)

 

  linux 如何识别磁盘设备:

   /dev/

 

  IDE(ATA):hd

  SATA:sd

  SCSI:sd

  USB:sd

  SAS:sd

  a,b,c,d

  /dev/hda

  /dev/hab

  ...

  /dev/sda

  挂载卸载

  /media 挂载便携式设备

  /mnt 常用挂载目录

  fdisk:

  fdisk /dev/sda

  m 获得帮助

  p 获得分区表

  n 新建分区

   e 新建扩展分区

   p 新建主分区

  n 新建逻辑分区

  d:删除分区

  l 查看id号

  t 修改分区的id

  w 保存修改并退出

  q 放弃修改并退出

  fdisk 最多只能创建15个分区

  partprobe /dev/sda 重新扫描分区

  [root@localhost wangzhen]# fdisk

  Usage: fdisk [-l] [-b SSZ] [-u] device

  E.g.: fdisk /dev/hda (for the first IDE disk)

   or: fdisk /dev/sdc (for the third SCSI disk)

   or: fdisk /dev/eda (for the first PS/2 ESDI drive)

   or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)

   ...

  [root@localhost wangzhen]# fdisk /dev/sda

  The number of cylinders for this disk is set to 6527.

  There is nothing wrong with that, but this is larger than 1024,

  and could in certain setups cause problems with:

  1) software that runs at boot time (e.g., old versions of LILO)

  2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

  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 显示分区id号

   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 调整分区ID

   u change display/entry units

   v verify the partition table

   w write table to disk and exit 保存并退出

   x extra functionality (experts only)

  Command (m for help): p

  Disk /dev/sda: 53.6 GB, 53687091200 bytes

  255 heads, 63 sectors/track, 6527 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot Start End Blocks Id System

  /dev/sda1 * 1 38 305203+ 83 Linux

  /dev/sda2 39 6462 51600780 83 Linux

  /dev/sda3 6463 6527 522112+ 82 Linux swap / Solaris

  fdisk 默认只支持到15个数字!

  partprobe 重新扫描分区

  sfdisk 保存备份分区表

  格式化:(高级格式化)

  mkfs -t ext2 /dev/sdb1

  mkfs -L + Lables 卷标

  mkfs 默认不支持ntfs 格式

  e2label /dev/sdb1 显示卷标

  e2label /dev/sdb1 LABLE 设置卷标

  mke2fs 创建文件系统

  mke2fs /dev/sdb2

   -j 带日志类型的文件类型

   -L 设置卷标

   -b(1024|2048|4096<默认>)

   -c 检测磁盘是否有坏道

   -i inode比率(byte/inode)

   默认每128个字节创建一个inode条目,决定inode的个数!

   -N 直接指定inode的个数

   -m 预留给管理员的磁盘5%

 

  mount DEV mount_point(挂载点)

  mount [-fnrsvw] [-o options [,...]] device | dir

  mount -a 挂载所有的文件系统

  mount 显示当前系统上所有已挂载的文件系统

  mount -n 挂载时不更新/etc/mtab文件

  mount -r 只读挂载

  mount -L 指定挂载卷标

  用法:mount -L label MOUNT_POINT(挂载点)

  mount -u 指定挂载卷的UID

  mount -o 指定挂载选项

   async 异步

   atime

   auto

   defaults

   Use default options: rw, suid, dev, exec,

   auto, nouser, and async.

 

   exec 可执行程序

   dev 挂载设备到文件系统

   remount 重新挂载

   ro 只读

   rw 可写

   suid 设置uid

   sync 同步

   loop 本地

  umount DEV 卸载设备

  umount mount_point(挂载点) 卸载挂载点也可行

  fuser -v 可以查看当前挂载点有哪个用户在 访问

  fuser -km mount_point(挂载点) 踢出访问挂载点的用户

   umount mount_point 卸载挂载点设备

  blkid DEV 自动查看设备文件类型

  fsck -t fstype 检测文件类型

  fsck -t

  e2fsck 检测 ext 系列的文件系统

   -f 强行检测

   -a 自动修复

   -B blocksize

   -p 自动修复

 

  dumpe2fs 详细显示ext2 / ext3 详细文件信息的

   -f 强行显示文件信息

   -h 只显示超级块信息

 

   tune2fs 调整文件系统 的属性

   -j 升级文件系统(ext2 --> ext3),无法调整磁盘块

   -m 百分比

   -L 设定卷标

   -l 显示超级块信息的

   -c 调整每隔挂载多少次以后文件系统自动自检,0和1

   -i #(d|m|w) 每隔多久启动文件系统的自检

   -r 指定留给管理员的磁盘百分比

   -u USERNAME

   -o 设定调整默认的挂载选项的

 

  ACL

  SWAP 交换分区的创建:ID为82

   物理内存小于2G,则在交换分区分配4G

   物理内存大于2G,则在交换分区分配3G

 

  交换分区必须是独立的!

  free :显示内存的使用情况

  NAME

   free - Display amount of free and used memory in the system

  SYNOPSIS

   free [-b | -k | -m] [-o] [-s delay ] [-t] [-V]

 

  mkswap:建立交换分区 ,mkswap /dev/swap

  swapon 打开新的交换分区

   -a 显示交换分区状态

  swap -L label 建立交换分区的卷标

 

  dd:

  Copy a file, converting and formatting according to the operands.

   if=FILE

   of=FILE

   bs=512B 指定复制的字节

   count=复制多少块

  使用方法:

  dd if=/dev/sda of=/root/mbr.bak bs=512 count=1

  用1个512B的dev/sda的字节 保存为/root/mbr.bak,即备份分区表

  bs和count的乘积为复制文件的大小!

 

  /dev/null

  /dev/zero

  dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024

  用1024个1M的块的0字节 覆盖/dev/sdb1

 

  开机自动挂载的文件系统:

  /etc/fstab

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

  LABEL=/ / ext3 defaults 1 1

  LABEL=/boot /boot ext3 defaults 1 2

  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

  LABEL=SWAP-sda3 swap swap defaults 0 0

  /etc/fstab

  6个字段:

  DEV:name,LABEL= ,UUID=

  MOUNT_POINT:

  FSTYPE:

  MOUNT OPTIONS:default,acl

  DUMP FREQUENCY:转储频率(备份频率)

  0=disable 1=daily 2=每隔一天

  FSTYPE SELFCHECK SQUENCE:自检次序

  0=disable 1=first 2=second ....

  eg:开机自动挂载光盘:

  编辑/etc/fstab

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

  LABEL=/ / ext3 defaults 1 1

  LABEL=/boot /boot ext3 defaults 1 2

  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

  LABEL=SWAP-sda3 swap swap defaults 0 0

  /media/rhel-5.5-i386.iso /media/guangpan iso9660 defaults 1 0

 

  /etc/mtab

  当前系统上已挂载的文件系统

热门评论
最新评论
昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)