名为“file”的 Linux 命令仅在通过 web 执行时才返回“application/x-empty”

Posted

技术标签:

【中文标题】名为“file”的 Linux 命令仅在通过 web 执行时才返回“application/x-empty”【英文标题】:Linux command called "file" returns "application/x-empty" only when executing through web 【发布时间】:2011-06-08 09:18:37 【问题描述】:

我正在尝试使用调用 perl 脚本的 Ajax 通过 Web 执行命令“file /directory/*”。

当我从服务器运行脚本时,我得到了正确的 mime 类型,但是当我使用触发 ajax 的网络时,我得到“application/x-empty”。

如果我使用“sudo -u apache perl_script.pl”从服务器运行命令 - 结果是正确的。

为什么我从 Ajax 得到不同的响应?

【问题讨论】:

您尝试调用的file 程序是您编写的程序吗?或者您是否尝试调用标准的file 程序? 代码很简单,就是:my $a = `file /direcotry/*`; 不是另一个文件权限问题? 正如我所说的“sudo -u apache perl_script.pl”有效。除非我忘记了一些标志以便它是精确的仿真? 【参考方案1】:

尝试不使用星号,而是使用完整的文件名。

【讨论】:

还是一样,虽然我已经复制了我要检查的文件(a.html,b.html),现在第一个返回“空”,第二个没问题.为什么? 实际上,现在我有 10 个文件,所有文件都带有 mime“空”,只有最后一个文件具有正确的 mime 类型。这是什么东西?

以上是关于名为“file”的 Linux 命令仅在通过 web 执行时才返回“application/x-empty”的主要内容,如果未能解决你的问题,请参考以下文章

linux系统怎么进入root权限

在 Linux 终端中执行 C 程序

怎样在 Linux 中限制网络带宽使用

linux命令操作练习

Linux文件管理命令详解

Linux下文件的基本操作