linux运维、架构之路-linux文件属性
1、查看文件属性 ls -lhi
文件属性详细说明
1. 第一列: inode索引节点编号 2. 第二列:文件类型及权限 3. 第三列:硬链接数 4. 第四列:文件或目录所属的用户,即文件的所有者 5. 第五列:文件或目录所属的组。 6. 第六列:文件或目录的大小。 7. 第七、八、九列:文件或目录的修改时间
2、inode小结
磁盘被分区并格式化为ext4文件系统会生成一定数量的inode和block。inode被称为索引节点,它的作用是存放文件的属性信息及作为文件内容的索引(指向实体block)。
一个非空文件至少要占有一个inode和一个block。inode节点号相同的文件,互为硬链接文件。inode在一个文件系统(分区)中是唯一的。用ls -i(查看某些文件的inode)或df -i(查看系统里面inode剩余量)进行查看inode信息。
3、block小结
block是用来存储实际数据的,磁盘读取信息是以block为单位读取的;一个文件可能占用多个block,每读取一个block就会消耗一次磁盘I/O,一个block剩余空间会被浪费,无论内容有多小。用dumpe2fs/dev/sda3 |grep -i "block size"或者df -h查看磁盘使用量。
4、文件权限
5、硬链接
ln 源文件 目标文件
软连接: ln -s 源文件 目标文件
硬链接是通过执行命令“ln 源文件 目标文件”来创建完成的;在同一文件系统中,具有相同inode节点号的多个文件互为硬链接文件。
硬链接与删除:
把源文件和硬链接都删除,文件才能被彻底删除。文件被删除的条件之一是硬链接数量为0。
查看文件的硬链接数:ls -lhi、stat
6、软链接
linux里的软链接文件实际上是一个特殊的文件,文件类型是l,可以理解为是一个文本文件,这个文件包含有软连接指向另一源文件的位置信息。
软链接是通过执行命令“ln -s 源文件 目标文件”来创建的;软链接和源文件是不同类型的文件,也是不同的文件,其inode也不同。
硬链接文件与源文件的inode相同,软链接则与源文件不同;
对于目录不能创建硬链接但是可以创建软链接
软链接可以跨文件系统,硬链接不可以跨文件系统;
删除链接的源文件对硬链接无影响,软链接将无法使用;
同时删除源文件及硬链接文件,整个文件才能被删除
7、文件删除
linux通过link数量控制文件删除,只有当一个文件i-count和i-link都为零文件才被删除。
i-count 当前文件被调用的数量(内存引用计数器,被进程调用时增加)
i-link 介质链接数量(磁盘引用计数器,创建硬链接时增加)
8、企业小案例
磁盘空间已满但是与du -sh结果不一致,如何解决?
①第一个里程碑
####已经删除了,但是空间没有释放
####已经删除了-----把文件的硬链接数量为0
####空间没有释放---还有人在使用---进程
②第二个里程碑
# lsof |grep delete
rsyslogd 1250 root 1w REG http://078881.cn/ 8,3 1888889326 274029 /var/log/messages (deleted)
#####硬链接数为0了,但是还有一个rsyslog软件正在使用
###这个文件没有被彻底删除
③第三个里程碑
##重启对应的软件/服务即可
# /etc/init.d/rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
④第四个里程碑
dh -f
1.尽量清空日志文件不要删除
2.切割日志,删除旧的文件(几天以前的)
no space left on device(磁盘空间不足)
block满了,df -h ----- du -sh /*---500G磁盘放入了3个300G的文件
block满了,硬链接数为0(日志文件被rm删除),进程占用数量不为零。www.hjdyl.com lsof|grep delete
inode满了
linux运维、架构之路-linux文件属性的更多相关文章
- linux运维架构师职业规划
1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...
- 教老婆学Linux运维(二)Linux常用命令指南【上】
目录 教老婆学Linux(二)Linux常用命令指南[上] 一.概述 二.常用命令 教老婆学Linux(二)Linux常用命令指南[上] 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三 ...
- 第一阶段·Linux运维基础 第3章·文件属性、正则表达式、文件权限
01-文件属性内容介绍 02- inodeyublock讲解 03-访问oldboyfile的寻宝过程 04-inode与block小结 05-磁盘空间不足案例详解 06-Linux文件类型及拓展名 ...
- 教老婆学Linux运维(二)Linux常用命令指南【下】
目录 tips:紧接上一篇,Linux常用命令指南[上] 2.4 文件解压缩 2.4.1 官宣的linux压缩工具:tar tar的基本命令格式为 tar [参数选项] [文件或目录] 我们前面学的命 ...
- Linux运维入门到高级全套常用要点
Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...
- 其它综合-运维老鸟分享linux运维发展路线规划
运维老鸟分享linux运维发展路线规划 linux 运维发展路线常见的就是下面两条路线: 第一条:运维应用-->系统架构-->运维开发-->系统开发 第二条:运维应用-->应用 ...
- [ Linux运维学习 ] 路径及实战项目合集
我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. ...
- 运维是做什么的?史上最全互联网Linux工作规划!十分钟找到linux运维工程师职业方向!
首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器 ...
- 最适合初学者的Linux运维学习教程2018版
Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...
- Linux运维工程师学习大纲
linux运维课程大纲: Linux运维: Linux系统管理: Linux服务及安全管理: httpd,lamp,lnmp cache:memcached,varnish DB:mysql(mari ...
随机推荐
- 【LeetCode232】 Implement Queue using Stacks★
1.题目描述 2.思路 思路简单,这里用一个图来举例说明: 3.java代码 public class MyQueue { Stack<Integer> stack1=new Stack& ...
- CF 799B T-shirt buying
一道超级水的练习STL的题目 题目大意:有\(n\)件T恤,每件T恤都分别有价格(每件衣服的价格不重复).前面的颜色.背部的颜色三种属性.接下来有\(m\)个人每个人都有一种喜欢的颜色,他们按先后顺序 ...
- 【php增删改查实例】第十八节 - login.php编写
1.对用户名和密码进行非空判断(后台验证) $username; $password; if(isset($_POST['username']) && $_POST['username ...
- RSA公钥文件解密密文的原理分析
前言 最近在学习RSA加解密过程中遇到一个这样的难题:假设已知publickey公钥文件和加密后的密文flag,如何对其密文进行解密,转换成明文~~ 分析 对于rsa算法的公钥与私钥的产生,我们可以了 ...
- centos下部署redis服务环境及其配置说明
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...
- 太白教你学python---博客分类目录
太白非技术类随笔(持续更新中...猛击这里!!!) python基础 python基础一 pytcharm安装详细教程 python基础二 python基础数据类型 Python最详细,最深入的代码块 ...
- Python练习-8
1,复习 ascii:字母,数字,特殊字符:1个字节,8位 Unicode:16位 两个字节 升级 32 位 四个字节 utf-8:最少一个字节 8位表示. 英文字母 8位 1个字节 欧洲16位,2个 ...
- 变量 var &函数new
声明变量 变量:变量是存储信息的容器,创建变量通常称为"声明"变量 变量必须以字母开头(小驼峰式myName): 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做): 变量名 ...
- Final 个人最终作业。
1.对软件工程M1/M2做一个总结 在M1阶段,我在C705组.M1阶段我与黄漠源同学结对,一起完成提取关键词算法的优化.最初我们一起测试提取关键词算法功能的实现效果,随后我主要负责从网络上搜寻并整理 ...
- 20135327郭皓--Linux内核分析第八周 进程的切换和系统的一般执行过程
第八周 进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 1.进程调度与进程调度的时机分析 不同类型的进程有不同的调度需求 第一种分类: I/O-bound:频繁进行I/O ...