Day 16 文件属性

1.1 文件类型

1.1.1 Windows   通过扩展名区分不同的类型的文件

1.1.2 Linux      扩展名是给人类看的,方便我们区分不同类型文件

.conf       配置文件

.sh        脚本

.tar.gz     压缩包

.py       Python脚本

1.1.3 Find里的文件类型

f    file文件(二进制文件(命令)  文本文件(text   数据文件(data  需要单独的命令查看)

d      dir   目录

l       softlink   软连接

b      block   块设备

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  作用

相当于文件的入口

Day 16 Linux 文件属性_第1张图片

 

 

Day 16 Linux 文件属性_第2张图片

 

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           划分隔断       装修 (装修风格)             入住

Day 16 Linux 文件属性_第3张图片

 

1.4.2.4  软连接与硬链接的区别

Day 16 Linux 文件属性_第4张图片

 

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 ==== 重启服务/软件

[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 没有被彻底删除满了