Linux文件属性及类型

文件的属性

[root@oldboy ~]# $ ll
-rw-------. 1 root root 1623 May 26 20:51 anaconda-ks.cfg
-rw-------. 		①:文件类型与权限
1           		②:硬链接次数
root        		③:所属用户
root        		④:所属组
1623        		⑤:文件大小
May 26 20:51 		⑥:最新修改的时间与日期
anaconda-ks.cfg     ⑦:文件或目录名称

文件的类型

通过颜色或者后缀判断文件类型不一定准确

ls -l 文件名

区分:	看第一个字符
-:	普通文件(文本, 二进制, 压缩, 图片, 日志等) 
d:	目录文件
c:	字符设备文件	例如:打印机、终端
b:	设备文件(块设备文件)/dev/sda1, /dev/sda2 例如:硬盘、U盘、光驱
s:	socket 	套接字文件 一部分客户端和服务端建立连接(进程间通信)
p:	管道文件
l:	软链接文件(快捷方式)
举例:
[root@oldboy ~]# $ ll -d /etc/hosts /tmp /bin/ls  /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
-rwxr-xr-x. 1 root root 117608 Aug 20  2019 /bin/ls
srw-rw-rw-. 1 root root      0 Jun  2 08:45 /dev/log
brw-rw----. 1 root disk   8, 0 Jun  2 08:45 /dev/sda
crw--w----. 1 root tty    4, 1 Jun  2 08:45 /dev/tty1
lrwxrwxrwx. 1 root root     22 May 26 20:45 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root    158 Jun  7  2013 /etc/hosts
prw-------.  1 root root      0 Jan 20 10:36 /run/dmeventd-client
drwxrwxrwt. 7 root root     93 Jun  2 13:29 /tmp

使用命令区分

file 文件

## txt文档文件
[root@oldboy ~]# $ file /root/info.txt 
/root/info.txt: ASCII text

## shell script 脚本文件
[root@oldboy ~]# $ file check_student.sh 
check_student.sh: Bourne-Again shell script, UTF-8 Unicode text executable

## 块设备文件
[root@oldboy ~]# $ file /dev/sda
/dev/sda: block special

## 目录文件
[root@oldboy ~]# $ file /root
/root: directory
## 管道文件
[root@oldboy ~]# $ file /run/systemd/inhibit/1.ref
/run/systemd/inhibit/1.ref: fifo (named pipe)

## 字符设备
[root@oldboy ~]# $ file /dev/tty
/dev/tty: character special

## 套接字文件
[root@oldboy ~]# $ file /dev/log
/dev/log: socket

注意:Linux中的文件扩展名仅仅是为了运维人员便于识别,不具有其它含义

系统链接文件

元数据

什么是元数据

用来形容一个文件的属性,被称之为该文件的元数据。

例如:文件的大小、文件的权限、文件的创建时间……

在Linux中文件被分为两部分:inodeblock

block:文件内容大小占用的磁盘空间(一个block默认4k)

inode:文件的元数据占用的磁盘空间

软链接文件

软链接:软链接相当于windows的快捷方式,软链接文件会将inode指向源文件的block

当我们访问这个软链接文件时,其实就是在访问源文件的本身。
1.那么当我们对一个文件创建多个软链接时,其实就是多个inode指向同一个block。
2.那么当我们删除软链接文件时,其实只是删除了一个inode的指向,并不会对源文件造成影响。
3.如果我们删除的是源文件,那么该文件的所有软链接文件都会失效。
4.软链接文件的名字可以和源文件不同,修改软链接文件,源文件也会被修改
5.软链接文件的inode号和源文件的inode号不同

如何创建软链接

## 语法
ln [选项] 源文件 快捷方式 
ln -s /root/a.html /tmp/b.xxx

## 查看inode的方法
[root@oldboy ~]# $ ll -i /root/a.html
33618915 -rw-r--r--. 1 root root 64 Jun  3 11:04 /root/a.html


在这里插入图片描述

软链接文件的应用场景

  • 不方便移动的大文件
  • 软件升级
  • 代码发布
  • 数据回滚
  • 程序读取

硬链接文件

硬链接文件:若一个inode号对应多个文件名,则称这些文件为硬链接。

# 创建方式一
[root@oldboy /opt]# 
$ ln /opt/ld.txt /tmp/
# 创建方式二
[root@oldboy /opt]# 
$ ln /opt/ld.txt /tmp/xxx

在这里插入图片描述

硬链接的特点

1.硬链接文件之间的inode号都相同
2.硬链接之间不能跨分区创建
3.硬链接文件不受源文件的影响

区别

特性硬链接软链接
inode相同不同
跨分区创建不可以可以
创建命令lnln -s
删除源文件不受影响受影响
给目录创建链接不可以可以

企业级面试题

面试题:当前磁盘空间还剩余500G,但是就无法往里面写入数据,报错,磁盘空间满了。

1T磁盘,用户数据把inode沾满了

df -i
/dev/loop0        1024  1024       0  100% /data
inode被占满了
我们创建文件,需要使用inode存放文件的元数据,即便是有block也无法创建新文件

计算目录的硬链接数

一个新创建的空目录,硬链接数:2
如果在该目录下创建一个新的空目录,硬链接数:3
因为新创建的子目录有..
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值