linux 软硬文件类型,linux文件属性和类型、系统链接文件、软链接和硬链接

文件属性和类型

[[email protected] ~]# ll -d wzh

d rwxr-xr-x. 2 root root 6 Mar 26 06:27 wzh

目录 ,权限 硬链接数 属主 属组 文件大小 创建修改时间文件名

-:普通?件

d:?录?件

rw- --- --- :权限

rwx r-x r-x :权限

r:读 read

w:写 write

x:执?权限 execute

-:普通?件

d:directory ?录?件

c:char 字符设备?件

b:block 块设备?件(?来存储数据的设备)

s:socket,安全套接字?件

l:link 软链接?件(快捷?式)

p:pipe 管道?件

注意:通过颜?或者后缀判断?件类型不?定准确.

系统链接文件

?个?件分为两部分:

真实数据

元数据

block:真实数据占?的空间:19G

inode:元数据占?的空间 :9G

软链接和硬链接

软链接

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

1.那么当我们对?个?件创建多个软链接时,其实就是多个 inode 指向同?个 block 。 2.那么当我们

删除软链接?件时,其实只是删除了?个 inode 的指向,并不会对源?件造成影响。 3.如果我们删除的

是源?件,那么该?件的所有软链接?件都会失效。

2.软链接的应?场景 1)软件升级 2)代码发布 3)不?便移动的?录 4)数据回滚 5)程序读取

硬链接和源文件一样,删除了源文件软链接可以操作

#1. 创建命令不同

硬链接: ln

软链接: ln -s

#2. ?录?法创建硬链接,可以创建软链接,硬链接不能跨系统的分区,软链接可以

#3. 硬链接?件与源?件的inode号相同,软链接不同

#4. 软链接如果删除源?件,所有软链接?件失效,硬链接如果删除源?件,其他硬链接?件均可以

硬链接:[[email protected] ~]# ll -i /tmp/ys

33605428 -rw-r--r--. 2 root root 0 Mar 26 06:43 /tmp/ys

[[email protected] ~]# ll -i 123

33605428 -rw-r--r--. 2 root root 0 Mar 26 06:43 123

软链接

[[email protected] ~]# ll -i /opt/w

17354516 lrwxrwxrwx. 1 root root 9 Mar 26 06:52 /opt/w -> /root/wyf

[[email protected] ~]# ll -i wyf

total 0

[[email protected] ~]# ll -hi wyf

total 0

[[email protected] ~]# ll -d wyf

drwxr-xr-x. 2 root root 6 Mar 26 06:52 wyf

[[email protected] ~]# ll -di wyf

793418 drwxr-xr-x. 2 root root 6 Mar 26 06:52 wyf

20200712194442573378.png

[[email protected] ~]# 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.00343602 s, 305 MB/s

[[email protected] ~]# 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

[[email protected] opt]# mkdir data1

[[email protected] opt]# mount -t ext4 -o loop /opt/disk /data1

[[email protected] data1]# touch {1000..10000}

touch: cannot touch ‘9963’: No space left on device

touch: cannot touch ‘9964’: No space left on device

touch: cannot touch ‘9965’: No space left on device

touch: cannot touch ‘9966’: No space left on device

touch: cannot touch ‘9967’: No space left on device

touch: cannot touch ‘9968’: No space left on device

touch: cannot touch ‘9969’: No space left on device

touch: cannot touch ‘9970’: No space left on device

touch: cannot touch ‘9971’: No space left on device

touch: cannot touch ‘9972’: No space left on device

touch: cannot touch ‘9973’: No space left on device

touch: cannot touch ‘9974’: No space left on device

touch: cannot touch ‘9975’: No space left on device

touch: cannot touch ‘9976’: No space left on device

touch: cannot touch ‘9977’: No space left on device

touch: cannot touch ‘9978’: No space left on device

touch: cannot touch ‘9979’: No space left on device

touch: cannot touch ‘9980’: No space left on device

touch: cannot touch ‘9981’: No space left on device

touch: cannot touch ‘9982’: No space left on device

