2

我有一个实现存档的程序,我需要从创建的存档中提取文件。我打算通过创建一个新文件来做到这一点。我已经有了文件名/用户 ID/组 ID/日期/模式(权限)/等。那么我将如何创建具有这些给定属性的文件?

4

2 回答 2

3

创建文件时,会自动设置某些属性。这包括所有者和时间/日期。您可以指定要创建的文件的名称,但该文件自动归您所有,并继承您的用户 ID 和组 ID(即执行程序的用户 ID) - 这是系统生成的,出于安全原因这样做(如果您无权访问其他用户的凭据怎么办?)。但是,一旦创建了文件,您就可以更改所有者或组 (chown/chgrp) 甚至更改文件权限 (chmod)。如果您希望执行单个命令,您可以简单地附加这些命令(使用 ;)。

于 2012-10-21T05:29:38.423 回答
1

您几乎需要三个系统调用来完成您的任务:

  • chmod更改权限。
  • chown更改所有权(用户和/或组)。
  • utime更改文件的上次访问和修改时间。
于 2012-10-21T05:31:42.493 回答