设为首页 收藏本站
查看: 1108|回复: 0

[经验分享] Linux磁盘及文件系统管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-31 08:58:39 | 显示全部楼层 |阅读模式
本帖最后由 twerer 于 2015-8-31 08:59 编辑

  • 计算机基础知识:
冯.诺依曼体系结构构成的计算机,必有的五大基本组成部件:


冯.诺依曼计算机体系结构图
运算器:用于完成各种算术运算、逻辑运算和数据传送等数据加工处理;
控制器:用于控制程序的执行,是计算机的大脑。
运算器和控制器组成计算机的中央处理器(CPU)。控制器根据存放在存储器中的指令序列(程序)进行工作,并由一个程序计数器控制指令的执行。控制器具有判断能力,能根据计算结果选择不同的工作流程;
存储器:用于记忆程序和数据,例如:内存。程序和数据以二进制代码形式不加区别地存放在存储器中,存放位置由地址确定;
输入设备:用于将数据或程序输入到计算机中,例如:鼠标、键盘;
输出设备:将数据或程序的处理结果展示给用户,例如:显示器、打印机;
北桥芯片:主要负责控制AGP显卡、内存与CPU之间的数据交换;
南桥芯片:主要负责软驱、硬盘、键盘以及附加卡的数据交换。(南桥芯片相对于北桥芯片数据处理量不算大,南桥芯片通过汇总的方式将数据传到北桥芯片,北桥芯片才是主芯片)。
设备类型:
南桥芯片主要连接一些I/O设备,决定主板上的功能,主板上的各种接口(USB、串口),PCI总线(内存、声卡),IDE(硬盘、光驱),以及主板上的其他芯片(RAID、网卡)都归南桥芯片控制,属于低速总线控制器。
Note:服务器的最重要的两大I/O是网卡和磁盘;
那么南桥芯片是如何来识别这些设备的呢?设备类型又有哪些?
    I/O端口:就是一种地址,用于标示对应的I/O设备,I/O端口范围:0——65536;
(1)      设备类型(宏观上分类):
    字符设备,character:以字符为单位进行顺序访问的设备,例如键盘。
    块设备,block:以块为单位,能够进行随机访问的设备,例如硬盘;
(2)      设备具体的分类(比如磁盘,CPU,内存等,我们需要对这些设备进行标识)
    设备文件定义:关联至一个驱动程序,进而能够与之对应硬件设备进行交互。
(3)      设备文件的标识:
    主设备号:标识的是设备的类型。
    次设备号:同一类设备中不同设备的标识。(例如都是磁盘,要跟上具体编号1、2…)
1
2
3
4
5
[iyunv@localhost ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Aug 23 17:01/dev/sda
brw-rw---- 1 root disk 8, 1 Aug 23 09:01/dev/sda1
brw-rw---- 1 root disk 8, 2 Aug 23 17:01/dev/sda2
                      主,次



磁盘结构: wKioL1XhXq2Dt8bDAAE2ZmL_a3I190.jpg
磁盘结构图给出了一个磁盘驱动器两个主要的移动部件:一个是磁盘组合(diskassembly),另一个是磁头组合(head assembly)。磁盘组合由一个或多个圆盘(platter)组成;它们围绕一根中心主轴旋转。圆盘的上表面和下表面涂覆了一层磁性材料,二进制位被存储在这些磁性材料上。其中,0和1在磁材料中表现为不同的模式。
wKiom1XhXPDxN9nmAACi18EZrGg528.jpg
1、  盘面:硬盘的每一个盘片都有两个盘面(Side),即上、下盘面,一般每个盘面都会利用,都可以存储数据,成为有效盘片,也有极个别的硬盘盘面数为单数;
2、  磁道:磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)。磁道从外向内从0开始顺序编号。磁盘的每一个盘面有300~1024个磁道,新式大容量硬盘每面的磁道数更多;磁道是硬盘厂商在硬盘出厂时已划分好的;
3、  扇区:sector,磁盘是固定角速度的设备;每秒转动的角度,即每段圆弧叫做一个扇区。扇区从“1”开始编号,每个扇区中的数据作为一个单元同时读出或写入,从逻辑层面上将已经进行了低级格式化了,单位为512字节。第0个扇区存放的是磁盘的分区信息;即MBR:Master Boot Record,主引导记录;
512byte:
         bootloader,加载器,445bytes;
         每16个bytes引导一个分区;
         最后2个字节被填充了两个5A,作为MBR有效性标记;
