将相本无种,男儿当自强。这篇文章主要讲述文件属性及类型相关的知识,希望能为你提供帮助。
文件属性
示范
[root@ aaaaaaaa ~ yjc]# ll
- rw-r--r--1 root root0 Mar 29 19:32 tuzi.txt1
- rw-r--r--1 root root218 Mar 27 21:48 web.log
以空格为分隔符第一列:
文件的类型
-:普通文件 touch
d:directory 目录 mkdir
l:link 软链接文件(windows快捷方式) ln
————————————————————————————————————
c:设备文件(char字符设备文件)和字符相关的设备,举例:打印机,终端
b:设备文件(block块设备文件)和存储相关的设备,举例:硬盘,U盘,磁盘分区
s:socket安全套接字文件,网络编程
p:pipe管道文件,父进程与子进程之间的通信文件
————————————————————————————————————
以空格为分隔符第二列:
rw- r-- r--
rwx rwx rwx
r:read 读
w:write 写
x:exec 执行
-:该权限位上没有权限
*文件的权限:Permission denied(权限被拒绝)
————————————————————————————————————
以空格为分隔符第三列:
1
1
指该文件的硬链接数
————————————————————————————————————
以空格为分隔符第四列:
root
root
该文件的属主
————————————————————————————————————
以空格为分隔符第五列:
root
root
该文件的属组
————————————————————————————————————
以空格为分隔符第六列:
0
218
该文件的大小
————————————————————————————————————
以空格为分割符第七列:
29 19:32
27 21:48
文件的创建时间
————————————————————————————————————
以空格为分割符最后一列:
tuzi.txt1
web.log
文件名
文件类型查看命令
file 语法:
file [选项] 文件...
举例
[root@ aaaaaaaa < sub> yjc]# file blog.driverzeng.com_access.log
blog.driverzeng.com_access.log: ASCII text, with very long lines
[root@ aaaaaaaa < /sub> yjc]# 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@ aaaaaaaa < sub> yjc]# file /dev/sda
/dev/sda: block special
[root@ aaaaaaaa < /sub> yjc]# file /dev/pts/0
/dev/pts/0: character special
系统的链接文件?一个文件在Linux中,会被分为两部分:?
- 真实数据:文件中的真实内容
- 元数据:用来形容一个文件数据,可以理解为看不见内容的一个文件
- inode:用来存储,文件的元数据
- block:用来存储,文件的真实数据,一个block是4k
##查看磁盘空间的命令
df
选项
-h:human人类可读
-i:查看inode空间
#示范 查看磁盘的block
[root@ aaaaaaaa < sub> yjc]# df -h
FilesystemSizeUsed Avail Use% Mounted on
devtmpfs475M0475M0% /dev
tmpfs487M0487M0% /dev/shm
tmpfs487M7.7M479M2% /run
tmpfs487M0487M0% /sys/fs/cgroup
/dev/mapper/centos-root19G1.6G17G9% /
/dev/sda1497M131M367M27% /boot
tmpfs98M098M0% /run/user/0
# 查看磁盘的inode
[root@ aaaaaaaa < /sub> yjc]# df -hi
FilesystemInodes IUsed IFree IUse% Mounted on
devtmpfs119K387119K1% /dev
tmpfs122K1122K1% /dev/shm
tmpfs122K747121K1% /run
tmpfs122K16122K1% /sys/fs/cgroup
/dev/mapper/centos-root9.3M28K9.3M1% /
/dev/sda1250K326250K1% /boot
tmpfs122K1122K1% /run/user/0
链接文件的种类
- 软链接文件
- 软链接相当于windows的快捷方式,软链接文件会将inode指向源文件的block
ls -i :查看该文件的inode号
#创建软链接的命令
ln:link 链接,创建链接文件
-s:soft 软,创建软链接文件
ln -s 源文件 链接文件的位置
#示范
[root@ aaaaaaaa < sub> yjc]# ln -s /root/1.txt /tmp
[root@ aaaaaaaa < /sub> yjc]# ll /tmp
total 4
lrwxrwxrwx1 root root11 Mar 30 03:25 1.txt -> /root/1.txt
[root@ aaaaaaaa < sub> yjc]# ln -s /root/1.txt /tmp/
[root@ aaaaaaaa < /sub> yjc]# ll /tmp/
total 196
lrwxrwxrwx 1 root root 11 Mar 29 10:54 1.txt -> /root/1.txt
[root@ aaaaaaaa < sub> yjc]# ln -s /root/1.txt /tmp/2.txt
[root@ aaaaaaaa < /sub> yjc]# ll /tmp/
total 196
lrwxrwxrwx 1 root root 11 Mar 29 10:54 1.txt -> /root/1.txt
lrwxrwxrwx 1 root root 11 Mar 29 10:55 2.txt -> /root/1.txt
#*软链接文件,会受到源文件的影响,如果源文件删除,软链接文件也无法使用
- 硬链接文件
硬链接不能创建目录
# 创建硬链接的命令
ln
ln 源文件 链接文件的位置
## 示范
创建硬链接的命令
ln
ln 源文件 链接文件的位置
## 举例
[root@localhost < sub> ]# ln /root/info.txt /opt/
[root@localhost < /sub> ]# ln /root/info.txt /opt/info1.txt
## 查看
[root@localhost < sub> ]# ls -li /root/info.txt
33575833 -rw-r--r-- 3 root root 72 Mar 25 11:09 /root/info.txt
[root@localhost < /sub> ]# ls -li /opt/info.txt
33575833 -rw-r--r-- 3 root root 72 Mar 25 11:09 /opt/info.txt
[root@localhost < sub> ]# ls -li /opt/info1.txt
33575833 -rw-r--r-- 3 root root 72 Mar 25 11:09 /opt/info1.txt
## 查看文件内容
[root@localhost < /sub> ]# cat /root/info.txt
Im zzgx,"18years old QQ 133411023
Im wyk,"103years old QQ 383838384
[root@localhost < sub> ]# cat /opt/info.txt
Im zzgx,"18years old QQ 133411023
Im wyk,"103years old QQ 383838384
[root@localhost < /sub> ]# cat /opt/info1.txt
Im zzgx,"18years old QQ 133411023
Im wyk,"103years old QQ 383838384
# 特性
1.硬链接文件,不会受到原文件的影响
2.所有硬链接文件的inode号与源文件相同
3.修改一个文件,其他文件都会改变
4.不允许给目录创建硬链接
5.默认情况下,新创建的目录,有两个硬链接,一个是目录本身,一个是该目录下的.目录
[root@localhost < sub> ]# ls -lai /root/test -d
33575836 drwxr-xr-x 2 root root 6 Mar 29 11:52 /root/test
[root@localhost < /sub> ]# ls -lai /root/test
total 4
33575836 drwxr-xr-x 2 root root 6 Mar 29 11:52 .
## 报错
[root@localhost opt]# ln /root/wyk /tmp/wyk
ln: ‘/root/wyk’: hard link not allowed for directory
硬链接和软连接的区别【文件属性及类型】1.硬链接创建命令ln。软连接创建命令 ln -s
2.硬链接对象只能对普通文件创建,软连接只能对普通文件和目录
3.硬链接不受到源文件影响,软连接收到源文件影响
4.硬链接inode号相同,硬链接不相同
5.硬链接不可以跨分区创建,软连接可以跨分区创建
企业面试题当前磁盘空间还剩余500G,但是就无法往里面写入数据,报错,磁盘空间满了。
# 1.首先磁盘存储被划分为两块
inode:存储文件的元数据
block:存储文件的真实数据
# 2.在问题当中剩余500G,这500G指的是block
# 3.应该是inode被占满了
# 4.这种情况,一般是系统中,小文件太多导致的
# 5.找到系统中的小文件(没用的),并删除
##### 使用find命令
演示
## 查看inode
[root@localhost < sub> ]# 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/shm
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 < /sub> ]# 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 < sub> ]# ll -h /opt/disk
-rw-r--r-- 1 root root 1.0M Mar 29 12:26 /opt/disk
## 格式化,指定inode
[root@localhost < /sub> ]# 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 < sub> ]# mkdir /data1
## 刚才的分区,挂载到/data1下
[root@localhost < /sub> ]# mount -t ext4 -o loop /opt/disk /data1
## 查看新分区inode大小
[root@localhost < sub> ]# 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推荐阅读
- 文件的属性及类型
- [linux运维] 利用zabbix监控linux高危命令并发送告警
- [python运维] 使用python3制作一个mysql压测小工具!
- 如何监控服务器主机的流量——WGCLOUD
- 数字游戏--三子棋
- golang使用swagger-ui(windows安装)
- linux文件属性及类型
- Docker 环境初始化安装
- Linux 内核进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )