[20240917]windows下软链接.txt

来源:这里教程网 时间:2026-03-03 20:39:15 作者:

[20240917]windows下软链接.txt --//这个问题出现Windows10专业版上,使用tar+gzip打包在windows下使用7-zip解压时遇到的问题,我无法使用cd tpt进入该目录。 --//做一个人记录。 --//在linux下: $ cd sqllaji/ $ ls -l | grep tpt lrwxrwxrwx.  1 oracle oinstall     17 2021-11-22 09:28:29 tpt -> tpt-oracle-master drwxr-xr-x. 19 oracle oinstall  20480 2024-09-17 15:39:53 tpt-oracle-master drwxr-xr-x. 19 oracle oinstall  20480 2024-09-14 17:37:54 tpt-oracle-master.org --//tpt链接到tpt-oracle-master目录。 --//而在windows10下: D:\tools\sqllaji>dir | grep tpt 2024/09/17  15:43    <SYMLINK>      tpt [tpt-oracle-master] 2024/09/17  15:39    <DIR>          tpt-oracle-master 2024/09/14  17:37    <DIR>          tpt-oracle-master.org --//而执行如下报错。 D:\tools\sqllaji>cd tpt 目录名称无效。 D:\tools\sqllaji>cat  tpt/46on.sql -- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions. alter session set events '10046 trace name context forever, level &1' / --//cat 可以看tpt链接下文件内容,也就是使用没有任何问题。而使用传统的type命令报错。 D:\tools\sqllaji>type tpt/46on.sql 命令语法不正确。 D:\tools\sqllaji>type tpt\46on.sql 目录名称无效。 D:\tools\sqllaji>type tpt-oracle-master\46on.sql -- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions. alter session set events '10046 trace name context forever, level &1' / --//以前在windows2003以及windwos xp下都是正常的,只要文件系统是ntfs。 --//如何解决: D:\tmp>mklink 创建符号链接。 MKLINK [[/D] | [/H] | [/J]] Link Target         /D      创建目录符号链接。默认为文件                 符号链接。         /H      创建硬链接而非符号链接。         /J      创建目录联接。         Link    指定新的符号链接名称。         Target  指定新链接引用的路径(相对或绝对)。 D:\tools\sqllaji>mklink /d tpta tpt-oracle-master 为 tpta <<===>> tpt-oracle-master 创建的符号链接 D:\tools\sqllaji>dir | grep tpt 2024/09/17  15:43    <SYMLINK>      tpt [tpt-oracle-master] 2024/09/17  15:54    <DIR>          tpt-oracle-master 2024/09/14  17:37    <DIR>          tpt-oracle-master.org 2024/09/17  15:59    <SYMLINKD>     tpta [tpt-oracle-master] --//注意两者不同,感觉SYMLINK表示文件链接,而SYMLINKD表示才是目录链接。 D:\tools\sqllaji>type tpta/46on.sql 命令语法不正确。 D:\tools\sqllaji>type tpta\46on.sql -- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions. alter session set events '10046 trace name context forever, level &1' / --//这样应该才是正确的。 D:\tools\sqllaji>mklink ver3.sql ver2.sql 为 ver3.sql <<===>> ver2.sql 创建的符号链接 D:\tools\sqllaji>dir | grep ver3.sql 2024/09/17  16:03    <SYMLINK>      ver3.sql [ver2.sql] --//出现的是SYMLINK,也验证我的判断。 D:\tools\sqllaji>rm ver3.sql D:\tools\sqllaji>rm tpt D:\tools\sqllaji>rm tpta rm: tpta: is a directory D:\tools\sqllaji>rmdir tpta D:\tools\sqllaji>mklink /d tpt tpt-oracle-master 为 tpt <<===>> tpt-oracle-master 创建的符号链接 D:\tools\sqllaji>dir | grep tpt 2024/09/17  16:05    <SYMLINKD>     tpt [tpt-oracle-master] 2024/09/17  15:54    <DIR>          tpt-oracle-master 2024/09/14  17:37    <DIR>          tpt-oracle-master.org D:\tools\sqllaji>cd tpt --//OK,问题解决。 --//反向验证看看: D:\tools\sqllaji>mklink  tpta tpt-oracle-master 为 tpta <<===>> tpt-oracle-master 创建的符号链接 D:\tools\sqllaji>dir | grep tpt 2024/09/17  16:05    <SYMLINKD>     tpt [tpt-oracle-master] 2024/09/17  15:54    <DIR>          tpt-oracle-master 2024/09/14  17:37    <DIR>          tpt-oracle-master.org 2024/09/17  16:07    <SYMLINK>      tpta [tpt-oracle-master] D:\tools\sqllaji>cd tpta 目录名称无效。 D:\tools\sqllaji>rm tpta --//这个也许是解压工具上的bug,我使用的解压工具是7-ZIP,不再细究这个细节问题。 --//或者讲mklink存在bug,可以使用文件链接到目录,而且还可以正常访问,但是无法cd进入。

相关推荐