首页 > 代码库 > RH124-14 文件系统和磁盘设备管理

RH124-14 文件系统和磁盘设备管理

第十四章 文件系统和磁盘设备管理





14.1 文件系统和磁盘设备的管理与使用


磁盘设备

磁盘设备是支持随机读写数据的设备.


在物理机器上,设备文件默认都存放在/dev/目录下,第一个硬盘是/dev/sda,第二个硬盘是/dev/sdb,如此类推.第一个硬盘的第一个分区是/dev/sda1,第二个分区是/dev/sda2,如此类推.


在xen或kvm的虚拟机上,硬盘的名字则是/dev/xvda或/dev/vda等,如此类推


           有些存放数据的设备并不是直接硬件对应的设备文件,而是通过软件生成的块设备文件 例如lvm和软raid设备文件。




文件系统


建立在磁盘设备之上,让系统支持以文件、目录的形式访问设备的数据。



# df -h


# du /root


# du -sh /var/log




文件系统的挂载与卸载

要以目录、文件的形式访问设备上的数据,设备必须使用文件系统格式化。格式化后方等挂载使用。


# blkid 

# blkid /dev/vda1


挂载(server0)

# mount /dev/vdb1  /mnt/mydata

# mount UUID="xxxx"  /mnt/mydata


# cd /mnt/mydata

# umount /mnt/mydata 会失败,提示设备忙

# lsof /mnt/mydata

# cd 

# umount /mnt/mydata


练习:在server0上完成文件系统挂载



1) 执行lab fs setup 部署实验环境



2) 查看设备id

# blkid

/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 

/dev/vdb1: UUID="72e49c5f-e0fe-4dfd-9245-9d93aac34d18" TYPE="xfs" 




3) 新建目录/mnt/newspace,

并且把其中一个设备挂载到此目录


# mkdir /mnt/newspace


# mount /dev/vdb1 /mnt/newspace

 

# df -h

文件系统        容量  已用  可用 已用% 挂载点

....

/dev/vdb1       509M   26M  483M    6% /mnt/newspace




4)进入到该目录并新建目录newdir,并在新建的目录下新建文件

# cd /mnt/newspace/

# mkdir newdir

# touch newdir/newfile

# cp /etc/fstab   /mnt/newspace/newdir/

# ls -l /mnt/newspace/newdir/

总用量 4

-rw-r--r--. 1 root root 313 1月  29 19:08 fstab

-rw-r--r--. 1 root root   0 1月  29 19:08 newfile



5) 退出挂载目录并且取消挂载


# umount /mnt/newspace/

umount: /mnt/newspace:目标忙。

        退出所在目录

(有些情况下通过 lsof(8) 或 fuser(1) 可以

 找到有关使用该设备的进程的有用信息)



# lsof /mnt/newspace/

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

bash    1633 root  cwd    DIR 253,17       19  128 /mnt/newspace

lsof    1956 root  cwd    DIR 253,17       19  128 /mnt/newspace

lsof    1957 root  cwd    DIR 253,17       19  128 /mnt/newspace


# cd 

# pwd

/root

# umount /mnt/newspace/





6) 强烈建议使用uuid进行挂载


# blkid

/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 

/dev/vdb1: UUID="72e49c5f-e0fe-4dfd-9245-9d93aac34d18" TYPE="xfs"   获得uuid



# mount UUID="72e49c5f-e0fe-4dfd-9245-9d93aac34d18" /mnt/newspace




持久化挂载: 在RH134会讲到







14.2 管理链接文件



字符链接文件(软链接文件)


相当于windows的快捷方式文件


它是一个独立的文件,该文件指向另一个文件


它占用磁盘空间


可以跨文件系统创建


可以对目录建立字符链接文件


硬链接文件


相当于同一份数据多个名字,拥有原文件的一些属性,仅仅是路径不同。


它不会另外占用磁盘空间


起到文件数据冗余的作用


仅仅支持同一个文件系统的文件创建硬链接


不支持对目录创建



创建硬链接文件

# echo "Hello World" > newfile.txt

# ls -l newfile.txt



# ln newfile.txt /tmp/newfile-hlink.txt

# ls -l newfile.txt /tmp/newfile-hlink.txt



# rm -f newfile.txt

# ls -l /tmp/newfile-hlink.txt

# cat /tmp/newfile-hlink.txt



创建字符链接文件


# ln -s /tmp/newfile-hlink.txt /tmp/newfile-symlink.txt


# ls -l /tmp/newfile-hlink.txt /tmp/newfile-symlink.txt



# rm -f /tmp/newfile-hlink.txt


# ls -l  /tmp/newfile-symlink.txt


# cat /tmp/newfile-symlink.txt


# ln -s /etc /root/configfiles

# cd /root/configfiles

# pwd






查找文件



# updatedb  用于扫描系统的文件,并保存在一个文件中,   man update可以看到  放在/var/...中,所以查看很快,新下载的则不会,需要再次输入这个命令

# locate passwd


# locate -i messages

  不区分大小写

# locate -n 5 snow.png




# find / -name sshd_config


# find / -iname ‘*.txt‘


