Linux系统文件属性知识
-------------------------------------------------------------------------------------------------------------
/etc 系统的配置文件以及服务的启动命令存放的目录
/home 普通用户的家目录
/sbin 系统的二进制目录,一般用于系统管理员的二进制命令的目录。
/var variable data --可变化的数据,存放可变化的目录的文件,例如,日志。
----------------------------------------------------------------------------------------------------------------
1、/etc 目录下的重要目录和文件
/etc/issue
记录用户登录前显示的系统的信息,例如,Centos版本,内核版本。
/etc/motd
登录提醒。在该文件中写入的内容下次登录会提示。
/etc/redhat-release
显示系统版本信息;
uname -r 显示内核版本信息
/etc/group
设定用户的组名与相关信息
chattr +i 锁定用户组,无法将用户添加到组里
chattr -i 解锁。
chattr 也可以对 /etc/passwd、/etc/shadow 进行操作。
/etc/passwd
账号信息文件
x 的位置代表的是密码,因为密码存放在 passwd 里不安全,因此移走了。
创建用户的时候默认创建一个同名的组。
/etc/shadow
密码信息文件
/etc/sudoers
可以执行使用 sudo 命令的配置文件(权限提升)
visudo -- 相当于 vim /etc/sudoers
/etc/rc.local
存放开机自启动内容的文件(通过源程序自己编译安装的软件);chkconfig 一般是用来管理 yum/rpm 包装的内容
/etc/securetty
设定哪些终端可以让 root 登录
/etc/login.defs
所有用户登录时的缺省配置
/etc/modprobe.conf
内核模块额外参数设定
/etc/rsyslog.conf
日志设置文件(Centos 6)
---------------------------------------------------------------------------------------
/use/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中,相当于:C:\Program files
/usr/src 内核源码的存放目录。
--------------------------------------------------------------------------------------
2、/var 目录下的路径知识
/var
日志文件
/var/log
各种系统日志存放地
/var/log/messages
系统信息默认日志文件,按周自动轮询,当系统出现问题时会将问题打到该目录下
/var/log/secure
系统安全的日志文件,记录登入系统存取信息的文件,按周自动轮询。
last
在线用户登录的信息
lastlog
曾经登录过的用户的历史
3、 /proc 下的重要路径知识
/proc
虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
/proc/version
内核版本
/proc/sys/kernel
系统内核功能
/proc/cpuinfo
关于处理器的信息,如累心、厂家、型号和性能等
/proc/memminfo
系统内存信息
/proc/devices
当前运行内核所配置的所有设备清单
/proc/dma
当前正在使用的 DMA 通道
/proc/filesystems
当前运行内核所配置的文件系统
/proc/interrupts
正在使用的中断,和曾经有多少个中断。
/proc/ioports
当前正在使用的I/O接口
/proc/loadavg
系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标)
4、文件类型和文件的扩展名
(1)Windows里是通过扩展名(.txt .png .doc...)来区分文件类型的。
(2)Linux系统下文件的扩展名和文件类型没有关系,
(3)为了容易区分和兼容用户使用Windows的习惯,我们也会用扩展名来表示Linux里的文件类型。
在Linux系统中,可以说一切皆文件。文件类型包含普通文件、目录文件、块设备文件等。
1、使用 ls -l 查看文件信息,第一列的第一个字符代表的就是文件的类型。
- 表示普通文件 d 目录文件 l 链接文件
在Linux里大多数文件都是普通文件,普通文件有三种类型。file 查看文件类型
1)纯文本文件(ASCII):内容可直接读取(使用cat直接查看),数字字母等,比如配置文件几乎都是这种类型的。
使用 ls -l 可以查看这个文件是什么文件,但是属于查看属于哪种类型需要使用 file 命令。
a.txt 在普通文件的基础上是一个纯文本文件。
2)二进制文件(binary):Linux中的可执行文件,比如命令文件,cat、ls、cp
3)数据格式的文件(data):具有特定格式的文件
/var/log/wtmp 存放的是最近登录的信息
2、ls -l 目录名 查看目录里内容的详细信息
ls -ld 目录名 仅仅查看目录本身的属性
ls -F 在文件后面加上标识(*/=>@|),用于区分是什么类型的文件
rmdir 用于删除空目录,只能删除空目录。
3、字符设备就是穿行端口的接口设备。
4、块设备(磁盘,光驱)
使用 mknod 创建字符设备和块设备。
4、套接字/套接口文件
5、符号链接文件
软连接文件的创建:ln -s 源文件名 新文件名
6、Linux下扩展名的作用
ls -h 以人类可读的形式标识
ls -i 文件的索引号,inode
(1)索引节点inode概述:
硬盘要分区,分区要格式化,创建文件系统;
inode(index node),索引节点。在每个Linux存储设备或存储设备的分区(存储设备可以是硬盘、软盘、U盘等)被格式化为文件系统(ext3 ext4)后,一般都有两部分:第一部分是Inode,第二部分是Block。
Block 是用来存储实际数据用的,真正存放数据实体的,例如:照片,视频等普通文件数据。
而inode就是用来存储这些数据属性信息的(也就是 ls -l 的结果),inode包含的属性信息包括文件大小、属主、归属的用户组、读写权限、文件类型,修改时间,还包含指向文件实体的指针的功能(inode 节点 --block 的对应关系)等,但是,唯独不包含用户名。
一般来说一个 block 大概只有 1k 2k 或4k,如果拷一个视频那么会分为若干个block。
每创建一个文件都会分配一个 inode,访问 inode 都会找到 block 的位置。
查看inode的总量和使用量:df -i
df -h 查看磁盘的使用量
小结:
(1)linux 里一个文件至少要占用一个 inode和一个 block,不管文件多大,一定要有一个inode。
格式化数量:inode 数量会大于block 数量。
(2)ext2 ext3 ext4 文件中block的大小一般为 1k 2k 4k
7、有关Block的大小:磁盘读取数据是按 Block 为单位读取的,一个 block 只能存放一个文件的内容,所以 Block 并非越大越好。
磁盘读取数据是按 block 为单位读取的,但是对于大文件,可以提升读取的效率,因为如果 block 太小,就要读多个 block,这样就消耗磁盘 IO ,如果 block 大,则会读较少的 block 就读完数据从而减少磁盘 IO。block 块太小又会影响硬盘读取大文件数据的效率,block 块越小,同样存储一个文件就需要更多的 Block,这样硬盘读取数据时就要读取多个 block,因此效率就越低。
当前生产环境一般设置为 4k。
小结:
1)磁盘分区格式化文件系统后,会分为 inode 和 block 两部分内容;
2)inode 存放文件的属性以及指向文件实体的指针,文件名不在 inode 里,一般在上级目录的 block 里。
3)访问文件,通过文件名----> inode --> block
4)inode 一般情况默认大小 256B,block 大小1k 2k 4k,默认是4k,注意,引导分区等特殊分区除外。
5)通过 df -i 查看 inode 的数量及使用情况,dump2fs /dev/sda3 查看 inode及 block 的大小及数量。
6)一个文件至少要占用一个 inode 及一个 block ,多个文件可以占用同一个 inode(硬链接)。
7)一个 block 只能被一个文件使用 ,如果文件很小 block 很大,剩余空间浪费,无法继续被其他文件使用。
8)block 不是越大越好,要根据业务的文件大小进行选择,一般就是默认 4k
9)可以再格式化的时候改变 inode 及 block 的大小。
Linux系统文件属性知识的更多相关文章
- 八.linux系统文件属性知识
1.文件属性权限是12位,现在只看9位,其中每3个一组,为:属主权限.属组权限.其他权限,其中r可读,w可写,x可执行,如图: 2.文件属性之软硬链接 linux系统中有两种链接,为硬链接(ln) ...
- L012-linux系统文件属性知识深入详解小结
L012-linux系统文件属性知识深入详解小结 最近的学习重点不在这上面,所以更新的比较慢,再加上母亲住院,感情问题,一系列吧,愿快点度过这黑色的4月份,希望我能在5月份阳光起来,加油! 回归正题 ...
- L011系统文件属性知识进阶详解小节
L011系统文件属性知识进阶详解小节 这节课的内容相对来说较少,一上午加中午就听完了,现在总结一下,最后会有一个相关的面试题. 首先先附上一张图: 今天学习主要跟①和②有关,①为Inode 号 ②为文 ...
- linux系统文件属性及企业精典故障案例
linux系统文件属性: [root@nginx_back ~]# stat keepalived-1.2.7.tar.gz 查看文件属性 File: "keepalived-1.2.7.t ...
- linux系统文件属性
1 硬链接概念 硬链接是指通过索引节点(Inode)来进行链接,在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(I ...
- linux系统文件属性-硬连接、软连接
1 硬链接概念 硬链接是指通过索引节点(Inode)来进行链接,在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(In ...
- Linux系统基础知识整理
一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅. 二.基本知识整理 1.Linux文件 ...
- Linux系统基础知识整理(一)
本文来自于: https://www.cnblogs.com/hafiz/p/6686187.html#4196989 一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰 ...
- 嵌入式4412开发板学习知识-Linux系统基础知识
1. 什么是Linux系统编程 Linux系统编程分为三个部分:系统调用.C库和C编译器. 系统调用系统编程的基础是系统调用,也结束于系统调用.在带有操作系统的嵌入式开发中,需要从操作系统申请一些服务 ...
随机推荐
- 在C#中将对象序列化成Json格式
在C#中将对象转换为Json格式的字符串. //匿名对象 var dataObj = new { Number = 1, Name = "Json" }; //将返回的时间格式解析 ...
- C# WPF抽屉效果实现(C# WPF Material Design UI: Navigation Drawer & PopUp Menu)
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- Linux Bash文本操作之grep篇
Linux grep命令用于查找文件里符合条件的字符串.是文本检索中常用的工具之一. grep 指令在文件中查找能够匹配指定模式字符串的行.如果没有指定文件名,或者文件名为 - ,则从标准输入设 ...
- [ASP.NET Core 3框架揭秘] 文件系统[3]:物理文件系统
ASP.NET Core应用中使用得最多的还是具体的物理文件,比如配置文件.View文件以及作为Web资源的静态文件.物理文件系统由定义在NuGet包"Microsoft.Extension ...
- 远程桌面MATLAB启动失败问题解决
博客:博客园 | CSDN | blog 远程桌面打开MATLAB会报错,解决办法,打开matlab的licenses路径,如matlab/R2017b/licenses/,路径下存有license文 ...
- 消息队列MQ简介
项目中要用到RabbitMQ,领导让我先了解一下.在之前的公司中,用到过消息队列MQ,阿里的那款RocketMQ,当时公司也做了简单的技术分享,自己也看了一些博客.自己在有道云笔记上,做了一些整理,但 ...
- cesium 实现风场图效果(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- HTTP认知(请求与响应)
web的工作是:浏览器发送请求报文 + 服务端返回响应报文 通俗的说一下web工作的一个流程: 浏览器向服务端发送HTTP请求报文:这条请求报文组成由请求行.请求头.请求体三大部分组成: 1.请求行 ...
- ConcurrentHashMap源码走读
目录 ConcurrentHashMap源码走读 简介 放入数据 容器元素总数更新 容器扩容 协助扩容 遍历 ConcurrentHashMap源码走读 简介 在从JDK8开始,为了提高并发度,Con ...
- python高阶函数——map/reduce
python 内置了map()和reduce()函数 1.map()函数 map()函数接收两个参数,一个是函数,一个是可迭代对象Iterable,map将传入的函数依次作用于序列的每一个元素.并把结 ...