繁体   English   中英

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

[英]How to change the status of the directory file in tcl?

事情是,我被分配去做一个tcl脚本,可以更改目录文件的状态。 我使用了file stat *name* array命令来显示索引节点,如下所示:

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)"
}

...

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

并非用户file stat可以修改OS stat结构中的所有内容( file stat真正包装的内容)。 有些东西完全由OS管理,并且在创建“文件”时进行设置,以后不能更改。 例如,您不能更改typefile不是directorysocket或…,而设备和索引节点号实际上是文件的唯一标识符,而与文件名无关,并且永不更改。

可以通过file attributes设置atimemtime字段(通过file atime file mtimefile mtime )和权限位。 所有权字段在理论上是可以设置的(也可以通过file attributes ),但是您可能没有权限这样做,并且可以通过创建硬链接(带有file link )或删除它们( file delete )来对link数进行设置。

size仅反映文件中有多少字节:不要像写文件一样考虑设置太多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM