首页 > 其他分享 >文件的属性及类型

文件的属性及类型

时间:2022-10-08 19:14:37浏览次数:55  
标签:文件 dev 1% 类型 tmpfs root localhost 属性

目录

文件的属性及类型

文件属性

[root@localhost ~]# ll 
total 0
drwxr-xr-x. 2 root root 6 Mar 29 08:40 lza
-rw-r--r--. 1 root root 0 Mar 29 08:41 lza.txt

# 以空格为分割符第一列
文件的类型:
-:普通文件          touch
d:directory 目录   mkdir
l:link 软连接文件   ln
----------------------------------------------
c:设备文件(char字符设备文件)和字符相关的设备
b:设备文件(block块设备文件)和存储相关的设备
s:socket 安全套接字文件,网络编程
p:pipe 管道文件,父进程与子进程之间的通信文件

# 以空格为分隔符第二列
文件的权限:permission denied(权限被拒绝)
rw- r-- r--
rwx rwx rwx
r:read 读
w:write 写
x:exec 执行
-:该权限位上没有权限

# 以空格为分隔符第三列
指该文件的硬链接数

# 以空格为分隔符第四列
该文件的属主

# 以空格为分隔符第五列
该文件的属组

# 以空格为分隔符第六列
该文件的大小

# 第七列
文件的创建时间

# 最后一列
文件名

文件类型查看命令-file

file 查看文件类型

# 语法
file [选项]... 文件...

