day 16 文件类型--特殊符号

文件属性-特殊符号

第1章 文件类型:

1.1 扩展名

.txt   tao.avi dao.mp4    .log

 

1.2 扩展名

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

 

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

 

.conf      配置文件

.sh        脚本

.tar.gz    压缩包

.py        python脚本

扫描二维码关注公众号,回复: 2462873 查看本文章

文件类型:

f    file        文件

d    dir         目录

  softlink    软连接

1.二进制文件(命令)

2.文本文件(text)

3.数据文件(data)需要单独命令查看

 

查看文件类型:

[root@oldboyedu50-lnb /tmp]# file  /bin/ls /etc/hosts /tmp/etc-pai.tar.gz

/bin/ls:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

/etc/hosts:          ASCII text

/tmp/etc-pai.tar.gz: gzip compressed data, from Unix, last modified: Fri Jul 20 02:39:55 2018

 b    block       块设备

 c    character   字符设备

 p    pipe        管道

 s    socket      套接字

实验:修改扩展名对文件是否有影响

[root@oldboyedu50-lnb /tmp]# ll  etc.tar.gz 查看etc.tar.gz

-rw-r--r-- 1 root root 9734648 Jul 20 01:41 etc.tar.gz

[root@oldboyedu50-lnb /tmp]# mv etc.tar.gz etc.txt(修改etc.tar.gz为etc.txt)

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

etc/            etc-pai.tar.gz  etc.txt         ethers         

[root@oldboyedu50-lnb /tmp]# ll etc.txt (查看etc.txt)

-rw-r--r-- 1 root root 9734648 Jul 20 01:41 etc.txt

[root@oldboyedu50-lnb /tmp]# tar tf etc.txt (使用tar来查看etc.txt)

 

文件类型小结:

1.常见扩展名  .conf  .sh  .tar.gz  .zip   .py

2.常见文件类型  f d  l 

3.查询文件类型

ll

file

第2章 权限

对于一个文件来说 系统中的用户分为:主人     家人      陌生人

                                   所有者   用户组    其他人

 

r----read       可读     4

w----write      可写     2

x----execute    可执行   1

-                        0

权限的计算

[root@oldboyedu50-lnb /tmp]# ll /etc/hosts

主人   家人    陌生人

-rw-    r--     r--     2 root root 186 Jul 26 11:19 /etc/hosts

 420    400   400

 6      4      4

2.1 权限计算练习:

字母-------à数字              数字-------------à字母

-rw-r-----      640     644             -rw-r--r--

-r--r--r--      444      755             -rwxr-xr-x

-rw-r--r--      644     400             -r--------

-rw-------      600      640             -rw-r----- 

 

小结:

1.rwx对应含义 数字

2.计算权限   字母<---->数字

 

第3章 链接:

在Linux系统中,链接分为两种:一种被称为软连接softlink  或 符号链接 symlink)另一种被称为硬链接  (hard link)

 

3.1 硬链接:

在同一个磁盘分区中,文件的inode号码相同,互为硬链接

 

硬链接也就是文件入口

创建硬链接 ln命令创建

 

 

 

[root@oldboyedu50-lnb /oldboy]# echo oldboyedu.com > oldboy.txt

                                添加oldboyedu.com到oldboy.txt

[root@oldboyedu50-lnb /oldboy]# ll oldboy.txt   (查看oldboy.txt)

-rw-r--r-- 1 root root 14 Jul 27 21:49 oldboy.txt

[root@oldboyedu50-lnb /oldboy]# ln oldboy.txt  oldboy.txt-hard

给oldbooy.txt创建一个名为oldboy.txt-hard的硬链接

[root@oldboyedu50-lnb /oldboy]# ll oldboy.txt (查看oldboy.txt)

-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt

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

1046996 -rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt

1046996 -rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard

 

 

小结:

1.特点  同一个分区中  inode相同的文件,互为硬链接

2.防止误删除

3.彻底删除一个文件条件:

 文件硬链接数为0(rm)

 

3.2 软连接:

最常用

相当于windows快捷方式 存放的源文件的位置

 

 

实例3-1 创建软连接

[root@oldboyedu50-lnb /oldboy]# ln  -s   oldboy.txt   oldboy.txt-soft

                                (为oldboy.txt创建名为oldboy.txt-soft的软链接)

[root@oldboyedu50-lnb /oldboy]# ls -l  oldboy.txt* (查看所有与oldboy.txt有关的文件)

-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt(oldboy.txt)

-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard  (oldboy.txt的硬链接)

