Day 16 文件屬性

1.1 文件類型

1.1.1 Windows?? 通過擴展名區分不同的類型的文件

1.1.2 Linux????? 擴展名是給人類看的,方便我們區分不同類型文件

.conf?????? 配置文件

.sh??????? 腳本

UNIX/LINUX。.tar.gz???? 壓縮包

.py?????? Python腳本

1.1.3 Find里的文件類型

f??? file文件(二進制文件(命令)? 文本文件(text?? 數據文件(data? 需要單獨的命令查看)

centos日志文件、d???? ?dir?? 目錄

l????? ?softlink?? 軟連接

b???? ?block?? 塊設備

linux文件類型。c???? ?character??? 字符設備

p???? ?pipe?? 管道

s????? ?socket?? 套接字

1.1.4 ??查看文件的詳細類型

file? /bin/ls?????????????????

1.2 文件類型小結

1.常見擴展名? .conf??? .sh?? .tar.gz??? .zip?? .py

2.常見的文件類型? f? d? l

3.查詢文件的類型? ls? ? file

?

1.3 Linux的權限

主人?????????? 家人???????? 陌生人?????????????? 筆記本

對于一個文件來說?? 系統中的用戶分為三類??? :主人? 家人 陌生人

???????????????????????????????????????????? 所有者 用戶組 其他人

r----read

可讀??? 4

w---write

可寫??? 2

x---execute

執行??? 1

? -

????????? ? 0

[root@oldboyedu50 ~]# ll /etc/hosts

主人?? 家人? 陌生人

-rw-?? r--??? r--. 1 root root 92 5月? 21 02:26 /etc/hosts

420?? 400??? 400

6????? 4???? 4

1.3.1 練習權限數字與字符之間的轉換

-rw-r-----

640

-r--r--r--

444

-rw-r--r--

644

-rw-------

600

644

? -rw-r—r--

755

-rwx-r-xr-x

400

-r--------

640

-rw-r-----

1.4 Linux鏈接? :軟連接 softlink或符號鏈接syslink? 硬鏈接(hard link

1.4.1 硬鏈接:

在同一個磁盤分區下,文件的inode號碼相同,文件就互為硬鏈接

1.4.1.1? 作用

相當于文件的入口

1.png

?

?

2.png

?

1.4.1.2? 創建硬鏈接:ln

[root@oldboyedu50 ~]# echo oldboyedu.com >oldboy.txt??????????????? 先創建一個oldboy.txt文件

[root@oldboyedu50 ~]# ll oldboy.txt???????????????? ????????????????查看內容

-rw-r--r--. 1 root root 14 7月? 29 16:50 oldboy.txt??????????????? 硬連接數為1

[root@oldboyedu50 ~]# ln oldboy.txt? oldboy.txt-hard??????????????? 創建硬鏈接

[root@oldboyedu50 ~]# ll oldboy.txt??????????????????????????????? ?查看內容

-rw-r--r--. 2 root root 14 7月? 29 16:50 oldboy.txt???????????????? 硬鏈接數為2

[root@oldboyedu50 ~]# ll -i oldboy.txt oldboy.txt-hard

265125 -rw-r--r--. 2 root root 14 7月? 29 16:50 oldboy.txt???????? ?兩個文件互為硬鏈接

265125 -rw-r--r--. 2 root root 14 7月? 29 16:50 oldboy.txt-hard

[root@oldboyedu50 ~]#

?

小結:

1.????? 特點? 同一個分區中,iNode相同的文件,互為硬鏈接

2.????? 防止誤刪除

3.????? 徹底刪除一個文件條件:

文件硬鏈接數為0rm

1.4.2 軟連接

最常用

1.4.2.1? 作用:相當于windows快捷方式?? 存放的源文件的位置

1.4.2.2? 創建軟連接? ln? -s

[root@oldboyedu50 ~]# echo oldboyedu.com >/oldboy/oldboy.txt???????????

[root@oldboyedu50 ~]# ln ?-s /oldboy/oldboy.txt? oldboy.txt-soft???????????? 創建軟連接

[root@oldboyedu50 ~]# ls -l /oldboy/oldboy.txt*

-rw-r--r--. 1 root root 14 7月? 29 17:12 /oldboy/oldboy.txt

lrwxrwxrwx? 1 root root 18 7月? 29 17:13 oldboy.txt-soft -> /oldboy/oldboy.txt指向源文件

?

[root@oldboyedu50-lnb?/oldboy]#?ls?-l??oldboy.txt*
-rw-r--r--?2?root?root?14?Jul?27?21:49?oldboy.txt-hard
lrwxrwxrwx?1?root?root?10?Jul?27?22:09?oldboy.txt-soft?->?oldboy.txt
lrwxrwxrwx?1?root?root?18?Jul?27?22:16?oldboy.txt-soft2?->?/oldboy/oldboy.txt
[root@oldboyedu50-lnb?/oldboy]#?mv?alex.txt?oldboy.txt??
將源文件移走會顯示紅色閃動
[root@oldboyedu50-lnb?/oldboy]#?ls?-l??oldboy.txt*
-rw-r--r--?2?root?root?14?Jul?27?21:49?oldboy.txt
-rw-r--r--?2?root?root?14?Jul?27?21:49?oldboy.txt-hard
lrwxrwxrwx?1?root?root?10?Jul?27?22:09?oldboy.txt-soft?->?oldboy.txt
lrwxrwxrwx?1?root?root?18?Jul?27?22:16?oldboy.txt-soft2?->?/oldboy/oldboy.txt

1.4.2.3? 文件系統

? ? ?————à分區————à? 創建文件系統——————à???? 掛載???????????????????????????

1000m^2?????????? 劃分隔斷?????? 裝修 (裝修風格)???????????? 入住

3.jpg

?

1.4.2.4? 軟連接與硬鏈接的區別

4.png

?

1.4.3 文件刪除原理:

1.????? 硬鏈接數為0??? rm

2.????? 進程調用數為0?? 是否有人使用

如何查看? 被占用的文件

?

窗口1??????????????????????????????? 窗口2

Lsof? |? grep? oldboy.txt??????????????? tail –f?? /oldboy/oldboy.txt?? 顯示文件更新狀態

顯示所有被占用的文件

List open? files

?

[root@oldboyedu50 ~]# lsof |grep oldboy.txt?????????? ?顯示所有被占用的文件

tail????? 23286????? root??? 3r????? REG??? 8,3???????? 14???? 133899 /oldboy/oldboy.txt

命令或服務名稱???????????????????????????????????? 文件大小? inode號碼? 文件名

小結:文件刪除原理

1.????? 硬鏈接數為0

2.????? 進程調用書為0?? lsof? |grep oldboy.txt

硬鏈接數為0???? 有人在使用這個文件

1.5 磁盤滿故障

模擬 文件沒有被徹底刪除 {硬連接數(i_link)為0?? 進程調用數(i_count)不為0}

1.5.1 查看磁盤的使用情況

[root@CJY ~]# df –h???????????????????????? 查看block

Filesystem????? Size? Used Avail Use% Mounted on

/dev/sda3??????? 19G?? 11G? 7.1G? 61% /

tmpfs?????????? 491M???? 0? 491M?? 0% /dev/shm

/dev/sda1?????? 190M?? 35M? 146M? 19% /boot

/dev/sr0??????? 3.7G? 3.7G???? 0 100% /mnt

/dev/sdc???????? 73K?? 14K?? 55K? 21% /app/logs

[root@CJY ~]# du -sh /*|sort -h|tail -1?????????????????? 一層一層排查

du: cannot access `/proc/28962/task/28962/fd/4': No such file or directory

du: cannot access `/proc/28962/task/28962/fdinfo/4': No such file or directory

du: cannot access `/proc/28962/fd/4': No such file or directory

du: cannot access `/proc/28962/fdinfo/4': No such file or directory

9.3G??? /var

[root@CJY ~]# du -sh /var/*|sort -h|tail -1

9.2G??? /var/log

[root@CJY ~]# du -sh /var/log/*|sort -h|tail -1

4.6G??? /var/log/messages????????? 8,3 4888891946???? 654370 /var/log/messages

1.5.2 刪除這個文件

[root@oldboyedu50 ~]# df -h

Filesystem????? Size? Used Avail Use% Mounted on

/dev/sda3??????? 19G?? 12G? 6.7G? 63% /

tmpfs?????????? 931M???? 0? 931M?? 0% /dev/shm

/dev/sda1?????? 190M?? 40M? 141M? 22% /boot

[root@oldboyedu50 ~]# \rm -f /var/log/messages????????????? 刪除這個文件

[root@oldboyedu50 ~]# df -h

Filesystem????? Size? Used Avail Use% Mounted on

/dev/sda3??????? 19G?? 12G? 6.7G? 63% /

tmpfs?????????? 931M???? 0? 931M?? 0% /dev/shm

/dev/sda1?????? 190M?? 40M? 141M? 22% /boot

?

1.5.3 ?磁盤空間不足 繼續通過du –sh排查

原因:文件沒有被徹底刪除

[root@oldboyedu50-lnb /oldboy]# df -h

Filesystem????? Size? Used Avail Use% Mounted on

/dev/sda3??????? 19G?? 17G? 1.1G? 95% /

tmpfs?????????? 931M???? 0? 931M?? 0% /dev/shm

/dev/sda1?????? 190M?? 40M? 141M? 22% /boot

/dev/sdc???????? 73K?? 14K?? 55K? 21% /app/logs

[root@oldboyedu50-lnb /oldboy]# du -sh /* |sort -h |tail

376K?? /root

7.6M?? /bin

16M /sbin

27M /lib64

30M /etc

38M /boot

80M /var

114M?? /tmp

214M?? /lib

1.1G?? /usr

1.5.4 找出這個被占用的文件

[root@oldboyedu50-lnb /oldboy]# lsof |grep messages

rsyslogd? 1412????? root??? 4w????? REG??????????????? 8,3 16197811985???? 392705 /var/log/messages (deleted)

?

1.5.5 解決

#deleted? lsof標記? 表示文件硬鏈接數為0? 進程調用數不為0

#進程調用數為0 ==== 重啟服務/軟件

[root@oldboyedu50-lnb /oldboy]# df -h

Filesystem????? Size? Used Avail Use% Mounted on

/dev/sda3??????? 19G?? 17G? 1.1G? 95% /

tmpfs?????????? 931M???? 0? 931M?? 0% /dev/shm

/dev/sda1?????? 190M?? 40M? 141M? 22% /boot

/dev/sdc???????? 73K?? 14K?? 55K? 21% /app/logs

[root@oldboyedu50-lnb /oldboy]# /etc/init.d/rsyslog restart

Shutting down system logger:?????????????????????????????? [? OK? ]

Starting system logger:??????????????????????????????????? [? OK? ]

[root@oldboyedu50-lnb /oldboy]# df -h

Filesystem????? Size? Used Avail Use% Mounted on

/dev/sda3??????? 19G? 1.6G?? 17G?? 9% /

tmpfs????????? ?931M???? 0? 931M?? 0% /dev/shm

/dev/sda1?????? 190M?? 40M? 141M? 22% /boot

/dev/sdc???????? 73K?? 14K?? 55K? 21% /app/logs

[root@oldboyedu50-lnb /oldboy]# lsof |grep messages

rsyslogd? 3828????? root??? 1w????? REG??????????????? 8,3????? 229???? 392660 /var/log/messages

1.5.6 小結:

1. 磁盤空間不足 - 文件沒有被徹底刪除導致(硬連接數為0 進程調用數不為0

?? df -h? ; du -sh 沒滿 ? lsof |grep delete

?

?

1.6 總結:

1.權限 文件類型

2.軟硬連接區別

3.文件刪除原理

4.磁盤空間不足系列:

1inode

2block

3block 沒有被徹底刪除滿了