TCL学习之文件命令(2)
来源:互联网 发布:cf刷钻刷枪软件盒子 编辑:程序博客网 时间:2024/06/05 03:38
这篇文章接上一篇文章讲一下能够提供文件信息的file命令。
1.filename提供文件信息
序号函数描述1filedirname返回路径名2file extension返回文件扩展名3file roootname返回不包括扩展名的文件名4file tail返回不包括路径名的文件名5file atime返回最后一次文件存取时间6file executable如果可执行返回17file exists如果文件存在返回18file isdirectory如果是个路径返回19file isfile如果是个文件返回110file lstat返回一个文件状态信息数组
atime:最后一次存取时间 ctime:最后文件状态改变时间 dev:设备节点 gid:文件的组id uid:用户的id
ino:节点数 mode:节点保护模式 mtime:最后数据修改时间 nlink:硬链接数 size:文件字节数 type:文件类型
注意:这个函数和file stat 不同在于当为一个符号链接时,file lstat 是得到链接的信息,而file stat是得到链接的文件信息
11file mtime返回文件最后修改时间12file owned如果用户是该文件所有者返回113file readable如果文件可读返回114file readlink返回符号链接的文件名15file size返回文件大小16file stat返回一个文件状态信息数组17file type返回文件类型:file 普通文件类型 directory 目录 characterSpecial 字符导向设备 blockSpecial 块导向设备
fifo:命名管道 link:符号链接 socket:套接字18file writable如果文件可写返回12.global命令通过匹配模式返回一个文件名列表
格式:global ?swithches? pattern? patternN?
*switches:-nocomplain 允许返回一个空列表的时候不生成错误,如果没有这个开关,返回空列表的时候会生成错误; -- 允许在匹配模式使用横杠
*pattern 匹配模式
a.{a,b,...}:匹配所有的a,b等字符
b.文件名以小数点开头则解析为小数点,其他地方就解释为通配符
c.所有的/都必须准确匹配
d.如果匹配模式开始是:~/则~解析为环境变量HOME
e.如果匹配的第一个字符是~后面跟着一个登陆id,则~loginid被解析为用户目录
示例如下:
set ail1 [glob C:/Windows/system/*.dll]set ail2 [glob C:/Windows/system/*.exe]set fmt "%-30s%-16s%-8s%-7s";#格式定义puts "[format "$fmt comment" "Directory" "Name" "Innode" "Type"]"foreach name [concat $ail1 $ail2] {set dir [file dirname $name];#返回路径set filename [file tail $name];#返回文件类型file stat $name arr;#返回文件的状态信息到数组arrset type [file type $name];#返回文件类型puts -nonewline "[format $fmt $dir $filename $arr(ino) $type]"if {[string match [file type $name] "link"]} {puts "points to:[file readlink $name]";#返回符号链接的文件名}if {[string match [file type $name] "file"]} {puts "size:[file size $name] bytes"}}运行结果如下:
以上就是关于获取文件信息的函数及示例。
0 0
- TCL学习之文件命令(2)
- TCL学习之文件命令(1)
- TCL学习之info命令
- Tcl学习之--文件操作
- TCL学习笔记之 列表命令
- TCL学习之字符串2
- TCL学习之数组(2)
- TCL命令学习
- TCL/TK 学习笔记 之 用C定义自己的TCL命令
- Tcl学习之--表达式
- Tcl学习之--字符串
- TCL学习之数组
- tcl/tk学习笔记:字符串(二)string命令集
- Tcl设置变量命令set使用学习(之一)
- Tcl编程简介(三)之内置命令集
- Tcl学习之--语法|变量
- Tcl学习之--列表|字典
- Tcl学习之--命名空间
- python 递归解析json
- Docker教程之 Swarm搭建Docker集群
- Oracle的分析函数over(...)
- Java面试题(1)
- java.util.logging.Logger使用详解
- TCL学习之文件命令(2)
- Java内存模型FAQ(三)JSR133是什么?
- VS error: C2859 C1083 .
- JMM Cookbook(一)指令重排
- C# FTP操作类
- CMD命令之快速把文件夹下的文件名写到TXT
- 剑指offer(java代码)——第一个只出现一次的字符
- 电脑重装系统后,客户端,plsql连接不上oracle问题
- xx.so: has text relocations