4、  柱面:所有盘面上的同一位置的磁道构成一个圆柱,通常称做柱面(Cylinder),每个圆柱上的磁头由上而下从“0”开始编号。(分区是按照柱面进行分区的)
linux中的磁盘:
Linux中的磁盘是以设备文件的形式展现出来的,这也正好体现了Linux一切皆文件的哲学思想;
(1)      设备文件的名称:
即linux磁盘设备文件的访问标识:/dev/[s|h]d[a-z][1,2…]
[s|h]:磁盘设备接口类型;
[a-z]:磁盘编号。
[1,2…]:分区标号,1-4标号:主分区和扩展分区的编号,5以上的编号为逻辑分区编号。如:sda1,代表SCSI接口类型的第一块磁盘的第一个主分区;
Note:特性:对于Linux系统而言,每个分区都是可以独立访问的设备;
(2)      磁盘接口类型:
IDE接口(ATA):并行接口(理解为:两个IDE控制器:每个控制器可通过线缆接入两块磁盘,主/从,即master/slave模式)这类接口传输速率133MB/s。linux中标识为/dev/hd[a-z][1,2…].
SCSI:Small Computer System Interface,小型计算机接口;
USB接口:串行接口,3.0接口的传输速率为480MB/s。Linux中标识为/dev/sd[a-z][1,2…]
SAS接口:串行接口,也称为序列式SCSI,它由并行SCSI物理存储接口演化而来,序列方式能提供更快速的通信传输速度及更简易的配置。此外SAS支持与序列式ATA(SATA)设备兼容。它的传输速率是6Gbps。Linux中标识为/dev/sd[a-z][1,2…]
新磁盘需要经过哪些操作才能使用呢?
三个步骤:1、磁盘分区;2、格式化(创建文件系统);3、挂载;
磁盘管理工具fdisk(分区):
fdisk提供了一个交互式接口来管理分区,它有许多子命令,用于磁盘额分区的管理,所有编辑操作,都是在内存中完成的。没有直接同步到磁盘,保存退出后才能完成磁盘的同步。
         # fdisk –l            显示所有的磁盘设备的详细信息;
        #fdisk –l [DEVICE_NAME]显示指定的设备的详细信息。
子命令的作用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Command action
  a   toggle a bootable flag
  b   edit bsd disklabel
  c   toggle the dos compatibilityflag
  d   delete a partition,#删除一个分区;
  l   list known partition types,#列出已知的所有分区类型;
  m   print this menu,#显示帮助信息;
  n   add a new partition,#创建一个新分区;
  o   create a new empty DOSpartition table
  p   print the partition table,#打印分区表,列出现有的分区信息;
  q   quit without saving changes,#不保存分区信息退出;
  s   create a new empty Sundisklabel
  t   change a partition's system id,#修改分区的systemis(16进制的数字)
  u   change display/entry units
  v   verify the partition table
  w   write table to disk and exit,#保存分区信息并退出;
  x   extra functionality (expertsonly)

Command (m for help):                               #m显示帮助信息;



Note:在子命令模式中,想删除当前的字符,按Ctrl+Backspace组合键才能删除;
查看内核中的分区情况:
         cat/proc/partitions   内核是否真正读取了分区表;
1
2
3
4
5
6
7
[iyunv@localhost ~]# cat /proc/partitions
major minor #blocks  name
  8        0  125829120 sda
  8        1     204800 sda1
  8        2   62914560 sda2
253       0   20971520 dm-0
253       1    2097152 dm-1



文件系统的创建(格式化):
磁盘分区后,我们接下来就是格式化,也就是文件系统的创建,那么什么是文件系统呢?
(1)      文件系统的定义:管理存储空间中,存储大量文件时,实现按名存储的一种机制(按块进行存取,一个块=2个扇区的大小)。
文件系统的结构:
每一个文件都是由元数据和数据组成,文件系统通常会将这两部分的数据分别存放在不同的块,权限和属性放置到inode中,实际参数存放在data block中。
另外还有一个superblock(超级块),会记录整个文件系统的整体信息,包括inode与block的总量、使用量、剩余量等。
wKioL1XhYJuy98eTAAFbWg0A0dQ175.jpg
对上图的解析:
         一个分区可以理解为由一个BootBlock和N多个块组(Block Group)构成的;
Boot Block:块是预留的,用来引导系统分区的。它是被MBR中的Boot Loader调用的。
Super Block:存储整个文件系统的详细信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息;块组0上必须有Super Block,其他的组可以有也可以没有,最好是在其他的块组中有Super Block,用于备份;
GDT:块组的描述符,描述该组存放的是什么数据;
Block Bitmap(块位图):可以知道哪些block是空的;
Inode Bitmap(Inode位图):可以知道哪些inode是未使用的;
Inode Table:存放inode条目;
inode属性:
  • 该文件的访问权限(r,w,x)
  • 该文件的属主属组
  • 该文件的大小
  • 该文件创建或状态改变的时间(ctime);
  • 该文件最近一次读取时间(atime)
  • 该文件最近一次修改时间(mtime)
  • 定义文件特性的标志(flag),例如SUID等;
  • 该文件真正内容的指向(记录此文件的数据所在的block)

inode的特性:
       每个inode大小均固定为128bytes
       每个文件都只会占用一个inode,所以文件系统上能创建的文件个数与inode数量有关;
        inode不记录文件名,文件名的记录在目录block中;
系统读取文件时需要先找到inode,并分析inode所记录的权限和用户是否符合,若符合才能开始实际读取block的内容;

Data Block:实际记录文件的内容,若文件太大时,会占用多个block。
wKiom1XhYAnBkcOpAAFsBOFa-Ow820.jpg

问题1、在linux中要创建一个文件test.txt文件,需要经过哪几个步骤?
(1)      首先是通过超级块来明确一下,那个块组有空间能存储文件;
(2)      确定块组之后,在inode表中查找空闲的inode条目,由0标记为1;
(3)      通过块位图,查找空闲的block;
(4)      在inode条目中添加空闲block块的指向,在空的block中创建test.txt;
问题2、在linux中要查找/tmp/aa/bb文件的过程?
         Answer:先查 / 的inode ---> 查 / 目录block中对应tmp的inode ---> 根据查到的/tmp的inode去查/tmp/目录block中对应aa的inode ---> 根据查到的/tmp/aa的inode去查/tmpaa目录block中对应的bb的inode ---> 根据查到的/tmp/aa/bb的inode去查block发现是文件 ---> 读取数据;

(2)      常用的文件系统类型:
centos 7系列,默认使用的是xfs系列
centos 6系列,默认使用的是ext4系列
centos 5系列,默认使用的是ext3系列
centos 4系列,默认使用的是ext2系列  
iso9660 光盘文件系统
nfs 网络文件系统
gfs2 集群文件系统(redhat研发)
mogilefs、hdfs 两者属于分布式文件系统
swap 交换分区格式(注意:swap分区不是把它当作内存来使用,而是内存中的数据交换到swap分区,即swap交换分区拿出部分空间来存储内存中不常用的空间数据,以此来腾出更多的内存空间).
(3)      文件系统管理分为两部分:
文件系统内核模块(普通的文件系统类型ext2\3\4)可以做如下理解:
1
2
3
4
5
6
7
8
[iyunv@localhost ~]# cd/lib/modules/2.6.32-504.el6.x86_64/kernel/fs/
[iyunv@localhost fs]# pwd
/lib/modules/2.6.32-504.el6.x86_64/kernel/fs
[iyunv@localhost fs]# ls
autofs4    cifs      dlm       ext2 fat      gfs2  jffs2      nfs         nls       udf
btrfs      configfs  ecryptfs  ext3 fscache  jbd   lockd      nfs_common  squashfs  xfs
cachefiles cramfs    exportfs  ext4 fuse     jbd2  mbcache.ko  nfsd       ubifs
[iyunv@localhost fs]#



