我有一个 Windows 共享:
\\MYSERVER\SHARE\
MyFolder
MyShortcut\
SubFolder1
Subfolder2
使用 Windows 框,我可以通过快捷方式导航到达子文件夹。
但是使用装有 CentOS 版本 6.5 的 Linux 系统,我无法通过快捷方式导航。
我的 fstab 中有以下内容:
//MYSERVER/SHARE /mnt/g cifs uid=ME,gid=ME,noauto,credentials=/home/ME/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
我可以 cd 到 /mnt/g 和 /mnt/g/MyFolder,但不能 cd 到 /mnt/g/MyShortcut
在 /mnt/g 中,如果我输入:cd MyShortcut:
-bash: cd: MyShortcut: Invalid argument
如果我输入:ls -l
drwx--x--x. 2 ME ME 0 Apr 17 12:16 MyShortcut
drwxrwxrwx. 1 ME ME 4096 Sep 19 2013 MyFolder
更新:我也尝试从 fstab 挂载 \MYSERVER\SHARE\MyShortcut,但最终出现错误。
答案1
Windows 将其快捷方式实现为.lnk
文件(通常您看不到.lnk
扩展名,因为它是少数几个即使您告诉文件夹设置控制面板显示它们仍保持隐藏的扩展名之一)。当您在 Windows 中使用快捷方式时,这些文件会被读取,explorer.exe
以便在浏览文件夹时更改当前文件夹。
许多 Linux 文件系统都具有符号链接它们的作用相同,但工作在文件系统级别,因此独立于任何程序。.lnk
您使用的文件管理器可能不支持 Windows 风格的快捷方式nautilus
。
该命令失败的原因cd
是您要求 Linux 访问cd
文件而不是目录/文件夹。
一些解决方法:
- 该
.lnk
文件只是一个文本文件,因此您可以在其中打开它,gedit
或vi
手动将路径指向其等效的 CIFS 目标。 - Windows 通过命令支持 UNIX/Linux 风格的符号链接
mklink
(在 NTFS 文件系统上) - 但是我还没有尝试通过 CIFS 共享访问它们以查看它们是否有效。