为什么需要inode?
在linux系统中,每个文件不仅有内容数据,还包括文件的各种属性,如所属用户组、所属用户、能否执行、文件建立时间、文件特殊属性等等。由于linux操作系统是一个多用户、多任务的环境,为了保护每个用户所拥有的数据的隐秘性,具有多样化的文件属性在所难免。linux文件系统从ext2开始,将文件属性和文件内容分开存储,分别由indoe和block负责。
将一个分区格式化为ext2时,就必须要指定inode与block的大小,即当分区被格式化为ext2的文件系统时候,它一定胡有inode表与块区域这两个区域。 Continue reading
Tag Archives: linux
(译)Design and Implementation of the Second Extended Filesystem(1)
Introduction
Linux类似Unix操作系统,运行于PC-386机器上。最初在Minix操作系统上扩展实现,当时最初的版本仅支持Minix文件系统。Minix文件系统包含两个致命的限制:块地址以16位integers存储,所以最大文件系统的大小受限于64兆;同时,目录包含固定大小的入口,最大文件名只可包含14个字符。
我们设计实现两类新的文件系统使其包含于标准Linux内核,它们称为“Extended File System” (Ext fs) and “Second Extended File System” (Ext2 fs),提供新的特性与限制。
本文将描述Linux文件系统的历史,简单介绍实现Unix文件系统的基础概念,提出Linux中VFS的实现原理,且详细介绍Second Extended File System内核代码和用户模式工具。
History of Linux filesystems Continue reading
Linux EXT2 文件系统笔记
在标准的ext2文件系统中,将每个文件的内容分为两个部分存储,一个是文件的属性(例如,所属用户组、所属用户、能否执行、文件建立时间、文件特殊属性等),另一个则是文件的内容。
ext2规划出inode与块来分别存储文件的属性和文件的内容。当将一个分区格式化为ext2时,必须指定inode与块的大小。
块,即逻辑块(Block)是分区进行文件系统的格式化时所指定的“最小存储单位”。(vs.扇区则为硬盘的最小物理存储单位)块用于记录“文件内容数据”的区域。
inode记录“该文件的相关属性,以及文件内容放置在哪一个块内”,除此之外,还必须具有指针的功能,即指向文件内容放置的块之中,让操作系统可以正确获取文件的内容。inode大小为128字节。 Continue reading
Linux变量
1. 按照生存周期来划分可以将Linux变量分为:
▪ 永久的:需要修改配置文件/etc/profile
▪ 临时的:直接使用export声明即可,在关闭shell后失效
2. 变量设置:
▪ 在/etc/profile文件中添加变量–对所有用户永久生效
# vi /etc/profile export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后如需立即生效需运行# source /etc/profile Continue reading
Learning–shell(1)
shell执行一个程序时,会要求UNIX内核启动一个新的进程,以便在该进程里执行所指定的程序。
1.位于第一行的#!–内核会扫描该行其余部分,看是否存在可用来执行程序的解释权的完整路径
shell脚本通常一开始都是#! /bin/sh
2.变量:变量名=新值(可以为空值) 注:若所赋值内含有空格,加上引号 eg.fullname=”I am learning python”
需要使用变量时变量名称前面加上$字符,也可作为第二个变量的新值 eg.oldname=$fullname
连接不同的变量也需要引号 eg. fullname=”$first $middle $last”
Continue reading