inode

RHEL7学习打卡(8 day)

≯℡__Kan透↙ 提交于 2020-01-23 03:56:22
一、文件系统与资料 Ext2: 是RHEL4版本出现,Ext2有个严重bug,当服务器突然断电,可能出现数据丢失,因此红帽在RHEL5版本使用Ext3 Ext3:RHEL5 Ext4:RHEL6 XFS:RHEL7,XFS是在2014大数据和云计算产生的,它最大可支持存储容量为18EB 二、挂载硬盘设备 Mount:用来挂载文件系统: RHEL5版本挂载命令:mount -o 文件系统 设备 目录 RHEL7版本挂载命令:mount 设备 目录 Umount:用于撤销已经挂载的设备文件 命令:umount 设备地址/挂载目录 (任选其一) 备注:新建分区,有个bug,需要命令:partprobe强制同步内核 Fdisk:用于管理磁盘分区 命令: fdisk 路径/设备名称 #管理 开机自动挂载硬盘/etc/fstab Du:用来查看目录的占有的空间大小 命令:du -sh 文件名 xfs-quota命令:xfs-quota 参数 配额 文件系统 文件个数限制: isoft(软限制个数) ihard(硬限制个数) 文件大小限制总 bsoft(软限制大小) bhard(硬限制大小) edquota 命令:edquota 参数 用户 edquota命令用于编辑用户的quota配额限制 -u 用户 ; -g 用户组 三、软硬链接 软链接:仅包含所链接文件的路径名。源文件被删除后

27.centos7基础学习与积累-013-文件和目录的权限

≡放荡痞女 提交于 2020-01-22 20:56:55
从头开始积累centos7系统运用 大牛博客: https://blog.51cto.com/yangrong/p5 https://blog.oldboyedu.com/ 文件的权限 rw-r--r-- 1 root root aduser.txt r:read 读 4 w:write 写 2 x:execute 执行 1 -:没有权限 0 当selinux开启是创建文件及文件夹会有点,关闭则没有。 [root@python01 ~]# ls -lhi total 24K 100663363 -rw------- . 1 root root 1.6K May 24 23:28 anaconda-ks.cfg 101300544 -rw-r--r-- . 1 root root 15K Oct 3 2017 epel-release-latest-7.noarch.rpm 100663373 crw-r--r-- 1 root root 5, 1 Aug 12 16:49 erictse 100663393 brw-r--r-- 1 root root 5, 1 Aug 12 16:50 erictseb 420853 drwxr-xr-x 2 root root 37 Aug 12 11:43 honortone 690709 drwxr-xr-x 7 root root 171

linux 块设备驱动(二)——块设备数据结构

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-22 13:27:29
本文来源于: 1 . http://www.cnblogs.com/dyllove98/archive/2013/07/01/3165567.html 块设备相关的数据结构以及接口: 块设备接口则相对复杂,读写API没有直接到块设备层,而是直接到文件系统层,然后再由文件系统层发起读写请求。 一: block_device: block_device结构代表了内核中的一个块设备。它可以表示整个磁盘或一个特定的分区。当这个结构代表一个分区时,它的bd_contains成员指向包含这个分区的设备,bd_part成员指向设备的分区结构。当这个结构代表一个块设备时,bd_disk成员指向设备的gendisk结构。 struct block_device { dev_t bd_dev; struct inode * bd_inode; /*分区结点*/ int bd_openers; struct semaphore bd_sem; /*打开/关闭锁*/ struct semaphore bd_mount_sem; /* 加载互斥锁*/ struct list_head bd_inodes; void * bd_holder; int bd_holders; struct block_device * bd_contains; unsigned bd_block_size;//分区块大小

Linux系统——inode和block

邮差的信 提交于 2020-01-22 05:22:10
Linux文件属性 磁盘被分区并格式化为 ext4 文件系统后,会生成一定数量的 inode 和 block Inode 索引节点 作用:存放文件的属性信息以及作为文件的索引(指向文件的实体 block ) Block 存放的是文件的实际数据 iNode 存放文件的属性信息以及指向文件实体的指针( block 的位置),文件名不在 iNode 里一般在上级目录的 block 里 系统内部打开文件的步骤 访问文件的过程,通过文件名(上一级目录的 block )—— >inode —— >blocks (1) 系统找到这个文件名对应的 inode 号码 (2) 通过 inode 号码,获取 inode 信息 (3) 根据 inode 信息,找到文件数据所在的 block ,读出数据 查看inode时,存在三个时间显示,分别是Atime、Mtime、Ctime Atime:访问时间 查看命令# ls -lu Mtime:修改内容时间 查看命令# ls -l Ctime:改变时间(修改文件名、权限等等) 查看命令# ls -lc inode 是磁盘的一块存储空间, CentOS6 版本中默认大小 256 字节 inode 的表现形式是一串数字,不同的文件对用的 inode 在文件系统里是唯一的 inode 节点号相同的文件,互为硬链接文件,可认为是一个文件的不同入口 ext4 文件系统下

linux基础学习-9.1-文件属性之inode和block

