我浏览了 Linux 手册页以获取access命令,但不确定该命令的应用。
有人可以解释一下吗。
可以这样使用吗:
access -f filename;
如果我想检查文件是否存在?但我收到一个错误:
The transaction failed: no-cache,
同样的事情发生在:
access -w filename;
如果我想检查文件是否可由当前用户写入。
这也可以通过test命令轻松完成。那么这两个命令之间的确切区别是什么。请详细说明。提前致谢。
这不是 Linux 命令。它C是可以通过unistd.h库加载的函数。
您可以在程序中使用它,C如下所示:
#include <unistd.h>
#include <stdio.h>
int main () {
int writeable;
writeable = access("/path/to/file", W_OK);
if (writeable == -1)
printf("Not writeable!");
else
printf("Writeable!";
return 0;
}
请注意,它会0在成功时返回。And0对于许多其他语言都是错误的C,但在这种情况下它意味着true.
您可以看到的事实man access并不意味着它是一个 Linux 命令,因为任何标准 Linux 发行版都有每个 C 库和函数的手册页。你也可以看到man malloc。您可以通过查看标题来确定它是 Linux 命令还是 C 库手册页。例如man access:
ACCESS(2) Linux Programmer's Manual ACCESS(2)
NAME
access - check real user's permissions for a file
SYNOPSIS
#include <unistd.h>
int access(const char *pathname, int mode);
如您所见,第一行声明Linux Programmer's Manual.