L009文件属性知识详解小节
本堂课分为5部分内容
1.linux下重要目录详解
2.PATH变量路径内容
3.linux系统中文件类型介绍
4.linux系统中文件属性详细介绍
5.linux系统文件属性inode与block知识详解
一、linux重要目录详解
根目录下的重要目录
bin---用户二进制命令存放目录
dev---服务器设备目录(如磁盘等等)
etc---系统的配置文件,以及系统服务启动文件的存放目录
home---用户的家目录,普通用户的家目录
sbin---系统管理员的二进制命令目录
var---存放可变化目录,例如日志
etc
/etc/issue 用于登陆前系统显示的版本信息
/etc/motd 系统登录前提醒(默认为空)
/etc/redhat-release 生成系统版本
/etc/group 存放用户组的目录
##/etc/passwd 存放用户的目录
/etc/shadow 存放用户密码的目录
/etc/gshadow 存放用户组密码的目录
##/etc/sudoers sudo的配置文件(权限提升)
/etc/securetty 设定哪些中端可以让root登录
/etc/login.defs 用户登录时的缺省文件
##/etc/syslog.conf CentOS 5.X的日志设置文件
##/etc/rsyslog.conf CentOS 6.X的日志设置文件
/etc/rc.local 存放开机自动启动内容的文件(通过源程序编译安装的软件)
chkconfig一般是用来管理yum/rom包安装服务。
usr
/usr/local 默认安装默认的软件目录,相当于windows下的Program files
/usr/src 内和的源码目录
var
/var/log 各种日志的存放地
##/var/log/messages 系统信息默认日志文件,非常重要,按周自动轮回
##/var/log/secure 系统登录的日志信息
##/var/spool
##/vat/spool/cron/root 定时任务的默认路径
##/var/spool/clientmqueue sendmail邮件文件目录5.x有这个问题
proc 系统信息
##/proc/cpuinfo 查看cpu信息(http://www.cnblogs.com/lcrbg/p/5341310.html)
##/proc/meminfo 查看内存信息(http://www.cnblogs.com/lcrbg/p/5341354.html)
##/proc/interrupts 查看正在使用的终端,和曾经有多少个终端
##/proc/loadavg 查看负载信息(http://www.cnblogs.com/lcrbg/p/5341285.html)
二、PATH变量路径内容
三、linux系统中文件类型介绍
1)windows里是通过扩展名来区分文件类型的,如*.txt
2)linux中的文件不是用扩展名来区分文件类型的,也就是说扩展名和文件类型是没有关系的。
3)为了给使用者容易区分,也为了windows的使用习惯,我们也用扩展名来表示linux中的文件类型。

mknod 可创建字符设备,块等设备(极少使用,主要为演示)
[root@moban data]# mknod oldboy c
[root@moban data]# ls -l oldboy
crw-r--r-- root root , Mar : oldboy
[root@moban data]# mknod oldboy1 b
[root@moban data]# ls -l oldboy
crw-r--r-- root root , Mar : oldboy
[root@moban data]# ls -l oldboy1
brw-r--r-- root root , Mar : oldboy1
四、linux系统中文件属性详细介绍
[root@moban log]# ls -l
drwxr-xr-x. root root Mar : as
drwxr-xr-x. root root Mar : io
-rw-r--r-- root root Mar : lkj.txt
-rw------- root root Mar : yum_save_tx-----16otc2lB.yumtx
crw-rw-rw- root tty , Mar : /dev/tty
brw-rw---- root disk , Mar /dev/sda
brw-rw---- root disk , Mar : /dev/sda1
brw-rw---- root disk , Mar : /dev/sda2
brw-rw---- root disk , Mar /dev/sda3
srw-rw-rw- root root Mar : /dev/log
lrwxrwxrwx. root root Mar : /etc/init.d -> rc.d/init.d
prw--w--w-. postfix postfix Mar : /var/spool/postfix/public/pickup
drwxr-xr-x中的第一位为文件类型,后9位为读写权限
d为目录文件
-为普通文件
c为字符设备,串口设备,如猫
b为块儿设备,如磁盘,光驱等设备
s为套接口文件,当我们启动MySQL服务器时,会产生一个mysql.sock的文件。
l为连接文件(link),这和Windows操作系统中的快捷方式有点相似。
p为管道文件,是Linux系统中一种进程通信的机制 五、linux系统文件属性inode与block知识详解
Inode索引节点
硬盘分区,格式化,创建文件系统,在每个分区都有两块,一个是inode,一个是block
inode是存储文件实际属性的信息(ls -lhi),但是唯独不包含文件名。
block是存储实际文件的的块。一个文件要至少占用一个inode和一个block,格式化的数量inode会大于block的数量 Block:
ext3/ext4文件系统的block大小一般只有1 2 4k,其中引导分区为1k,其他分区为4k(CentOS 6.x)
一个block只能存放一个文件的内容,即使一个4K的block已经存储上一个1K的文件还剩3K,但是新的文件也不能继续存在这个block中 如何查看分区中的inode的大小
dumpe2fs /dev/sda2 | grep -i "Inode size" //-i为不不区分大小写
[root@moban log]# dumpe2fs /dev/sda2 | grep -i "inode size"
dumpe2fs 1.41. (-May-)
Inode size:
查看inode和block的大小及数量
dumpe2fs /dev/sda2 | grep -i "Block count"
[root@moban log]# dumpe2fs /dev/sda2 | grep -i "Block count"
dumpe2fs 1.41. (-May-)
Block count:
Reserved block count: 121945
dumpe2fs /dev/sda2 | grep -i "Inode count"
[root@moban log]# dumpe2fs /dev/sda2 | grep -i "Inode count"
dumpe2fs 1.41. (-May-)
Inode count:
那么,在生产环境中,block的大小如何处理呢,是选1K 还是2K还是4K?
如果是大文件业务多一些,就让block尽量大一些
如果是小文件业务多一些,就让block小一些
ext3/ext4最大只能4K ,而工作中几乎没有小雨4K的文件,所以ext3,ext4文件系统,block都分配4K。
总的小节:
1)磁盘分区格式化文件系统后,会分为inode和block两部分内容。
2)inode存放文件的属性及指向文件实体的指针,文件名不在inode里,一般上级目录的block。
3)访问文件,通过文件-->inode-->block.(图)

