1. 程式人生 > >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 \;























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


[[email protected] 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

[[email protected] 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

[[email protected] Desktop]#



[[email protected] 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 文件系統和磁盤設備管理