/lib/modules/2.6.32-504.el6.x86_64/kernel/fs  文件系统的内核模块的存放目录,只有这里的文件系统类型才能进行格式化;
文件系统管理工具:
Note:VFS虚拟文件系统(磨平了不同文件系统之间的差异,调用的时候直接访问VFS文件系统) wKiom1XhYdGBbwa5AACviW8C9nk240.jpg
(4)      文件系统管理工具:
mkfs:mkfs只是一个调用的功能,实际是这些应用程序的使用(mkfs.ext2  mkfs.ext4     mkfs.msdos mkfs.cramfs   mkfs.ext3  mkfs.ext4dev mkfs.vfat)

                   mkfs–t 文件系统类型 分区名
                   mke2fs:mke2fs专门用来格式化ext系列文件系统的命令;
                            mke2fs[OPTION] 分区名
                                     -t  用于指定文件系统类型{ext2|3|4}
                                     -b指定块的大小 {1024|2048|4096},块的概念:多少个扇区封装成一个单元;
                                     -L‘LABEL’设定卷标名;
                                     -j  相当于:-t ext3
                                               mkfs.ext3  == mkfs –t ext3 == mke2fs –j == mke2fs –text3
-i #   为数据中间中的每多少(#)个字节创建一个inode。(2T硬盘,每个都是几k的小文件,根据文件的大概大小来创建相应的inode条目)
                                     -N#   指定数据区有多少个inode;
                                     -m#   指定为管理预留空间占主空间的百分比;
                                     -OFEATURE[,….]   启用指定特性;
                                               -O^FEATURE  关闭指定特性;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[iyunv@localhost ~]# mke2fs -t ext4 -b 4096-L juanming -N 30000 -m 8 /dev/sda3
mke2fs 1.41.12 (17-May-2010)
Filesystem label=juanming————#卷标名为:juanming
OS type: Linux
Block size=4096 (log=2)——————#块的卷大小为4096字节
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
30176 inodes, 1313064 blocks——————#inode条目为30176,块条目数为1313064;
105045 blocks (8.00%) reserved for thesuper user
First data block=0
Maximum filesystem blocks=1346371584
41 block groups——————————————#25个块组
32768 blocks per group, 32768 fragments pergroup————————#每个块组中block总数
736 inodes per group————————#每个块组的inode条目数;
Superblock backups stored on blocks:
         32768,98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystemaccounting information: done

This filesystem will be automaticallychecked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.



tune2fs:tune2fs重新设定ext系列文件系统中可调参数;
tune2fs [OPTION] 分区名
         -l查看指定文件系统(分区)的超级块详细信息;
         -L重新指定卷标名;
         -m# 调整管理员预留空间的百分比;
         -u指定文件系统的UUID;
1
2
3
4
5
6
[iyunv@localhost ~]# e2label /dev/sda3
juanming
[iyunv@localhost ~]# tune2fs -L JuanMing1/dev/sda3
tune2fs 1.41.12 (17-May-2010)
[iyunv@localhost ~]# e2label /dev/sda3
JuanMing1



mkswap: mkswap用于交换分区的格式化;
         mkswap   [OPTION] 分区名
                   -L卷标名
                   -UUUID
         swapon:挂载交换分区;
         swapoff:卸载交换分区;
free:查看内存的使用情况:
         -m按M为单位;
         -g  按G为单位;
         #free–m

blkid : 块设备信息显示工具          UUID也是一种引用;
         -L卷标名 设备名
         -UUUID 设备名
e2label分区名 :查看分区的卷标名;
dumpe2fs: 文件系统的超级块信息查看工具;
dumpe2fs –h 只显示超级块头部信息;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[iyunv@localhost ~]# dumpe2fs -h /dev/sda3
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   JuanMing1              #卷标名
Last mounted on:          <not available>
Filesystem UUID:          40206534-232b-4061-9205-e13e06db9d08
Filesystem magic number:  0xEF53
Filesystem revision #:    1(dynamic)
Filesystem features:      has_journal ext_attr resize_inodedir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bgdir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux                     #文件系统类型
Inode count:              30176                #总inode数目
Block count:              1313064            #总block数目
Reserved block count:     105045
Free blocks:              1275746             #空闲的block
Free inodes:              30165                 #空闲的inode
First block:              0
Block size:               4096                    #块的大小单位4096字节
Fragment size:            4096
Reserved GDT blocks:      320
Blocks per group:         32768                   #每个块组中的block
Fragments per group:      32768
Inodes per group:         736                       #每个块组中的inode
Inode blocks per group:   46                   #每个块组中的inode block
Flex block group size:    16
Filesystem created:       Tue Aug 25 03:12:36 2015          #文件系统创建的时间;
Last mount time:          n/a
Last write time:          Tue Aug 25 03:46:56 2015          #tune2fs –l 也可以查看超级块的详细信息;
Mount count:              0
Maximum mount count:      36
Last checked:             Tue Aug 25 03:12:36 2015
Check interval:           15552000 (6 months)
Next check after:         Sun Feb 21 03:12:36 2016
Lifetime writes:          137 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:                  256




