我需要得到一个命令行中的文件夹内容,现在如果我做stat或ls,它告诉我文件types是符号链接,但它不告诉我,如果它是一个文件或文件夹。
我正在使用这个;
stat -c '{"name": "%n", "size": "%s", "perms":"%a","type":"%F","user":"%U", "dereference","%N"}' /*;
重要的一点是,我需要一个class轮,非常快速的输出。 我无法绕过这个做ls,也许有一个解决scheme,使用find,locate等。或者如果你知道如何从mlocatedb读取?
谢谢,
试试这添加了另一个字段:
stat -c '{L"name": "%n", "size": "%s", "perms":"%a","type":"%F","user":"%U", "dereference":"%N"}' /* | sed '/\/\o47\"\}$/ {s/\}/,\"dir\":\"yes\"\}/;b}; s/\}$/,\"dir\":\"no\"\}/'
顺便说一下,我把“取消引用”后的逗号改成冒号。
stat也知道选项-L来解引用符号链接。 用这个参数试试你的电话。
ls -l会告诉你一个链接的目标。 那是你需要的吗? 另一个选项是readlink <file> 。
哎呀,对不起,没有看到那里的一切。 那么ls -lL怎么样 -L告诉ls去引用链接,所以你会看到目标,而不是链接。