1

コマンドのLinuxマニュアルページをaccess確認しましたが、コマンドの適用についてはよくわかりません。

誰かがこれを説明できますか?

次のように使用できますか?

access -f filename;

ファイルが存在するかどうかを確認したい場合は?しかし、エラーが発生しています:

The transaction failed: no-cache,

同じことが起こります:

 access -w filename;

ファイルが現在のユーザーによって書き込み可能かどうかを確認したい場合。

また、これはtestコマンドで簡単に行うこともできます。次に、これら2つのコマンドの正確な違いは何ですか。詳しく説明してください。前もって感謝します。

4

1 に答える 1

3

これは 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成功すると返されることに注意してください。And0Cおよび 他の多くの言語では当てはまりませんが、この場合は を意味しtrueます。

man access標準の Linux ディストリビューションにはすべての C ライブラリと関数のマニュアル ページがあるため、これが Linux コマンドであることを意味するものではありません。もご覧いただけます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.

于 2012-10-14T12:49:14.670 に答える