# find /etc/ -name ‘*pass*‘


# find / -iname ‘*messages*‘



# find /home/student  -user student

# find /home/student -group student


# find /home/student -gid 1000

# find /  -user root -group mail


# find /home -perm 764  完全匹配权限

# find /home -perm -324 拥有者至少有011(-wx),组010(-w-),其他人100(r--)


# find /home -perm /442 拥有者至少有r,或者组成员至少由r,或者其他人至少有w权限



# find /home/student -size 10M  等于10M

# find /home/student -size +10G 大于10G


# find /home/student -size -10k 少于10k



# find / -mmin 120  离修改时间刚好是120分钟


# find / -mmin +200 已经修改超过200分钟

# find / -mmin -150 离修改时间少于150分钟



# find /etc -type d


# find /etc -type l


# find /dev -type b


# find /usr -type f -links +1 查找所有硬链接数超过1的文件



把查找到满足条件的文件进一步处理


# mkdir /tmp/bin


# find /usr/bin -size +50k -exec cp {} /tmp/bin \;























=========================================================================================


[root@localhost Desktop]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda1        10G  3.1G  7.0G  31% /

devtmpfs        475M     0  475M   0% /dev

tmpfs           490M  140K  490M   1% /dev/shm

tmpfs           490M  832K  490M   1% /run

tmpfs           490M     0  490M   0% /sys/fs/cgroup



14.2

[root@localhost Desktop]# ls -li /

total 32

     781 lrwxrwxrwx.   1 root root    7 May  7  2014 bin -> usr/bin  你访问他是访问文件他指向的文件,有自己的大小,权限宿主,空间。

     160 dr-xr-xr-x.   4 root root 4096 Jul 11  2014 boot

       3 drwxr-xr-x.  19 root root 3080 Jun 11 12:13 dev

     132 drwxr-xr-x. 133 root root 8192 Jun 11  2017 etc

25165973 drwxr-xr-x.   3 root root   20 Jul 11  2014 home

     785 lrwxrwxrwx.   1 root root    7 May  7  2014 lib -> usr/lib

     162 lrwxrwxrwx.   1 root root    9 May  7  2014 lib64 -> usr/lib64

     167 drwxr-xr-x.   2 root root    6 Mar 13  2014 media

 8388761 drwxr-xr-x.   3 root root   21 Jun 11 12:18 mnt

16818322 drwxr-xr-x.   3 root root   15 Jul 11  2014 opt

       1 dr-xr-xr-x. 488 root root    0 Jun 11  2017 proc

 8388737 dr-xr-x---.  14 root root 4096 Jun 11 12:15 root

    8547 drwxr-xr-x.  35 root root 1140 Jun 11 12:32 run

     786 lrwxrwxrwx.   1 root root    8 May  7  2014 sbin -> usr/sbin

25165974 drwxr-xr-x.   2 root root    6 Mar 13  2014 srv

       1 dr-xr-xr-x.  13 root root    0 Jun 11  2017 sys

16818305 drwxrwxrwt.  22 root root 4096 Jun 11 12:18 tmp

     158 drwxr-xr-x.  13 root root 4096 May  7  2014 usr

25165953 drwxr-xr-x.  22 root root 4096 Jun 11  2017 var

[root@localhost Desktop]# 



[root@localhost Desktop]# locate passwd   

/etc/passwd

/etc/passwd-

/etc/pam.d/passwd

/etc/security/opasswd

/usr/bin/gpasswd





locate -i message  不区分大小写



find 考试必考,

找一个文件 ,并属于哪个人,再CP一份到指定的目录







# find / -name sshd_config


 名

# find / -iname ‘*.txt‘


不区分大小写

 # find /etc/ -name ‘*pass*‘


这个文件的路径中包括pass都找出来

# find / -iname ‘*messages*‘


不区分大小写


# find /home/student  -user student


 找属于student的文件


# find /home/student -group student


这个组有的文件 

# find /home/student -gid 1000

 按ID去找

# find /  -user root -group mail


写多个条件去查找


# find /home -perm 764  完全匹配权限


  按照文件权限模式用-perm选项,按文件权限模式来查找文件的话。。


# find /home -perm -324 拥有者至少有011(-wx),组010(-w-),其他人100(r--)


# find /home -perm /442 拥有者至少有r,或者组成员至少由r,或者其他人至少有w权限



# find /home/student -size 10M  等于10M

# find /home/student -size +10G 大于10G


# find /home/student -size -10k 少于10k



# find / -mmin 120  离修改时间刚好是120分钟


# find / -mmin +200 已经修改超过200分钟

# find / -mmin -150 离修改时间少于150分钟



# find /etc -type d


# find /etc -type l


# find /dev -type b


# find /usr -type f -links +1 查找所有硬链接数超过1的文件



把查找到满足条件的文件进一步处理



# mkdir /tmp/bin


# find /usr/bin -size +50k -exec cp {} /tmp/bin \;





















  找到并执行cp命令


本文出自 “HCIE_38xx” 博客,谢绝转载!

RH124-14 文件系统和磁盘设备管理