文件名称

在 Linux 底下,每个档案或文件夹的文件名称最长能够到达 255 的字符,加上完整路径时,最长可达 4096 个字符;

因为 Linux 在文字接口下的一些指令操作关系,一般来说,您在设定 Linux 底下的文件名时, 最好能够避免一些特殊字符比較好!比如底下这些:

* ?

> < ; & ! [ ] | \ ' " ` ( ) { }

由于这些符号在文字接口下,是有特殊意义的!另外,文件名的开头为小数点『.』时, 代表这个档案为『隐藏档』喔!同一时候,由于指令下达其中,经常会使用到 -option 之类的參数, 所以您最好也避免将档案档名的开头以 - 或 + 来命名啊!

这个 FHS ( http://www.pathname.com/fhs/ ) 其实仅是规范出在根文件夹 ( / ) 底下各个基本的文件夹应该是要放置什么样的档案而已。

FHS 定义出两层规范出来,第一层是 / 底下的各个文件夹应该要放置什么样内容的档案数据,比如 /etc 应该要放置设定档, /bin 与 /sbin 则应该要放置可运行档等等。

第二层则是针对 /usr 及 /var 这两个文件夹的次文件夹来定义的。 比如 /var/log 放置系统登录文件、
/usr/share放置共享数据等等。

磁盘切割

主要开机扇区( Master Boot Recorder, MBR ) 有什么限制呢?他最大的限制来自于他的大小不够大到储存全部切割与开机管理程序的信息,因此,MBR 仅提供最多四个 partition 的记忆,这就是所谓的 Primary (P)与 Extended (E) 的 partition最多仅仅能有四个的原因了。

逻辑区块是在 partition 进行filesystem 的格式化时, 所指定的『最小储存单位』,这个最小储存单位当然是架构在 sector 的大小

上面( 由于 sector 为硬盘的最小物理储存单位啊! ),所以啦, Block 的大小为 sector 的 2 的次方倍数。

Block 单位的规划并非越大越好喔!怎么说呢?由于一个 Block 最多仅能容纳一个档案 (这里指Linux 的 ext2 档案系统)!这有什么问题呢?举例来说好了,假如您的 Block 规划为 4 KBytes ,而您有一个档案大小为 0.1 KBytes ,这个小档案将占用掉一个 Block 的空间。

Superblock:如同前面说的,当我们在进行磁盘切割( partition )时,每一个磁盘切割槽( partition )就是一个档案系统( filesystem ), 而每一个档案系统開始的位置的那个 block 就称为 superblock ,superblock 的作用是储存像是档案系统的大小、空的和填满的区块,以及他各自的总数和其他诸如此类的信息等等, 这也就是说,当您要使用这一个磁盘切割槽( 或者说是档案系统 )来进行数据存取的时候,第

一个要经过的就是 superblock 这个区块了。

ext2文件系统

在标准的 ext2 档案系统其中,我们将每一个档案的内容分为两个部分来储存,一个是档案的属性,还有一个则是档案的内容。为了应付这两个不同的咚咚,所以 ext2 规划出 inode 与 Block 来分别储存档案的属性( 放在 inode 其中 )与档案的内容( 放置在 Block area 其中 )。

当我们要将一个 partition 格式化( format )为 ext2时,就必需要指定 inode 与 Block 的大小才行,也就是说,当 partition
被格式化为 ext2 的档案系统时,他一定会有 inode table 与 block area 这两个区域。

inode 记录的信息(当然不止这些):

• 该档案的拥有者与群组(owner/group);

• 该档案的存取模式(read/write/excute);

• 该档案的类型(type);

• 该档案建立或状态改变的时间(ctime)、近期一次的读取时间(atime)、近期改动的时间(mtime);

• 该档案的容量;

• 定义档案特性的旗标(flag),如 SetUID...;

• 该档案真正内容的指向 (pointer);

參考《鸟哥的私房菜》

linux 知识点拾遗的更多相关文章

  1. Linux知识点拾遗-磁盘UUID

    查看磁盘UUID 方法1 ls -l /dev/disk/by-uuid example: [root@dplinux ~]# ll /dev/disk/by-uuid/ total 0 lrwxrw ...

  2. linux知识点总结与随笔(关注linux爱好者公众号的一些笔记)

    sysdig工具,可以有strace ,tcpdump,lsof的功能. 前台任务与后台任务,知识点:test.sh &,Ctrl+z,bg,shopt grep |huponexit(sho ...

  3. linux知识点

    通过gui来使用通过api来使用通过cli来使用通过tui来使用 进程不在,但tcp连接还一直存在的解决办法--tcpkill命令 http://www.centoscn.com/CentOS/Int ...

  4. 非常全面的Linux知识点总结

    $1 我的Linux需求 Linux博大精深.我只在此讨论一些我对线上Linux机器维护人员的基本需求,比如装机,加硬盘,配网络.只讨论CentOS 6,或者类似的RHEL,当然Ubuntu也可以此类 ...

  5. java 学习基础知识点拾遗 导航页

    每种编程语言的知识点都是很多很杂的,java也是如此 相信很多人学习的过程中都是深一脚浅一脚,最基础的东西可能有些也不是非常确定 整理了最基本的一些知识点,可以说是java入门的-1层级别的,作为自己 ...

  6. linux 知识点

    关于登录Linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...

  7. Linux学习拾遗

    一.安装iso文件 首先建立一个目录作为挂载点:# mkdir /mnt/iso 获得root权限然后使用下面的参数挂载ISO映像文件:# mount -t iso9660 /path/image.i ...

  8. linux知识点小结

    PATH环境变量,记录了所有可以直接执行的二进制命令的原件或者链接 harvey@ubuntu:/etc$ echo $PATH /usr/lib/lightdm/lightdm:/usr/local ...

  9. C语言知识点拾遗

    sleep() abort() fflush() getimeofday() sigaction() Linux 进程学习(四)------ sigaction 函数 malloc() 如何实现一个m ...

随机推荐

  1. WinKawaks如何载入游戏

    1 把下载的游戏放入roms目录 2 运行Kawaks,点击载入游戏,勾选"仅存在的",点击扫描所有游戏.然后会出现所有名字正确的游戏.你下载的zip如果有中文或者名字不对,都是无 ...

  2. Python中的__name__

    python中if __name__ == '__main__': 的解析 经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且 ...

  3. JS中如何alert对象

    alert(JSON.stringify(res)); alert(JSON.stringify(res)); alert(JSON.stringify(res)); 文章来源:刘俊涛的博客 地址:h ...

  4. 禁止 git 自动转换换行符

    开发团队都在 windows 下开发,有IDE管理代码.对我们来说,最好是禁用换行转换符的功能.我用 cygwin 提交代码,提交时总提示自动转换换符.其实都不用提交,仅运行 git status 看 ...

  5. PKCS7 的 attached 和 detached 方式的数字签名

    搜遍了整个网络,都没有详细的说明.只在一个页面上有介绍,还模棱两可的,地址是:http://docs.oracle.com/cd/E19398-01/820-1228/gfnmj/index.html ...

  6. UML for mac

    今年苹果公司推出的iPhone4和iPad继续大获成功,国内想在苹果的平台下开发软件赚钱的开发人员越来越多.那么,在苹果的平台下开发软件有哪些UML建模工具可用呢?虽然不如Windows平台下那么多的 ...

  7. 自己Cookie写的自动登录功能 包含BASE64 和MD5的使用

    sql表 username  password字段 User类 有 id username password等字段 Service有一函数 @Override public User findUser ...

  8. cascade=CascadeType.ALL的深坑

     cascadetype是 级联的配置 all标示所有都级联操作   默认级联查询都是开启的 all标示 删除和update都级联操作 现在是 save的时候 他会级联保存一条数据 但是由于原有id已 ...

  9. html调用摄像头的方法汇总

    1.在PC端打开摄像头的方法:(移动端不能使用) 能够实现打开摄像头并截图 <!doctype html> <html lang="en"> <hea ...

  10. nodejs 中使用shell脚本

    虽然nodejs的require('child_process').execSync可以使用shell,但其实问题特别多.尤其是符号和语法冲突,可读性也很差,只能完成一些小规模的shell使用. co ...