1.文件和文件系统
文件的定义:存储在某种设备中的一段数据流
在Linux中,几乎一切都是文件
文件类型:普通文件、链接文件、目录文件、设备文件
(常见)设备文件:/dev/tty(终端),/dev/null(黑洞),/dev/zero
每个文件对应一个“inode”数据;
inode包含内容:
文件的字节数(文件有多大)、
文件的uid(创始者)和gid(用户组)、
文件的读,写,执行权限、
文件的时间戳:ctime(创始时间),mtime(修改时间),atime(最后一次访问时间)、
链接数:有多少文件名指向这个inode
文件数据block的位置
ext3文件系统特点
1.ext3 是一种日志式文件系统
2.最大文件名:255字节
3.最大文件大小:16Gb-64T
XFS文件系统特点
1.XFS 是一种日志式文件系统,最早于1993年
2.最大文件名:255字节
3.最大文件大小:8exbibytes减1字节
1,024 B(bytes)= 1 KB (kilobyte) = 千字节
1,024 KB (kilobytes) = 1 MB (megabyte) = 兆字节
1,024 MB (megabytes) = 1 GB (gigabyte) = 吉字节
1,024 GB (gigabytes) = 1 TB (terabyte) = 太字节
1,024 TB (terabytes) = 1 PB (petabyte) = 拍字节
1,024 PB (petabytes) = 1 EB (exbibyte) = 艾字节
文本文件和二进制文件有什么不同?
文本文件是基于字符编码的文件
除了文本文件以外的文件成为二进制文件,二进制文件编码是变长的,灵活利用率高。两者读写差别仅体现在回车换行符的处理上
文本文件是一种特殊的“二进制文件”
文件的打开方式(rwa)
$handle = fopen(‘test.txt’,'r'); fread($handle,filesize(test.txt));fwrite($fh,fread($hand,filesize('test.txt)))
文件打开方式的特殊标记
1.标记(‘t’)可以将 \n 转化为 \r\n (windows)
$handle = fopen('test.txt','wt');
2.标记(‘b’)来强制使用二进制模式
$handle = fopen('test.txt','rb');// 使用b 避免强制转化标签
把多个文件合并为一个文件