stat格式的是什么文件啊?

stat格式的是什么文件啊?,第1张

是QQ邮箱控件的一个临时或者叫日志文件

qq邮箱控件更新后,每次上传完东西。。都会在C:\留下源兆的东西。。。。。删除

没什么问题

想不让它出现

除非你不用它

或者腾讯自己修改程序

ftnstat.stat文件通常位于C盘根目录下,用记事本打开后,可以看到类似以下的内州知容:“MaxFileUploadParallelNum:0\MaxFileWaitingNum:0\SelectFileTimes:0\UploadFileNum:0\”。

那么ftnstat.stat到底是什么呢?

其实ftnstat.stat是QQ邮箱控件的一个文件,经过实际测试,是在安装过新版的QQ邮箱控件后出现在系统盘根目录的。从以上文件中的内容看应该是用于记录册裂消上传文件一些参数,如果你有使用过QQ邮箱上传附件,则ftnstat.stat中可以看到一些你上传过的文件名与某些具体的数值,而不是象我上面列举的那行内容那样全是0。

linux下查看文件详细信息命令stat。

说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态

与文件相关的3个时间:

1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。

2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。

3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新如旦。查看文件的详细的状态、准确的修改时间等,可以通过stat命令文件名。

size: 427

说明:

文件的大小.

Blocks: 8

说明:

这个文件占用了8个块,块的单位是512个字节,因为文件系统的块为4096个字节,除以512个字节,就是8个Blocks.也就是一个文件最小也要占用8个block.

regular file

说明:

文件的状态是不是正常的,此处为完整文件(个人理解是这个意思,请高手指点)

Device: fd00h/64768d

说明:是指存放文件的设备 详细的不太理解 请高手赐教

IO Block: 4096

说明:

IO

Block表示文件系统块的大小,ext3默认为4096,可以调整为2048等,但ext3最大也即是4096,可以通过tune2fs

-l /dev/sda1来确认.

Inode: 23724038

说明:

Inode就是I节点,这里说明的是23724038并不是系统已经用了这么多个inode,比如现在新建文件2,inode为23724039,这时新建文件3,inode为23724040,此时你删了文件2,再建文件4,它的inode还是23724039.

最后要注渣乱扰意一个文件只有一个Inode,Inode指引我们找到文件的信息.

Links: 1

说明:

只有这个文件名用了这个Inode.如果有两个文件名用了这个Inode,这里的数陪滑字将是2,例如一个硬链接。

stat(取得文件状态)

相关函数 fstat,lstat,chmod,chown,readlink,utime

表头文件 #include <sys/stat.h>

#include <unistd.h>

定义函数 int stat(const char * file_name,struct stat *buf)

函数说明 stat()用来将参数file_name所指的文件状态,复制到参数buf所指的结构中。哗纤察

下面是struct stat内各参数的说明

struct stat

{

dev_t st_dev /*device*/

ino_t st_ino /*inode*/

mode_t st_mode /*protection*/

nlink_t st_nlink /*number of hard links */

uid_t st_uid /*user ID of owner*/

gid_t st_gid /*group ID of owner*/

dev_t st_rdev /*device type */

off_t st_size /*total size, in bytes*/

unsigned long st_blksize /*blocksize for filesystem I/O */

unsigned long st_blocks /*number of blocks allocated*/

time_t st_atime /* time of lastaccess*/

time_t st_mtime /* time of last modification */

time_t st_ctime /* time of last change */

}

st_dev 文件的设备编号

st_ino 文件的i-node

st_mode 文件的类型和存取的权限

st_nlink 连到该文件的硬连接数目,刚建立的文件值为1。

st_uid 文件所有者的用户识别码

st_gid 文件所有者的组识别码

st_rdev 若此文件为装置设备文件,则为其设备编号

st_size 文件大小,以字节计算

st_blksize 文件系统的I/O 缓冲区大小。

st_blcoks 占用文件区块的个数,每一区块大小为512 个字节。

st_atime 文件最近一次被存取或被执行的时间,一般只有在用mknod、utime、read、write与tructate时改变。

st_mtime 文件最后一次被修改的时间,一般只有竖茄在用mknod、utime和write时才会改变

st_ctime i-node最近一乱茄次被更改的时间,此参数会在文件所有者、组、权限被更改时更新先前所描述的st_mode 则定义了下列数种情况

S_IFMT 0170000 文件类型的位遮罩

S_IFSOCK 0140000 scoket

S_IFLNK 0120000 符号连接

S_IFREG 0100000 一般文件

S_IFBLK 0060000 区块装置

S_IFDIR 0040000 目录

S_IFCHR 0020000 字符装置

S_IFIFO 0010000 先进先出

S_ISUID 04000 文件的(set user-id on execution)位

S_ISGID 02000 文件的(set group-id on execution)位

S_ISVTX 01000 文件的sticky位

S_IRUSR(S_IREAD) 00400 文件所有者具可读取权限

S_IWUSR(S_IWRITE)00200 文件所有者具可写入权限

S_IXUSR(S_IEXEC) 00100 文件所有者具可执行权限

S_IRGRP 00040 用户组具可读取权限

S_IWGRP 00020 用户组具可写入权限

S_IXGRP 00010 用户组具可执行权限

S_IROTH 00004 其他用户具可读取权限

S_IWOTH 00002 其他用户具可写入权限

S_IXOTH 00001 其他用户具可执行权限

上述的文件类型在POSIX 中定义了检查这些类型的宏定义

S_ISLNK (st_mode) 判断是否为符号连接

S_ISREG (st_mode) 是否为一般文件

S_ISDIR (st_mode)是否为目录

S_ISCHR (st_mode)是否为字符装置文件

S_ISBLK (s3e) 是否为先进先出

S_ISSOCK (st_mode) 是否为socket

若一目录具有sticky 位(S_ISVTX),则表示在此目录下的文件只能被该文件所有者、此目录所有者或root来删除或改名。

返回值 执行成功则返回0,失败返回-1,错误代码存于errno

错误代码 ENOENT 参数file_name指定的文件不存在

ENOTDIR 路径中的目录存在但却非真正的目录

ELOOP 欲打开的文件有过多符号连接问题,上限为16符号连接

EFAULT 参数buf为无效指针,指向无法存在的内存空间

EACCESS 存取文件时被拒绝

ENOMEM 核心内存不足

ENAMETOOLONG 参数file_name的路径名称太长

范例 #include <sys/stat.h>

#include <unistd.h>

mian()

{

struct stat buf

stat (“/etc/passwd”,&buf)

printf(“/etc/passwd file size = %d /n”,buf.st_size)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8148164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存