如何使用文件协议访问本地系统上的目录?

Posted

技术标签:

【中文标题】如何使用文件协议访问本地系统上的目录?【英文标题】:How to use file protocol to access a directory on local system? 【发布时间】:2010-10-31 03:21:11 【问题描述】:

喜欢/usr/local

我试过file:///usr/local但失败了

[root@www2 robot]# cd file:///usr/local
-bash: cd: file:///usr/local: No such file or directory

【问题讨论】:

您是如何尝试访问这些文件的?什么语言,什么程序,...? 什么浏览器?在 FF3 上为我工作。 @Zifre,只有浏览器可用吗? 我正在使用 winSCP 访问远程服务器,还使用 ​​putty 访问 bash shell。有一个名为“student”的文件夹,该文件夹中有 word(docx) 格式的学生资料。路径是“/data/student/studentprofile/johncallack.docx”。如何通过 bash shell 使用上述路径访问该文件夹? 【参考方案1】:

file: 协议仅存在于网络浏览器中。在 Firefox 中尝试,它应该可以工作。要在 shell 中执行此操作,只需使用

cd /usr/本地/

不要使用file:。这也是你做不到的原因

猫 http://www.google.com

这会很棒(但你必须使用wgetcurl 之类的东西)。

【讨论】:

如果您谈论的是 FireFox,那么是的,我知道,我滑倒了,真丢脸。不过现在已经修好了。 不一定是wget,而是curl(即“cat url”)。 “文件:协议仅存在于网络浏览器中”?不是这样。文件的 URL 不仅限于 Web 浏览器。例如,作为 collection() XPath 函数的参数,用于从本地磁盘获取一组 XML 文档。【参考方案2】:

file:/// 不适用于bash 或衍生外壳。

它可以在大多数浏览器中运行,并且可能在wgetcurl 中运行,但bash 不是网络浏览器。

【讨论】:

【参考方案3】:

据我所知,bash 和 cd 不能跨多个协议运行。如果您想通过其他协议访问内容,则必须将它们挂载到本地文件系统。

您不是在尝试 cd 到用户在某些网络表单上提供的某个位置吗?

【讨论】:

【参考方案4】:

如果您需要能够从您的 shell 访问通用 URL,请尝试使用 curl 作为您的猫的替代品:

curl file:///path/to/file.txt
curl http://www.domain.com/file.txt

但正如其他发帖者所指出的,shell 本身不理解 URL。

【讨论】:

【参考方案5】:

如果您必须在命令行上处理 file:///usr/local,您可以删除“file://”部分。然后执行正常的命令,例如:

echo "file:///usr/local/" |  sed 's/file:\/\///' | cd

【讨论】:

以上是关于如何使用文件协议访问本地系统上的目录?的主要内容,如果未能解决你的问题,请参考以下文章

java如何访问局域网共享文件?

Linux-NFS

NFS共享存储服务

如何使用Java API访问HDFS为目录设置配额

如何在 Ubuntu 20.04 上安装和配置 NFS 服务器?

如何在云上拥有软件访问文件