【问题标题】: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 使用上述路径访问该文件夹?

标签: linux file url file-uri


【解决方案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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-11-22
          • 1970-01-01
          • 2015-08-27
          • 2016-01-01
          • 2016-09-18
          • 1970-01-01
          • 2011-11-24
          相关资源
          最近更新 更多