文件系统挂载:
挂载定义:将额外的文件系统与根文件系统建立关联关系。使得其作为此额外文件系统的访问入口的过程;
挂载操作时注意:
         在linux系统上,所有的文件系统必须通过根文件系统的某个分支来访问;
         单一文件系统不应该被重复挂载在不同的挂载点(目录)中;
         单一目录不应重复挂载多个文件系统;
         作为挂载点的目录理论上都是空白目录,不然原来目录下的文件会被隐藏;直到卸载
挂载点注意:
         事先存在;
         应该使用别的进程未使用的目录;
         挂载点下原有的文件将被隐藏;

mount :挂载命令;
mount [选项] 设备挂载点
mount查看/etc/mtab已经挂载的条目;
         -t 指定文件系统类型(CentOS6才能智能识别文件系统类型)
         -r 只读挂载
         -w 读写挂载
         -a 挂载/etc/fstab下的所有条目进行挂载;
         -n 挂载时不更新/etc/mtab文件;
         -B == --bind
         mount –B 原目录 目标目录,  关联目录(把目标目录关联到原目录)
         umount  目标目录 , 取消关联(通常用于版本更新),例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@localhost ~]# mkdir /root/test1                                  #新建目录
[iyunv@localhost ~]# mount --bind/tmp/test1/ /root/test1/                #关联目录
[iyunv@localhost ~]# ls /root/test1/ -l                                                              查看目标目录
total 52            
-rw-r--r-- 1 root root    0 Aug 22 15:28 End
-rw-r--r-- 1 root root    0 Aug 22 14:25 error.out
-rw-r--r-- 1 root root   80 Aug 22 14:20 error.txt
-rw-r--r-- 1 root root   52 Aug 22 14:32 file.out
-rw-r--r-- 1 root root   46 Aug 22 14:45 hello.txt
-rw-r--r-- 1 root root   20 Aug 22 14:11 result.txt
-rwxr-xr-x 1 root root  162 Aug 22 17:37 spaceline.sh
-rwxr-xr-x 1 root root   30 Aug 22 15:41 test.sh
[iyunv@localhost ~]# umount /root/test1/                                  #取消关联
[iyunv@localhost ~]# ls -l /root/test1/                                   #再次查看目标目录
total 0



-o 参数选项 [多个使用,隔开例:-o sync,exec,nouser]    -o 里面还有参数
         async:异步模式,使用异步模式数据的修改先于内存中完成,根据某种策略定期同步至磁盘,实现永久存储。
        sync:同步模式,直接将数据的修改同步至磁盘
        auto:支持mount -a 这个选项实现自动挂载
        noauto:不支持mount -a 不能实现自动挂载
        noexec:不允许此设备上的二进制程序执行(一般设为不允许)  exec:允许此设备上的二进制程序执行
        user:允许普通用户挂载设备
        nouser:不允许普通用户挂载设备
unmount:卸载命令   
umount [设备|挂载点] 可以是设备名|卷标名|UUID
fuser:查看有哪些进程正在使用挂载点
fuser -v 挂载点

[iyunv@localhost ~]# mount /dev/cdrom    /media
mount: block device /dev/sr0 is    write-protected, mounting read-only
[iyunv@localhost ~]# cd /media/
[iyunv@localhost media]# ls
autorun.inf  debian     firmware  g2ldr.mbr  isolinux     md5sum.txt  setup.exe  win32-loader.ini
boot         dists   g2ldr        install    live      pool        tools
[iyunv@localhost media]# umount    /dev/cdrom
umount: /media: device is busy.                因为user当前正在目标目录下工作,故无法卸载;
           (In some cases useful info about processes that use
            the device is found by lsof(8) or fuser(1))
fuser -km 强行终止正在使用的挂载点的进程(直接杀掉进程)
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@localhost ~]# umount /media
umount: /media: device is busy.
       (In some cases useful info about processes that use
        the device is found by lsof(8) or fuser(1))
[iyunv@localhost ~]# fuser -v /media     #查看哪些进程占用/media
                     USER        PID ACCESS COMMAND
