任何装置在linux下都是档案
- 档案的种类
正规档案(regular file)
在由ls -al 显示属性,第一个字符代表文档类型
[-]代表一般文档
依照档案内划分
- 纯文本文档(ASCII):这是linux中最多的一种文档类型,称为纯文本档是因为内容为我们人类可以直接读到的数据
- 二进制文档:cat命令就是一个二进制文件
- 数据格式文件: 有些程序在运作的过程当中会读取某些特定格式的档案,那些特定
格式的档案可以被称为数据文件 (data file)。 用cat读 /var/log/wtmp全乱码 只能用last
last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
last 选项
选项
-a:把从何处登入系统的主机名称或ip地址,显示在最后一行; -d:将IP地址转换成主机名称; -f <记录文件>:指定记录文件。 -n <显示列数>或-<显示列数>:设置列出名单的显示列数; -R:不显示登入系统的主机名称或IP地址; -x:显示系统关机,重新开机,以及执行等级的改变等信息。
参数
用户名:显示用户登录列表; 终端:显示从指定终端的登录列表
- 目录
ls -l显示权限的第一个字符为[d]
- 连接档 link
ls-l显示权限 第一个字符为[l] 设备与装置文:通常都集中在/dev 这个目录之下
- 区块(block)设备档:就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘,软盘等! 你可以随机的在硬盘的不同区块读写,这种装置就是成组讴备,你可以自行查一下/dev/sda 看看, 会发现第一个属性为[ b ]
- 字符(character)设备文件:亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是『一次性读取』的,不能够截断输出。 你不可能让鼠标,『跳到』另一个画面,而是『滑动』到另一个地方啊!第一个属性为 [ c ]。
资料接口文档(sockets):这种类型的档案通常被用在网络上的数据承接,第一个属性为 [ s ], 最常在/var/run 这个目彔中看到这种文件类型了。
数据传送文档(FIFO,pipe):FIFO 也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个档案所造成的错误问题。 FIFO 是 first-in-first-out 的缩写。第一个属性为[p] 。
sockets 与 FIFO 与 程序(process)比较有关系
常用扩展名
-
- .sh 脚本或批处理文件 (scripts),因为批处理文件为使用 shell写成的,所以扩展名就编成 .sh
- Z, .tar, .tar.gz, .zip, *.tgz:经过打包的压缩文件。这是因为压缩软件分别为 gunzip, tar 等等的,由不同的压缩软件,而取其相关的扩展名!
- .html, .php:网页相关档案,分别代表 HTML 语法与 PHP 语法的网页档案啰
linux上的文件名只还让你了解一下该文档的可能用途,真正执行与否要规范权限
-
## linux档案长度的限制
在使用 ext2/ext3文件系统时档案名长度的限制。
* 单一档案或目彔的最大容量文件名为 255 个字符
* 包含完整路径名称及目录 (/) 之完整档名为 4096 个字符
Linux新文件系统Ext4
Ext4(The fourth extended file system)
Ext4是一种针对ext3系统的扩展日志式文件系统,是专门为 Linux 开发的原始的扩展文件系统(ext 或 extfs)的第四版。Linux kernel 自 2.6.28 开始正式支持 Ext4。
Ext3升级到ext4能提供系统更高的性能,消除存储限制,和获取新的功能,并且不需要重新格式化分区,ext4会在新的数据上用新的文件结 构,旧的文件保留原状。以ext3 文件系统的方式mount到ext4上会不用新的磁盘格式,而且还能再用ext3来重新挂载,这样仅仅失去了ext4的优势。
大文件系统/文件大小,现在ext3支持最大16TB的文件系统。单个文件最大2TB。Ext4增加了48位块地址,最大支持1EB文件系统,和单个16TB的文件。1EB=1024PB 1PB=1024TB 1TB=1024GB。
子目录可伸缩性
EXT3每个目录最大包含32000个子目录。减去.和..也就是31998
ext4打破了这个限制可以无限制数量的子目录
Extends
传统的Unix派生文件系统,使用间接块映射方案,以跟踪每块用于块相应的数据文件,这对大文件来说是低效率的。现代文件系统使用不同的方法称 为“extends” 。extends基本上指一串连续的物理快。通常叫做数据在下面的N个块中。一个100MB的文件可以分配到一extends中。而不需要创建一个间接映 射表为256000个blocks,(每个block 4kb)大文件被分割为很多范围。Extends改进了性能并且减少了碎片。因为extends鼓励在磁盘上连续布局。
Multiblock 分配
ext4使用了一个多块分配来在一次调用中分配很多块。替换掉每次分配一个块,减少系统开销。在延时分配和extends上十分有用。
延迟分配
延迟分配是一个性能特性(它不修改磁盘格式)。现代文件系统例如XFS,ZFS,btrfs or Reiser 4 并且它尽可能多的延时块的分配。相对于传统文件系统(例如Ext3 reiser3 etc)所做的立刻分配块提供了更好的性能。
日志校验和
日志是磁盘中最常用的一部分,组成日志的这部分也是最容易出现硬件故障的。并且从一个受损的日志上恢复数据会导致巨大的数据损坏。Ext4 校验和提供了改进,它允许将EXt3的双向提交日志格式转换为单向的,加速文件系统操作,在某些情况下达到20%—因此可靠性和性能同时被改进。
在线碎片整理
当 延迟分配,extents 和 multiblock 分配 帮助减少碎片的时候,使用中的文件系统依然会产生碎片。为了解决这个问题,Ext4 将会支持在线碎片整理,并且有一个e4defrag工具可以整理个别文件在整个文件系统中。
索引节点-关联
拥有大索引节点,纳秒时间戳,快速扩展属性,索引节点保留的特点。Ext3 支持可设置的索引节点大小(通过 mkfs -l参数)但是默认索引节点大小是128字节。Ext4将默认为256字节。这需要适应一些额外的字段(比如纳秒时间戳或者索引节点版本)并且剩余索引节 点空间会被用于存放扩展属性为那些足够小的对象来适合空间。这样使访问那些属性更快,提高那些使用扩展属性的应用程序性能3-7倍。在目录创建的时候保留 若干索引节点在里面,预期它们在未来使用。这样改进性能,因为新文件被创建在目录中他们可以使用保留索引节点。文件创建和删除因此更高效。纳秒时间戳意味 着索引节点字段例如修改时间可以用纳秒分辨率替代Ext3中的秒。
持续预分配
这个特性在ext3最新的内核版本中已经可用了,由glic仿真来实现文件系统不支持的功能,允许应用程序预分配磁盘空间:应用程序告诉文件系统来预分配空间,文件系统预分配需要的块和数据结构。*
linux文件名限制
文件命名最好避免特殊字符
* ? > < ; & ! [ ] | \ ’ ” ` ( ) { }+-
文件头以.开始为隐藏文件