如何在tcl中更改目录文件的状态?

时间:2014-09-18 01:22:24

标签: linux tcl

问题是,我被分配了一个可以更改目录文件状态的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)"
}

...

我应该用什么来改变它?我现在所能做的只是访问和显示它。

1 个答案:

答案 0 :(得分:2)

并非操作系统stat结构中的所有内容(file stat真正包装)都可以通过用户代码进行修改。有些东西完全由操作系统管理,并在创建“文件”时设置,以后不能更改。例如,您无法更改typefile不是directorysocket或...而且设备和inode编号实际上是唯一标识符该文件与其名称无关,永远不会更改。

可以通过atime设置mtimefile atime字段(通过file mtimefile attributes)和权限位。所有权字段在理论上是可设置的(也可以通过file attributes),但您可能无权这样做,link计数可通过创建硬链接进行排序(file link })或删除它们(file delete)。

size只反映文件中有多少字节:不要把它设置为写入文件。