4)inode一般情况默认大小256B,block大小1 2 4K ,默认是4K,注意,引导分区特殊分区除外。
5)通过df -i 查看inode的数量以及使用情况,dumpe2fs /dev/sda3 查看inode及block的大小及数量
6)一个文件至少要占用一个inode及一个block,其中多个文件可以占用同一个inode(硬链接)
7)一个block只能被一个文件使用,如果文件很小block很大,剩余空间浪费,无法继续被其他文件所使用。
8)block不是越大越好,要根据业务的文件大小进行选择,一般就是默认4K。
9)可以在格式化的时候改变inode及block的大小。
改变inode和block的命令(具体也不是很懂这个命令,先提及一下,以后上课学到后补全)
mkfs.ext4 -b 2048 -I 2048 /dev/sdb
L009文件属性知识详解小节的更多相关文章
- L011系统文件属性知识进阶详解小节
L011系统文件属性知识进阶详解小节 这节课的内容相对来说较少,一上午加中午就听完了,现在总结一下,最后会有一个相关的面试题. 首先先附上一张图: 今天学习主要跟①和②有关,①为Inode 号 ②为文 ...
- RabbitMQ基础知识详解
什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中 ...
- Cisco路由技术基础知识详解
第一部分 请写出568A的线序(接触网络第一天就应该会的,只要你掐过,想都能想出来) .网卡MAC地址长度是( )个二进制位(16进制与2进制的换算关系,只是换种方式问,不用你拿笔去算) A.12 ...
- RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙
消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以 ...
- 浏览器对象模型(BOM)是什么?(体系结构+知识详解)(图片:结构)
浏览器对象模型(BOM)是什么?(体系结构+知识详解)(图片:结构) 一.总结 1.BOM操作所有和浏览器相关的东西:网页文档dom,历史记录,浏览器屏幕,浏览器信息,文档的地址url,页面的框架集. ...
- Intent知识详解
Intent知识详解 一.什么是Intent 贴一个官方解释: An intent is an abstract description of an operation to be performed ...
- Context知识详解
Context知识详解 建议配合context知识架构图食用. 一.什么是Context 贴一个官方解释: Interface to global information about an appli ...
- Python字符串切片操作知识详解
Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...
- Python基础知识详解 从入门到精通(七)类与对象
本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...
随机推荐
- selenium定位学习回顾
之前已经专门学过了定位,但后来因为浏览器比较方便,可以直接复制xpath和css进行定位,个人觉得自己快遗忘了这块,所以专门来回顾一下, 顺便记录一下,以便后期查看. 进行web页面自动化测试,对页面 ...
- HashMap中的equals和hashCode
HashMap的存储方式 HashMap的实现方式是数组链,不同的对象根据其哈希码(hashCode方法的返回值)找到对应的数组下标,然后存入数组.不同的对象有相同的哈希码时怎么办?这就由数组链中的链 ...
- Webpack2入门
webpack 2 将在其文档完成之后正式发布.但这并不意味着不可以开始使用它,如果你知道怎么配置的话. 什么是 Webpack? 简单来说,Webpack 就是一个针对 JavaScript 代码的 ...
- 学大伟业 Day 6 培训总结
今天接着昨天的继续讲数据结构 今天先是 分块 在统计问题中,尤其是序列问题,经常涉及到区间的操作,比如修改一段区间的元素,询问某个区间的元素的信息. 如果每次都对一整个区间的每一个元素进行操作的话,那 ...
- c# 常见验证邮箱、电话号码、日期等格式
#region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...
- Storm 出现 no jzmq in java.library.path
在真实环境中运行时,在log日志下,查看workpid日志发现出现该错误. 解决办法: 在conf/storm.yaml添加jzmq安装的路径, 我使用的默认安装在/usr/local/lib下 ja ...
- 移动端Vue回到顶部
html: <div class="totop" id="totop" @click="Top" v-show="totop ...
- 20.springboot项目部署到linux服务器文件上传临时路径处理问题
1.前言 把项目部署到服务器上之后,文件上传默认会在/tmp路径中. 之前想了各种解决办法,比如如何更改这个上传路径...... 最后发现不是个好的方法,当然就想到了更好的解决方案. 就是我把上传文件 ...
- Unity 游戏框架搭建 (十四) 优雅的QSignleton(零) QuickStart
好久不见 !之前想着让各位直接用QFramework,但是后来想想,如果正在进行的项目直接使用QFramework,这样风险太高了,要改的代码太多,所以打算陆续独立出来一些工具和模块,允许各位一个 ...
- vue 父子组件相互传值
子传父 逻辑: 单击子组件的按钮 ,触发它的单击事件 通过 $emit 触发父级自定义事件 并传一个值给父级 <div id="id"> <h3>儿子 ...