lrwxrwxrwx 1 root root 10 Jul 27 22:09 oldboy.txt-soft -> oldboy.txt (oldboy.txt的软连接)

[root@oldboyedu50-lnb /oldboy]# ls -l  oldboy.txt*  (查看所有与oldboy.txt有关的文件)

-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard  (oldboy.txt的硬链接)

lrwxrwxrwx 1 root root 10 Jul 27 22:09 oldboy.txt-soft -> oldboy.txt  (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

3.3 文件系统

磁盘   -----> 分区    ------------->创建  文件系统             --->挂载

房间        划分隔断              装修(装修风格)             入住

 

【软硬链接总结】

linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。

·         如何创建:

§  默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接

·         含义:

§  硬链接文件与源文件的inode节点号相同,而软链接文件相当于windows下面的快捷方式(inode节点号与源文件不同)

·         特点:

§  不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到

§  软链接可以跨文件系统,硬链接不可以跨文件系统。

·         怎么没的(源文件,软链接,硬链接与删除)

§  删除软链接文件,对源文件及硬链接文件无任何影响;

§  删除文件的硬链接文件,对源文件及软链接文件无任何影响;

§  删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);

§  同时删除源文件及其硬链接文件,整个文件才会被"真正"的删除

blob.png

 

 

硬链接和源文件具有相同的inode,软链接和源文件具有不同的inode

文件的链接数显示的是硬链接的个数,和软链接个数无关

 

文件:

1、文件既可以创建软链接,也可以创建硬链接

 

目录:

1、目录只可以创建软链接,不可以创建硬链接

2、对于一个空目录,它有两个硬链接数,一个是它本身,一个是目录

   下的 "."文件,它每创建一个次一级目录,它的硬链接数目都会加

   1,因为每个次一次目录下面都有一个“..”文件,但如果在该目录

   下创建文件硬链接数目就不会变化。

 

删除:

1、软硬链接删除后,源文件并不会有影响

2、源文件删除后,硬链接文件依然有效,软链接文件失效。原因是软链接

   文件相当于一个快捷方式,而硬链接文件和源文件都相当于通向目的地

   的入口,堵(删)了一个入口,另一个还是能走通

 

实际应用:

1、软链接文件可以作为快捷方式,简化繁琐的文件层次

2、硬链接文件可以用于重要文件,防止文件被误删等情况发生

 

 

3.4 文件删除原理:

3.4.1 硬连接数为0    rm

3.4.2  进程调用数为0 是否有人使用

blob.png

 

3.5 如何查看 被占用的文件                     

打开两个窗口)

#窗口1                         #窗口2

lsof |grep oldboy.txt           tail -f /oldboy/oldboy.txt

#显示所有被占用的文件

Lsof   #list open files   

 

 

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

tail           3755      root    3r      REG                8,3          14         1046996    /oldboy/oldboy.txt

命令或服务名称                                                           文件大小    inode号码 文件名

 

 #窗口2

 tail -f /oldboy/oldboy.txt #取消tail -f

#窗口1                        

lsof |grep oldboy.txt         

 

小结:文件删除原理

1.硬连接数为0

2.进程调用数为0  lsof |grep xxx

 

没有入口 有人再使用文件

3.6 磁盘满故障

#模拟 文件没有被彻底删除(i_link)为0 进程调用数(i_count)不为0

#/var/log/messages

 

3.6.1 查看磁盘使用(逐层排查)

[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 -1

16G /var

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

16G /var/log

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

16G /var/log/messages

 

3.6.2 删除这个文件

[root@oldboyedu50-lnb /oldboy]# ll /var/log/messages

-rw------- 1 root root 16197811985 Jul 27 23:00 /var/log/messages

[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]# \rm -f /var/log/messages

 

3.6.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

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

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

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

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

376K  /root

7.6M  /bin

16M   /sbin

27M   /lib64

30M   /etc

38M   /boot

80M   /var

114M  /tmp

214M  /lib

1.1G  /usr

#文件被删除后磁盘空间仍然不足的原因:文件没有被彻底删除

3.6.4 找出这个被占用文件

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

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

3.6.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. 磁盘空间不足 - 文件没有被彻底删除导致(硬连接数为0 进程调用数不为0)

   df -h  ; du -sh 没满 ;  lsof |grep delete

 

 

总结:

1.权限 文件类型

2.软硬连接区别

3.文件删除原理

4.磁盘空间不足系列:

1)inode

2)block

3)block 没有被彻底删除满了


猜你喜欢

转载自blog.51cto.com/13859679/2152204