问题是,我被分配了一个可以更改目录文件状态的tcl脚本。我使用file stat *name* array
命令来显示inode,如下所示:
file stat $f arr
if { $g eq "size" } {
puts "size: $arr(size)"
}
if { $g eq "inode" } {
puts "inode: $arr(ino)"
}
if { $g eq "type" } {
puts "type: $arr(type)"
}
...
我应该用什么来改变它?我现在所能做的只是访问和显示它。
答案 0 :(得分:2)
并非操作系统stat
结构中的所有内容(file stat
真正包装)都可以通过用户代码进行修改。有些东西完全由操作系统管理,并在创建“文件”时设置,以后不能更改。例如,您无法更改type
:file
不是directory
或socket
或...而且设备和inode编号实际上是唯一标识符该文件与其名称无关,永远不会更改。
可以通过atime
设置mtime
和file atime
字段(通过file mtime
和file attributes
)和权限位。所有权字段在理论上是可设置的(也可以通过file attributes
),但您可能无权这样做,link
计数可通过创建硬链接进行排序(file link
})或删除它们(file delete
)。
size
只反映文件中有多少字节:不要把它设置为写入文件。