# 例:
[root@localhost ~]# file lza
lza: directory
[root@localhost ~]# file /bin
/bin: symbolic link to `usr/bin'
[root@localhost ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
[root@localhost ~]# file /dev/sda
/dev/sda: block special
[root@localhost ~]# file a.sh
a.sh: cannot open (No such file or directory)
[root@localhost ~]# file /home/lza/
/home/lza/: directory

系统的链接文件

一个文件在Linux中,会被分为两部分

  • 真实数据:文件中的真实内容
  • 元数据:用来形容一个文件数据

一个文件在Linux中,存储也会被分为两部分

  • inode:用来存储,文件的元数据
  • block:用来存储,文件的真实数据,一个block是4k

1648560664439

# 查看磁盘空间
df
# 选项
-h:human 人类可读
-i:查看inode空间

# 查看磁盘的block
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.7M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sda3        19G  1.4G   18G   8% /
/dev/sda1       497M  125M  373M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0

# 查看磁盘的inode
[root@localhost ~]# df -hi
Filesystem     Inodes IUsed IFree IUse% Mounted on
devtmpfs         119K   378  119K    1% /dev
tmpfs            122K     1  122K    1% /dev/shm
tmpfs            122K   713  121K    1% /run
tmpfs            122K    16  122K    1% /sys/fs/cgroup
/dev/sda3        9.3M   27K  9.3M    1% /
/dev/sda1        250K   326  250K    1% /boot
tmpfs            122K     1  122K    1% /run/user/0

链接文件的种类

软链接文件

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

1648560699351

ls -i:查看该文件的inode号

# 软链接语法
ln -s 源文件 链接文件的位置

# 软链接文件,会受到源文件的影响,如果源文件删除,软连接文件也无法使用
例:
[root@localhost ~]# ln -s /zls/ ./aaa
[root@localhost ~]# ll 
total 0
lrwxrwxrwx. 1 root root 5 Mar 29 21:17 aaa -> /zls/
drwxr-xr-x. 2 root root 6 Mar 29 08:40 lza
-rw-r--r--. 1 root root 0 Mar 29 08:41 lza.txt
[root@localhost ~]# ll aaa/
total 4
-rw-r--r--. 1 root root 122 Mar 29 21:16 zls.txt

硬链接文件

若一个inode号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多个别名

1648560750857

# 创建硬链接的命令
ln 源文件 链接文件的位置

# 例:
[root@localhost ~]# ln /zls/zls.txt bbb 
[root@localhost ~]# ll 
total 4
lrwxrwxrwx. 1 root root   5 Mar 29 21:17 aaa -> /zls/
-rw-r--r--. 2 root root 122 Mar 29 21:16 bbb
drwxr-xr-x. 2 root root   6 Mar 29 08:40 lza
-rw-r--r--. 1 root root   0 Mar 29 08:41 lza.txt
[root@localhost ~]# cat bbb 
111
222

# 特性
1.硬链接文件,不会受到源文件的影响
2.所有硬链接文件的inode号与源文件相同
3.修改一个文件,其他文件都会改变
4.不允许给目录创建硬链接
5.某认情况下,新建的目录,有两个硬链接,一个是目录本身,一个是该目录下的.目录
例:
[root@localhost ~]# ls -lai /zls/zls.txt -d 
51472323 -rw-r--r--. 2 root root 122 Mar 29 21:16 /zls/zls.txt
[root@localhost ~]# ls -lai /zls/zls.txt 
51472323 -rw-r--r--. 2 root root 122 Mar 29 21:16 /zls/zls.txt

硬链接和软连接的区别

区别 硬链接 软连接
创建命令 ln ln -s
对象 只能对普通文件创建 普通文件和目录
是否受到源文件影响
inode号 相同 不同
跨分区创建 不可以 可以

企业面试题

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

1.首先磁盘存储被划分为两块
  inode:存储文件的元数据
  block:存储文件的真实数据
2.在问题当中剩余500G,这500G指的是block
3.应该是inode被占满了
4.这种情况,一般是系统中,小文件太多导致的
5.找到系统中的小文件(没用的),并删除
#使用find命令

# 查看inode号
[root@localhost ~]# df -ih
Filesystem     Inodes   IUsed    IFree  IUse% Mounted on
/dev/sda3        9.3M     35K     9.3M     1% /
devtmpfs         119K     377     119K     1% /dev
tmpfs            122K       1     122K     1% /dev/
tmpfs            122K     750     121K     1% /run
tmpfs            122K      16     122K     1% /sys/fs/cgroup
/dev/sda1        250K     327     250K     1% /boot
tmpfs            122K       1     122K     1% /run/user/0


# 从/dev/zero中取出1024k数据,保存到/opt/disk文件中
[root@localhost ~]
dd if=/dev/zero of=/opt/disk bs=1K count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.0063998 s, 164 MB/s


# 查看/opt/disk大小1M
[root@localhost ~]# ll -h /opt/disk
-rw-r--r--1 root root 1.0M Mar 2912:26 /opt/disk


# 格式化,指定inode
[root@localhost ~]# mkfs.ext4 -i 1024 /opt/disk
mke2fs 1.42.9 (28-Dec-2013)
/opt/disk is not a block special device.
Proceed anyway? (y,n) y
Filesystem too small for a journal
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=1024(log=0)
Fragment size=1024(log=0)
Stride=0 blocks, Stripe width=0 blocks
1024 inodes, 1024 blocks
51 blocks (4.98%) reserved for the super user
First data block=1
Maximum filesystem blocks=1048576
1 block group
8192 blocks per group, 8192 fragments per group
1024 inodes per group
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done


# 在/下创建一个目录data1
[root@localhost ~]# mkdir /data1


# 刚才的分区,挂载到/data1下
[root@localhost ~]# mount -t ext4 -o loop /opt/disk /data1


# 查看新分区inode大小
[root@localhost ~]# df -ih
Filesystem      Inodes  IUsed   IFree   IUse% Mounted on
/dev/sda3         9.3M    35K   9.3M       1% /
devtmpfs          119K    381   119K       1% /dev
tmpfs             122K      1   122K       1% /dev/shm
tmpfs             122K    756   121K       1%/run
tmpfs             122K     16   122K       1% /sys/fs/cgroup
/dev/sda1         250K    327   250K       1% /boot
tmpfs             122K      1   122K       1% /run/user/0
/dev/loop0        1.0K    111013           2% /data1


# 查看新分区block大小
[root@localhost ~]# df -h
Filesystem      Size      Used     Avail   Use% Mounted on
/dev/sda3        19G      1.7G       17G     9% /
devtmpfs        476M         0      476M     0% /dev
tmpfs           487M         0      487M     0% /dev/shm
tmpfs           487M       39M      449M     8% /run
tmpfs           487M         0      487M     0% /sys/fs/cgroup
/dev/sda1       497M      120M      378M    25% /boot
tmpfs            98M         0       98M     0% /run/user/0
/dev/loop0      891K       21K      799K     3% /data1


# 演示inode被沾满
[root@localhost data1]# touch {1001..1014}
touch: cannot touch ‘1014’: No space left on device
[root@localhost data1]# touch zls
touch: cannot touch ‘zls’: No space left on device
[root@localhost data1]# touch zls
touch: cannot touch ‘zls’: No space left on device
[root@localhost data1]# touch zls1
touch: cannot touch ‘zls1’: No space left on device
[root@localhost data1]# df -h
Filesystem     Size   Used   Avail   Use% Mounted on
/dev/sda3       19G    17G     17G     9% /
devtmpfs       476M      0    476M     0% /dev
tmpfs          487M      0    487M     0% /dev/shm
tmpfs          487M    39M    449M     8% /run
tmpfs          487M      0    487M     0% /sys/fs/cgroup
/dev/sda1      497M   120M    378M    25% /boot
tmpfs           98M      0     98M     0% /run/user/0
/dev/loop0     891K    39K    781K     5% /data1


# 报错
No space left on device :该设备上没有可用的空间了

标签:文件,dev,1%,类型,tmpfs,root,localhost,属性
From: https://www.cnblogs.com/LZA1218/p/16769908.html

相关文章

  • 文件压缩
    目录文件压缩压缩命令-gzip压缩命令-zip压缩命令-tar思维导图tar企业案例1.数据库物理备份2.传输海量小文件3.网络传输海量小文件练习题文件压缩为什么使用压缩文件或目......
  • [JavaSE]数据类型
    数据类型基本数据类型数值数据类型整型byteshortintlonglonga=100L;整数拓展二级制:0b123inti=0b11;输出:3十进制:123inti=11;输出:11八进制:0123......
  • 37.序列化器关系类型字段
    关系字段用于表示模型之间的关联Django中存在ForeignKey、MantToManyField和OneToOneField三种正向关系,以及反向关联和自定义关联当继承ModelSerializer类的时候,包括关......
  • 文件管理
    目录文件管理/目录下的文件/etc目录/var存放系统日志文件目录/dev系统设备文件目录路径的定位特殊目录文件管理重点:在linux中,一切皆文件。没有后缀区分。/目录下的文件......
  • 转载:Altium Designer输出Gerber文件步骤
    转自嘉立创论坛,原帖地址:https://www.jlc.com/portal/q6i10171.html正文输出Gerber文件四步骤..输出文件之前请新建一个文件夹,把需要输出的PCB文件放进去。再次强调:对......
  • C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件
    接口、命名空间、预处理指令、正则表达式、异常处理、文件的输入与输出接口(interface)......
  • vue-3 计算属性
    <template><div>学校:<inputtype="text"placeholder="请输入学校"v-model="school"/><br/>班级:<inputtype="text"placeholder="请输入班级"v-......
  • 学习Python之数据类型-1
    1、数字之运算(1)整数int#数字类型:整数inta=1b=2print(a+b)print(a-b)print(a*b)print(a/b)(2)小数float#数字类型:小数floata=1.0b=0.1print(a+b)print(a-b)p......
  • win10:你需要来自XXXX的权限才能对此文件夹进行更改
    转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/16769720.html起因软件运行失败,看报错信息是删除某个文件夹失败了,行吧,我自己来删。找到目标文件夹后,发现管理员的......
  • 字面量、注释、变量、数据类型、数据类型转换
    字面量固定的值称为字面量数据类型单行注释#注释内容多行注释"""注释内容"""变量在程序运行时,能储存计算结果或能表示值的抽象概念#特征变......