码迷,mamicode.com
首页 > 系统相关 > 详细

Linux文件属性

时间:2017-10-25 23:30:45      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:linux基础

ls –lhi  = ll -hi

139610  drwxr-xr-x  2  root  root  4.0K Oct  4  23:33 ad

 

139610     inode索引节点编号  系统读取文件时,首先通过文件名找到inode,然后才能读取到文件内容

 

drwxr-xr-x  第一位是文件类型、后面9位为文件权限

2   硬链接数量(同一个文件的,两个不同的访问入口)  一个链接删掉,数据没丢。

root   属主

root   属组

4.0K   大小

Oct    月份

4      日期

23:33   时间   最近修改时间?  修改时间也就是改变时间?

ad     文件名


硬盘要存数据

首先要分区(隔断)  然后格式化(装修) 最后存数据(住人) 

 

被格式化为ext4CentOS6.7)文件系统后,一般分为两个部分:

第一个是Inode(很多)   数据的属性信息(也就是ls –l的结果)不限于

                        还包括文件实体的指针功能(inode节点 – block的对应关系)

                        但是inode唯独不包括文件名

第二个是Block(很多)   存放实际数据

 

inode还会为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,通过inode的值

最快的找到相对应的文件实体。


下图对应关系  文件———inode———block 


技术分享


技术分享

两种查看都行


技术分享

技术分享

第二个swap分区打不开 不清楚为啥

技术分享

第一和第三个分区大小不一样


技术分享

一是boot 二是swap 三是根

使用情况


查看inode还剩多少

技术分享


任何一项满了,就不能再放数据了


磁盘满的一个特征

no space on device left

技术分享

8)一个文件正常情况下有且只能有一个inode(人和身份证)




技术分享


技术分享

技术分享

技术分享

补充6:可以认为是一个文件的不同入口


技术分享

技术分享


企业里文件一般都会比较大(一般会大于4K),block设置大一些会提高磁盘访问效率


技术分享


举个例子,假设磁盘空间100M,A文件大小为10M,文件inode大小1M,符号链接0.1M。
创建文件后磁盘空间大小为100-10-1=89M,那么以下操作对应的磁盘空间为:
1.
复制,使用cp命令,磁盘空间大小为89-10-1=78M
2.
硬链接,使用ln不带参数命令,磁盘空间为89-1=88M
3.
软链接,使用 ln -s命令,磁盘空间为89-0.1=88.9M
“复制”深度不同而已!


技术分享

这题目上网找下  


技术分享

技术分享

last 显示登录列表/var/log/wtmp数据文件

lastlog 显示最近登录的用户信息   /var/log/lastlog数据文件

 

dumpe2fs查看文件系统内部信息(元数据)

后面会讲


技术分享

查看目录


技术分享

技术分享

链接文件


技术分享


read 4

write 2

x 1 执行

- 0 没有权限


技术分享


技术分享

技术分享


技术分享

技术分享


技术分享


总结:技术分享


软链接

技术分享

包含源文件所在路径  找它就会找到源文件路径

技术分享


技术分享

技术分享


技术分享

技术分享

技术分享

第三条如果不理解看上面的图


条件是文件的链接  文件!  文件!


技术分享

技术分享

技术分享


技术分享

技术分享

技术分享

一样的


技术分享

而.. 指向的也是test目录

技术分享


所以这里的3   就是

技术分享

下级目录的..为第三个


技术分享

所以这道题,第一个问题是2   第二个问题是3


技术分享

下面的一级目录就有80 除去下面二级目录里的.. 以及目录自身的.



技术分享

技术分享


技术分享动态文件删除


http://oldboy.blog.51cto.com/2561410/612351

案例  要细看



#yuminstall httpd –y

#/etc/init.d/httpdstart

#lsof -i:80

#/etc/init.d/iptablesstop   防火墙关闭

 

#cd/etc/httpd/conf

#vimhttpd.conf

查找到这句在513行(set nu
技术分享

q


[root@hostconf 22:52:03]#grep "#CustomLog logs/access" httpd.conf

#CustomLoglogs/access_log common

查找到的内容 下条命令会替换掉

 

#sed -i‘s@#CustomLog logs/access_log common@CustomLog /app/logs/access_log common@g‘httpd.conf

替换掉


[root@hostconf 22:53:47]#grep "CustomLog /app/logs/access_log common"httpd.conf

CustomLog/app/logs/access_log common

验证一下


创建一个小的文件系统,用于存放上述access_log日志。

dd if=/dev/zero of=/dev/sdc bs=8K  count=10


技术分享

技术分享


mkfs -t ext4 /dev/sdc            格式化


技术分享

tune2fs -c -1 /dev/sdc  上面写了180天或29次后 要做检查

这条命令之后就不会了


挂载

mount -oloop /dev/sdc /app/logs


技术分享

技术分享


echo oldboy >/var/www/html/index.html


(3)重启httpd服务,确保日志记录到了上述文件系统挂载的/app/log下面

/etc/init.d/httpd restart


技术分享


(4)写个循环脚本访问httpd,使得httpd日志充满/app/logs整个空间。

for n in `seq 20000`;do curl -s 127.0.0.1>/dev/null;done


技术分享

弄了几次都这么大,以为哪出问题了 结果了因为已经满了

[root@C64log]# df -h

技术分享


错误解决方法:

直接删除日志

技术分享

这样没有用

因为:只是删除了文件  

服务进程还在

而且这样一弄,文件名就看不见了,但系统空间还是没有释放


技术分享

用这个命令查一下

lsof |grep del


技术分享


1、请先停掉模拟访问测试脚本

forn in `seq 100000`;do curl -s 127.0.0.1 >/dev/null;done

重启Http服务、查看处理结果


技术分享


7)较好的处理方案

清空日志而不删除日志。

>/app/logs/access_log         下图

技术分享


这个属于block满了       因为查看inode还没有满   一个大的文件进来占用所有block

技术分享

这个满属于Inode满了   大量小文件  占满所有inode

技术分享


本文出自 “11745576” 博客,请务必保留此出处http://11755576.blog.51cto.com/11745576/1975851

Linux文件属性

标签:linux基础

原文地址:http://11755576.blog.51cto.com/11745576/1975851

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!