感情迁移 提交于 2020-01-22 05:21:19
1、inode 1)怎么来的 格式化创建文件系统的时候诞生的。 2)啥意思 index node 索引节点 inode是用来存放文件的属性信息,block的位置 inode号码(数字) 3)特点 1#linux里面创建一个非空文件要占用一个inode和至少1个block 4)查看 [root@oldboyedu44 ~]# ls -lhi /etc/hosts 915740 -rw-r--r--. 2 root root 158 Jan 8 2018 /etc/hosts #系统中inode一共有多少 用了多少 创建一个文件会减少一个inode [root@oldboyedu44 ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 1250928 55504 1195424 5% / tmpfs 125514 1 125513 1% /dev/shm /dev/sda1 51200 38 51162 1% /boot 2、block 1)怎么来的 格式化创建文件系统的时候诞生的。 2)啥意思 实际用来存放数据的地方 3)特点 1#存放数据的 2#block的大小默认4KB (centos 6.x) 3#文件比较大,需要使用多个block;文件比较小的时候(1KB)剩余的空间会被浪费。 4)查看 #查看

linux 简单的DMA例程

Deadly 提交于 2020-01-20 03:05:20
一个简单的使用 DMA 例子 示例:下面是一个简单的使用DMA进行传输的驱动程序,它是一个假想的设备,只列出DMA相关的部分来说明驱动程序中如何使用DMA的。 函数dad_transfer是设置DMA对内存buffer的传输操作函数,它使用流式映射将buffer的虚拟地址转换到物理地址,设置好DMA控制器,然后开始传输数据。 int dad_transfer(struct dad_dev *dev, int write, void *buffer, size_t count) { dma_addr_t bus_addr; unsigned long flags; /* Map the buffer for DMA */ dev->dma_dir = (write ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE); dev->dma_size = count; //流式映射,将buffer的虚拟地址转化成物理地址 bus_addr = pci_map_single(dev->pci_dev, buffer, count, dev->dma_dir); dev->dma_addr = bus_addr; //DMA传送的buffer物理地址 //将操作控制写入到DMA控制器寄存器,从而建立起设备 writeb(dev->registers.command

linux fanotify

我怕爱的太早我们不能终老 提交于 2020-01-19 20:03:59
传统的IT安全行业比较注重用户行为监控,在linux上如何做行为监控呢?首先用户行为可以分作两大类:本地行为和网络行为,本地行为就是对文件的打开、读写等,而网络行为主要是浏览网页,发送邮件,下载文件等,这些行为又是如何监控的呢? 在linux系统中分为用户空间和内核空间,完成用户任务的主要是多种多样的程序,属于用户空间的程序,不同的程序运行起来叫进程,进程都有属于自己的地址空间,不同的进程是不能随便互相访问的,除非通过系统提供的接口将地址空间暴露出来,例如mmap,简单说进程是隔离的,所以如果单纯的监控进程很难监控到其他进程的行为。所以基本是有两种方法来达到监控的目的: 1.通过/proc和/sys提供了很多有用的接口,j监控进程可以通过这些接口提取信息,一般来说这类监控程序的行为模式主要是周期性扫描,通过这些接口来获取进程的信息,一般来说会有很多的滞后性和遗漏 2.在内核中搞,用户空间的程序访问文件,网络等这些资源都必须通过内核,进程本身没有权限操作硬件,需要借助内核。其次内核有最高优先级,能够访问所有进程的数据。所以大部分的安全厂商通常借助于动态加载内核模块,也就是常说的hook。这部分的工作在主流开发人员中一直不被接受,通常都是out-tree中单独自己维护的,对于维护众多内核版本的功能需要大量的开发人员,工作量非常之大. 不过毕竟监控的市场需求不小

ubuntu 16.04增加inode数量

左心房为你撑大大i 提交于 2020-01-18 07:49:56
由于项目需要大量数据集训练,制作数据时发现报错inode不够,以下为增加inode数量方法。 1. 新建文件系统 sudo dd if=/dev/zero of=dump1.img bs=1G count=128 注: dump1.img为你的镜像文件名 bs=1G count=128 表示你制作一个128G的镜像 2. 建立文件系统,指定inode节点数 mkfs.ext4 -N 300000000 dump1.img 注: 300000000为inode节点数 3.挂载文件系统 gedit /etc/profile 添加: sudo mount /home/xxx/dump1.img /home/xxx/project/xxx source /etc/profile 立即生效 注: 如果需要卸载文件系统,直接弹出或 sudo umount /home/xxx/project/xxx 来源: CSDN 作者: Wendy_lz 链接: https://blog.csdn.net/m0_37844017/article/details/103905494

How to determine the uniqueness of a file in linux?

微笑、不失礼 提交于 2020-01-17 03:40:09
问题 What i mean to "uniqueness" here also concerns about the time. Every time a file created on file system, there's a unique file. Files in same directory with same name but appears in different time stage are different. Definition to "unique" has nothing to do with file content. Firstly, i use inode to identify a file, files with different inode are different, a file alway have a fixed inode within it's lifecycle even it's been moved and touched. BUT, the inode may be reused by the OS. If file

How to find a dentry from an inode/pathname?

China☆狼群 提交于 2020-01-15 09:54:13
问题 I am working on a module to read a files xattributes on open. I have hooked the sys_open and due to this I need to get the dentry of the file without opening the file. In brief I have the inode and the absolute path but having trouble to figure out; how to get a dentry from these. All comments are very much appreciated. 回答1: As per my understating you are trying to get the dentry path from your driver module during the open callback function . If so; then before putting down the way I am