天天看點

檔案屬性

第1章 inux檔案屬性

[root@oldboyedu50-lnb ~]# ls -lhi

total 304K

 660149     -   rw-r--r--   1    root    root      387 Jul 13 09:39 1.txt

 660139     -   rw-r--r--.  1    root    root        0 Jul 11 03:21 alex.txt

 660134     -   rw-------.  1    root    root     1.1K Jul 10 18:25 anaconda-ks.cfg

1046995     d   rwxr-xr-x.  2    root    root     4.0K Jul 18 12:56 data

 654083     -   rw-r--r--.  1    root    root      22K Jul 10 18:25 install.log

 654084     -   rw-r--r--.  1    root    root     5.8K Jul 10 18:24 install.log.syslog

 660140     -   rw-r--r--.  1    root    root        0 Jul 11 03:21 lidao.txt

 660151     -   rw-r--r--   1    root    root      893 Jun 26 17:18 node_exporter.yml

第1列      inode索引節點

第2列      檔案類型權限

第3列      硬連結數

第4列      屬主

第5列      屬組

第6列      大小

第7-9列   修改時間

第10列     檔案名(不是檔案屬性)

inode  索引節點   檔案屬性資訊 (大小 權限 時間 檔案類型 硬連接配接數)

                              block的位置

                              沒有檔案名

block 資料塊                  檔案的内容

inode與block的特點

執行個體1-1             企業案例:如果向磁盤寫入資料提示如下錯誤:No space left on device(磁盤空間不足),通過df -h檢視磁盤空間,發現沒滿,請問可能原因是什麼?     企業場景什麼情況下會導緻這個問題發生?

1.block用完

1>模拟環境

seq 500000000   >>/var/log/nt.avi

[root@oldboyedu50-lnb ~]# du -sh /

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

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

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

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

16G /

[root@oldboyedu50-lnb ~]# du -sh /*

8.0K   /app

8.0K   /backup

7.6M   /bin

38M /boot

68K /data

220K   /dev

30M /etc

24K /home

214M   /lib

27M /lib64

16K /lost+found

4.0K   /media

4.0K   /mnt

52K /oldboy

32K /opt

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

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

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

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

0  /proc

372K   /root

16M /sbin

4.0K   /selinux

4.0K   /srv

0  /sys

99M /tmp

1.1G   /usr

14G /var

2.查找大檔案

[root@oldboyedu50-lnb ~]# du -sh /var/*|grep G

14G /var/log

[root@oldboyedu50-lnb ~]# du -sh /var/log/*|grep G

14G /var/log/lidao.mp4

[root@oldboyedu50-lnb ~]# ls -lh /var/log/lidao.mp4

-rw-r--r-- 1 root root 14G Jul 27 10:16 /var/log/lidao.mp4

2.inode用光

1.>模拟環境

mkdir -p /app/logs 

dd if=/dev/zero of=/dev/sdc bs=8K  count=10

ls -l /dev/sdc

mkfs.ext4 /dev/sdc

mount -o loop /dev/sdc /app/logs

[root@oldboyedu50-lnb ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G   16G  2.4G  87% /

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 ~]# ls -lh /bin/ls

-rwxr-xr-x. 1 root root 115K Mar 23  2017 /bin/ls

[root@oldboyedu50-lnb ~]# cp /bin/ls /app/logs/

cp: writing `/app/logs/ls': No space left on device

[root@oldboyedu50-lnb ~]# \rm -f /app/logs/ls

Filesystem      Size  Used Avail Use% Mounted on

[root@oldboyedu50-lnb ~]# df -i

Filesystem      Inodes IUsed   IFree IUse% Mounted on

/dev/sda3      1250928 57431 1193497    5% /

tmpfs           238282     1  238281    1% /dev/shm

/dev/sda1        51200    39   51161    1% /boot

/dev/sdc            16    11       5   69% /app/logs

1>建立多個小檔案

[root@oldboyedu50-lnb ~]# touch /app/logs/{1..7}.txt

touch: cannot touch `/app/logs/6.txt': No space left on device

touch: cannot touch `/app/logs/7.txt': No space left on device

[root@oldboyedu50-lnb ~]# touch  /app/logs/oldboy.txt

touch: cannot touch `/app/logs/oldboy.txt': No space left on device

2>排查

/dev/sdc            16    16       0  100% /app/logs

1.block    排查                               解決

          df -h;一層一層du -sh /              确認之後再删除

2.inode   df -i; 找出系統中目錄大小大于1M     删除小檔案

                 find / -type d   -size +1M 

[root@oldboyedu50-lnb ~]# mkdir  -p /tmp/test

[root@oldboyedu50-lnb ~]# cd /tmp/test

[root@oldboyedu50-lnb /tmp/test]# echo {1..500000}|xargs touch

[root@oldboyedu50-lnb /tmp/test]# ls |wc -l

500000

3>故障:無法删除大量檔案

[root@oldboyedu50-lnb /tmp/test]# \rm -f *

-bash: /bin/rm: Argument list too long

4>解決:删除大量檔案

[root@oldboyedu50-lnb /tmp/test]# ls |xargs rm

[root@oldboyedu50-lnb /tmp/test]# ls

[root@oldboyedu50-lnb /tmp/test]# ll

total 0

小結:删除大量小檔案

1.ls/find +|xargs rm

2.縮小範圍删除

  ls 1*  |xargs rm

  ls 2*  |xargs rm

3.删除檔案所在目錄 (記錄好權限和屬性)

第2章 使用者分類

[root@oldboyedu50-lnb /tmp/test]# id

uid=0(root) gid=0(root) groups=0(root)

[root@oldboyedu50-lnb /tmp/test]# id oldboy

uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)

[root@oldboyedu50-lnb /tmp/test]# id  nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@oldboyedu50-lnb /tmp/test]# su - oldboy

[oldboy@oldboyedu50-lnb ~]$ logout

[root@oldboyedu50-lnb /tmp/test]# su - nobody

This account is currently not available.

上一篇: 檔案屬性

繼續閱讀