/media:              root      11777 ..c.. bash
[iyunv@localhost ~]# fuser -km /media/   #强制结束使用挂载点的进程,现象是直接关闭用户所连接的虚拟终端
/media/:             11777c
[iyunv@localhost ~]# umount /media/
[iyunv@localhost ~]# cat /proc/mounts | grepmedia    卸载成功
[iyunv@localhost ~]#



与挂载相关的配置文件:
         /etc/fstab: 主要用于系统启动时挂载设备;
         /etc/mtab:存储了已经挂载的条目;
         /proc/mounts:内核中识别的所有挂载条目;

/etc/fstab开机自动挂载的配置文件:
1
2
3
4
5
6
7
8
9
  9/dev/mapper/vg0-root    /                       ext4    defaults       1 1
10UUID=f3d57e47-8685-4e88-b809-f2a4726dc491 /boot                   ext4    defaults            1 2
11/dev/mapper/vg0-usr     /usr                    ext4    defaults        1 2
12/dev/mapper/vg0-var     /var                    ext4    defaults       1 2
13/dev/mapper/vg0-swap    swap                    swap    defaults       0 0
14tmpfs                   /dev/shm                tmpfs   defaults        0 0
15devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
16sysfs                   /sys                    sysfs   defaults       0 0
17proc                    /proc                   proc    defaults        0 0



/etc/fstab配置文件内容解析:
第一列:要挂载的设备名(设备文件、卷标、UUID这三种引用方式);
第二列:挂载点
第三列:文件系统类型;
第四列:挂载选项;
第五列:转储频率
         0:从不备份;
         1:每日备份;
         2:每隔一日备份;
第六列:自检次序;
         0:不自检;
         1:首先自检,通常直被/使用;
         2:/自检之后自检;
Note:这里面的default选项,既然是挂载选项,直接查看挂载命令mount的帮助
1
2
3
4
[iyunv@localhost ~]# whatis mount
[iyunv@localhost ~]# man 8 mount
defaults
      Use default options: rw, suid, dev, exec, auto,  nouser, async,  and  relatime.




链接文件:1、文件的硬链接:指向同一个inode的多个不同的文件路径 他们指向同一组磁盘块
2、文件的字符链接(软连接):符号链接有自己的inode,但是此inode没有指向数据块,而是指向数据
原文件的访问路径(即一些字符串)

                  硬链接的特性:
Ⅰ硬连接不能跨文件系统
Ⅱ不能对目录进行硬链接
Ⅲ创建硬链接会增加文件的硬连接数。

                   软连接的特性:
Ⅰ符号连接可以跨文件系统
Ⅱ可以对目录进行软连接
Ⅲ不会增加硬连接数,
Ⅳ删除原文件,会损坏符号连接文件。

                   3、ln创建连接文件的命令
ln [选项] 原文件目标文件 (默认创建硬连接文件)
         -s 指明创建软链接文件;
         -v 显示详细信息;

其他常用命令:
du:查看某目录树占用空间的情况;
du [选项] 目录
         -s 指列出目录的总和,不列出子目录的大小     
-h 单位换算:转换成人能识别的单位
1
2
3
4
5
6
7
8
9
10
[iyunv@localhost home]# du -h kalaguiyin/       #查看目录下各个文件占用空间的情况;
4.0Kkalaguiyin/test/tmp/b/shell
4.0Kkalaguiyin/.gnome2
212K         kalaguiyin/network-scripts/network-scripts
216K         kalaguiyin/network-scripts
664K         kalaguiyin/
[iyunv@localhost home]# du -sh kalaguiyin/       #仅查看目录占用空间的总和;
664K         kalaguiyin/
    df [] []
        -h         -i inode



1
2
3
4
5
6
[iyunv@localhost home]# df -h /dev/sda1
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1       190M  33M  148M  18% /boot
[iyunv@localhost home]# df -ih /dev/sda1
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda1         50K   39   50K    1% /boot



e2fsck [选项] 文件系统(分区)
-y 所有问题自动默认为yes;

QQ截图20150831085931.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-106602-1-1.html 上篇帖子: linux 监控CPU memory disk process 脚本 下篇帖子: 解决CentOS 6.5中,Python-2.7.*交互模式下方向键、退格键等出现乱码的问题 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表