文件操作
概览
操作(command) |
功能 |
选项(options) |
备注 |
touch |
创建文件 |
无 |
— |
write |
写文件 |
-o : 写偏移。
-l : 操作长度。 |
从stdin中读取数据 |
read |
读取文件 |
-o : 读偏移。
-l : 操作长度。 |
— |
truncate |
调整文件大小 |
-l : 文件大小 |
不会分配真实的物理block |
fallocate |
分配存储空间 |
-o : 分配偏移。 -l : 分配长度。 |
分配真实的物理块 |
map |
显示文件block索引表 |
-o : 文件偏移 |
— |
touch
- 功能描述:创建文件,如果文件已存在,则创建失败。
- 命令选项:无
- 示例:
$sudo pfs -C disk touch /nvme1n1/mydir/myfile
write
- 功能描述:从stdin中读取数据后,写入文件,可指定写操作的起始偏移或写入长度。
- 如果未设置偏移,则从文件头部开始写。
- 如果未设置长度,则从指定偏移处写入所有读取到的数据。
- 如果两者均未设置,则从文件开头写入所有读取到的数据。
- 命令选项:
-o
:写操作的起始偏移,默认值是0,可选。
-l
:写入的数据长度,未设置的话,则写入所有读取到的数据,可选。
- 示例:
$sudo echo "012345" | pfs -C disk write -o 2 -l 3 /nvme1n1/mydir/myfile
read
- 功能描述:读取文件,可指定读操作的起始偏移或长度。
- 如果未设置偏移,则从文件头部开始读。
- 如果未设置长度,则从指定偏移处读到文件尾。
- 如果两者均未设置,则读取完整文件内容。
- 命令选项:
-o
:读操作的起始偏移,默认值是0,可选。
-l
:读取的数据长度,未设置的话,则从偏移处读到文件尾,可选。
- 示例:
$sudo pfs -C disk read -o 2 -l 10 /nvme1n1/mydir/myfile
012
truncate
- 功能描述:调整文件长度,如果文件变大,新增区域不会分配物理block。
- 命令选项:
- 示例:
$sudo pfs -C disk truncate -l 104857600 /nvme1n1/mydir/myfile
fallocate
- 功能描述:为文件分配指定长度的存储空间,可指定起始偏移。操作成功后,文件长度可能发生变更。
- 偏移+长度<=操作前文件长度:文件长度不变。
- 偏移+长度>操作前文件长度:文件长度变大。
- 命令选项:
-o
:起始偏移,默认值是0,可选。
-l
:存储空间大小,必填。
- 示例:
$sudo pfs -C disk fallocate -o 4 -l 100 /nvme1n1/mydir/myfile
$sudo pfs -C disk stat /nvme1n1/mydir/myfile
file: /1/mydir/myfile
size: 104 blocks: 8192
device: dev-20 inode: 4103 links: 1
access: 0, Thu Jan 1 08:00:00 1970
modify: 1532953314, Mon Jul 30 20:21:54 2018
change: 1532953314, Mon Jul 30 20:21:54 2018