touch: cannot touch ‘9983’: No space left on device

touch: cannot touch ‘9984’: No space left on device

touch: cannot touch ‘9985’: No space left on device

touch: cannot touch ‘9986’: No space left on device

touch: cannot touch ‘9987’: No space left on device

touch: cannot touch ‘9988’: No space left on device

touch: cannot touch ‘9989’: No space left on device

touch: cannot touch ‘9990’: No space left on device

touch: cannot touch ‘9991’: No space left on device

touch: cannot touch ‘9992’: No space left on device

touch: cannot touch ‘9993’: No space left on device

touch: cannot touch ‘9994’: No space left on device

touch: cannot touch ‘9995’: No space left on device

touch: cannot touch ‘9996’: No space left on device

touch: cannot touch ‘9997’: No space left on device

touch: cannot touch ‘9998’: No space left on device

touch: cannot touch ‘9999’: No space left on device

touch: cannot touch ‘10000’: No space left on device

出现这种情况查看磁盘

[[email protected] data1]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 18G 1.5G 17G 8% /

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/sda1 1014M 127M 888M 13% /boot

tmpfs 98M 0 98M 0% /run/user/0

/dev/loop0 891K 40K 780K 5% /data1

发现磁盘没满,再查看inode

[[email protected] data1]# df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/sda3 9436672 122444 9314228 2% /

devtmpfs 121774 385 121389 1% /dev

tmpfs 124487 1 124486 1% /dev/shm

tmpfs 124487 719 123768 1% /run

tmpfs 124487 16 124471 1% /sys/fs/cgroup

/dev/sda1 524288 326 523962 1% /boot

tmpfs 124487 1 124486 1% /run/user/0

/dev/loop0 1024 1024 0 100% /data1

原来是data1的inode满了

删除没用的空文件

找出占用最多的

[[email protected] data1]# for i in /*; do echo $i; find $i | wc -l; done

/bin

1

/boot

324

/data1

1015

/dev

387

/etc

2379

/home

22

/lib

1

/lib64

1

/media

1

/mnt

1

/oldboy

42

/oldgirl

34

/opt

90004

/proc

33457

/root

9

/run

719

/sbin

1

/srv

1

/sys

48492

/tmp

19

/usr

29579

/var

4381

/wzhh

12

继续寻找opt下的

[[email protected] data1]# for i in /opt/*; do echo $i; find $i | wc -l; done

/opt/data1

90002

/opt/disk

1

删除opt下大小为0的文件

[[email protected] data1]# find /opt/* -name "*" -type f -size 0c | xargs -n 1 rm -f

[[email protected] data1]# ll /opt

total 240

drwxr-xr-x. 2 root root 6 Mar 26 06:20 data1

-rw-r--r--. 1 root root 1048576 Mar 26 06:01 disk

再看下

[[email protected] data1]# df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/sda3 9436672 32443 9404229 1% /

devtmpfs 121774 385 121389 1% /dev

tmpfs 124487 1 124486 1% /dev/shm

tmpfs 124487 719 123768 1% /run

tmpfs 124487 16 124471 1% /sys/fs/cgroup

/dev/sda1 524288 326 523962 1% /boot

tmpfs 124487 1 124486 1% /run/user/0

/dev/loop0 1024 1024 0 100% /data1

发现还是满的,那就删除data1下大小为0的文件

[[email protected] data1]# find /data1/* -name "*" -type f -size 0c | xargs -n 1 rm -f

[[email protected] data1]# df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/sda3 9436672 32443 9404229 1% /

devtmpfs 121774 385 121389 1% /dev

tmpfs 124487 1 124486 1% /dev/shm

tmpfs 124487 719 123768 1% /run

tmpfs 124487 16 124471 1% /sys/fs/cgroup

/dev/sda1 524288 326 523962 1% /boot

tmpfs 124487 1 124486 1% /run/user/0

/dev/loop0 1024 11 1013 2% /data1

这样就好了

原文:https://www.cnblogs.com/zabcd/p/13289356.html

本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值