引用标签中带有空格的驱动器时出现问题

引用标签中带有空格的驱动器时出现问题

问题...

我的 USB 端口上的外部硬盘被列为设备,/dev/sdc并且该驱动器的第 1 个分区/dev/sdc1安装在 上/media/mark/Seagate Expansion Drive

问题在于空格,我无法向驱动器写入任何内容,从而导致错误。

我需要能够使用catdd通过管道传输到 zip(优先考虑)并将压缩文件存储在 上/media/mark/Seagate Expansion Drive

关于访问驱动器的其他方法的建议,我曾尝试更改驱动器标签,但会导致警告并且不会改变。

答案1

正确、最佳的解决方案是更改磁盘标签。我的某些磁盘也出现了问题,需要在 Windows 中执行此操作(grrrr)。

两种解决方案:

  1. 学习正确引用文件名:

     ls "/media/mark/Seagate Expansion Drive/"
    

    (注意")将起作用。另请参阅http://www.linuxjournal.com/content/bash-quoting或者http://www.hypexr.org/bash_tutorial.php#spaces,是的,文件名中的空格是有害的。

    例如,要写入磁盘中的文件,您需要使用

    dd if=something of="/media/mark/Seagate Expansion Drive/file.out" 
    

    或任何你正在使用的东西。

  2. 创建符号链接

     ln -s "/media/mark/Seagate Expansion Drive/" /media/mark/mydisk
    

    然后立即使用/media/mark/mydisk。99% 的情况下都可以正常工作...只要注意不要在未安装磁盘时使用它。

什么才不是工作正在尝试使用以下命令重命名挂载点mv

 sudo mv "/media/mark/Seagate Expansion Drive/" /media/mark/mydisk
 mv: cannot move ‘/media/mark/Seagate Expansion Drive/’ to ‘/media/mark/mydisk’: Device or resource busy

因为挂载点语义与普通目录完全不同。

相关内容