当我在符号链接的文件夹中时,从父位置复制文件

拉姆戈尔

假设我已经创建了两个文件夹/tmpparentchildchild包含一个名为的文件,test-child.txt并且parent包含一个名为的文件test-parent.txt现在,进入parent并创建指向的符号链接child接下来,往里走child,并尝试复制test-parent.txtparentbash完成有效,但实际文件复制失败-

cd /tmp
pwd
/tmp
mkdir parent
mkdir child
touch child/test-child.txt
ls child/
test-child.txt
cd parent
ln -sf ../child .
touch test-parent.txt
cd child
cp ../test-parent.txt .
cp: cannot stat ‘../test-parent.txt’: No such file or directory 

为什么 ??

而且,当我在室内时child,如果我说-

pwd
/tmp/parent/child
吉勒斯“别再邪恶了”

外壳程序会跟踪符号链接,以方便用户使用。这具有很好的效果cd foo && cd ..,即使foo是到目录的符号链接,也总是返回到原始目录。它有两种缺点:主要的​​缺点是其他程序不以这种方式运行;另一种是其他程序不能以这种方式运行。另外,符号目录跟踪会带来自身的问题(符号链接更改时会发生什么?如果进程没有读取符号链接的权限会发生什么?等)。

Shell只能执行此操作,因为它们会跟踪所有目录更改,因此它们会记住您的到达方式。当一个新的过程开始时,它不会获得此历史信息。..后台,它通过从当前目录向上移动,找到链接直到到达根¹来找到它所在的位置。

如果通过符号链接到达目录,则可以pwd通过调用来打印出带有内置符号的无符号链接的路径pwd -P如果您从外壳程序调用另一个程序,请不要向其传递包含..符号链接组件之后的路径,因为该程序会以不同的方式解释它。相反,可以..通过调用来消除这些组件pwd -P

cp "$(cd .. && pwd -P && echo /)test-parent.txt" .

如果您想忘记cdShell会话中过去命令中使用的符号链接,则可以运行

cd "$(pwd -P && echo /.)"

这将更改为已经存在的当前目录,因此它不会有效地更改Shell进程的当前目录,但是会更改Shell跟踪到当前目录的路径,从而使其没有符号链接。

¹这是getcwd通话的传统操作方式。某些内核确实会跟踪当前目录,但不会跟踪符号链接,如果没有其他原因(也是由于符号链接的微妙情况),则是为了向后兼容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用符号链接复制文件夹

来自分类Dev

从符号链接文件夹中识别符号链接

来自分类Dev

当我打开不带www的链接的PDF时,我被重定向到了父文件夹

来自分类Dev

当我使用“ ls -la”时如何在终端中隐藏链接文件夹的原始目录

来自分类Dev

“在此文件夹中找不到匹配的符号文件”。当我尝试使用转储文件进行调试时出现此错误

来自分类Dev

为文件夹中的文件创建新的符号链接

来自分类Dev

我可以符号链接Dropbox文件夹吗?

来自分类Dev

我可以符号链接Dropbox文件夹吗?

来自分类Dev

复制文件夹位置列表中的所有文件

来自分类Dev

当我在Git中运行此命令时,所有文件/文件夹都消失了

来自分类Dev

从新文件夹(而不是文件夹)中的文件创建符号链接

来自分类Dev

在Android Studio中打开Eclipse ADT项目文件夹(当我尚未导出文件夹时)

来自分类Dev

当我将jar文件复制到Android Studio中的lib文件夹时,为什么总是说“无法执行重构”?

来自分类Dev

当我将jar文件复制到Android Studio中的lib文件夹时,为什么总是说“无法执行重构”?

来自分类Dev

在SilverStripe中创建符号链接的资产文件夹

来自分类Dev

在Databricks FileStore的文件夹中创建符号链接

来自分类Dev

从某个文件夹中的递归搜索创建符号链接

来自分类Dev

当我在Mac中fswatch特定文件夹时,我被重命名为用于添加和删除文件夹中文件的文件

来自分类Dev

意外创建指向该文件夹中的文件夹的符号链接

来自分类Dev

如何删除文件夹及其子文件夹中的符号链接?

来自分类Dev

当我没有父文件夹的读取权限时,如何从网络共享中复制文件?

来自分类Dev

如何复制文件夹结构并建立指向文件的符号链接?

来自分类Dev

无法打开符号链接的文件夹

来自分类Dev

Windows文件夹中断的符号链接

来自分类Dev

当我尝试在Git中删除文件夹时,为什么没有“ pathspec”?

来自分类Dev

当我将1.7版本复制到Ant lib文件夹中时,为什么Ant使用Velocity 1.4?

来自分类Dev

当我将1.7版本复制到Ant lib文件夹中时,为什么Ant使用Velocity 1.4?

来自分类Dev

当我在Cordova应用中通过CLI添加新插件时,www文件夹会删除我的文件吗?

来自分类Dev

复制文件夹时压缩文件夹

Related 相关文章

  1. 1

    使用符号链接复制文件夹

  2. 2

    从符号链接文件夹中识别符号链接

  3. 3

    当我打开不带www的链接的PDF时,我被重定向到了父文件夹

  4. 4

    当我使用“ ls -la”时如何在终端中隐藏链接文件夹的原始目录

  5. 5

    “在此文件夹中找不到匹配的符号文件”。当我尝试使用转储文件进行调试时出现此错误

  6. 6

    为文件夹中的文件创建新的符号链接

  7. 7

    我可以符号链接Dropbox文件夹吗?

  8. 8

    我可以符号链接Dropbox文件夹吗?

  9. 9

    复制文件夹位置列表中的所有文件

  10. 10

    当我在Git中运行此命令时,所有文件/文件夹都消失了

  11. 11

    从新文件夹(而不是文件夹)中的文件创建符号链接

  12. 12

    在Android Studio中打开Eclipse ADT项目文件夹(当我尚未导出文件夹时)

  13. 13

    当我将jar文件复制到Android Studio中的lib文件夹时,为什么总是说“无法执行重构”?

  14. 14

    当我将jar文件复制到Android Studio中的lib文件夹时,为什么总是说“无法执行重构”?

  15. 15

    在SilverStripe中创建符号链接的资产文件夹

  16. 16

    在Databricks FileStore的文件夹中创建符号链接

  17. 17

    从某个文件夹中的递归搜索创建符号链接

  18. 18

    当我在Mac中fswatch特定文件夹时,我被重命名为用于添加和删除文件夹中文件的文件

  19. 19

    意外创建指向该文件夹中的文件夹的符号链接

  20. 20

    如何删除文件夹及其子文件夹中的符号链接?

  21. 21

    当我没有父文件夹的读取权限时,如何从网络共享中复制文件?

  22. 22

    如何复制文件夹结构并建立指向文件的符号链接?

  23. 23

    无法打开符号链接的文件夹

  24. 24

    Windows文件夹中断的符号链接

  25. 25

    当我尝试在Git中删除文件夹时,为什么没有“ pathspec”?

  26. 26

    当我将1.7版本复制到Ant lib文件夹中时,为什么Ant使用Velocity 1.4?

  27. 27

    当我将1.7版本复制到Ant lib文件夹中时,为什么Ant使用Velocity 1.4?

  28. 28

    当我在Cordova应用中通过CLI添加新插件时,www文件夹会删除我的文件吗?

  29. 29

    复制文件夹时压缩文件夹

热门标签

归档