Tag Archives: linux

文件系统中的inode

为什么需要inode?
在linux系统中,每个文件不仅有内容数据,还包括文件的各种属性,如所属用户组、所属用户、能否执行、文件建立时间、文件特殊属性等等。由于linux操作系统是一个多用户、多任务的环境,为了保护每个用户所拥有的数据的隐秘性,具有多样化的文件属性在所难免。linux文件系统从ext2开始,将文件属性和文件内容分开存储,分别由indoeblock负责。
将一个分区格式化为ext2时,就必须要指定inode与block的大小,即当分区被格式化为ext2的文件系统时候,它一定胡有inode表与块区域这两个区域。 Continue reading

(译)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