标签: symlink

为什么有些符号链接会影响程序行为?

一直困扰我一段时间的一件事是:

% which halt
/sbin/halt
% file /sbin/halt
/sbin/halt: symbolic link to `reboot'
Run Code Online (Sandbox Code Playgroud)

但是,执行sudo halt当然不会重新启动系统。这是为什么?

例如,还有其他几个程序以这种方式工作pdflatex

executable symlink filenames

7
推荐指数
1
解决办法
1086
查看次数

查找传入的符号链接

在 Linux 中,查找指向给定文件的所有符号链接的最佳方法是什么(无论符号链接是相对的还是绝对的)?我意识到这将需要扫描整个文件系统。

find symlink files

7
推荐指数
1
解决办法
1618
查看次数

是否可以将符号链接“滚动”到新文件而不影响任何打开的文件句柄?

我在本地开发的应用程序将其输出记录到使用当前时间戳格式化的文件中,例如app-%Y%m%d.log.

为了使能够在终端窗口中跟踪当前日日志变得简单,我有一个名为的符号链接current.log,指向今天的日志。

每天开始工作时,我需要杀死尾部进程,将符号链接指向今天的文件,然后重新运行命令到tail -f current.log.

是否可以在无需重新启动的情况下更改符号链接的目标tail- 通过更改文件句柄的目标而tail不是更明智?

为了自动执行这个“新工作日开始”任务,很容易设置一个 cron'ed 脚本来将符号链接指向今天的文件,但似乎现有tail流程不知道目标已经改变。

logs tail symlink

7
推荐指数
1
解决办法
6860
查看次数

有没有办法单独 rsync 绝对符号链接?

我想在两台机器之间同步一个大文件夹层次结构。如果符号链接是绝对的,我想复制它们的内容,例如它指向/some/folder/someFile 我想保留符号链接,如果它们是相对的,例如,它指向../../somefolder 我该怎么做?

编辑: 基本上我尽量避免递归。我试过 --copy-unsafe-links 选项,它复制绝对链接但跳过内部或相对链接,不保留链接。

rsync symlink

7
推荐指数
1
解决办法
2816
查看次数

如何制作可变符号链接?(或类似的东西)

如何根据当前用户创建一个指向不同位置的可变符号链接?是否可以?我应该用别的东西代替吗?挂载点?如何?

如果您遇到不同的解决方案,则会出现以下问题:

在工作中,我们是一个使用 SVN 在 Unix 上开发的团队。我们都使用相同的开发机器(远程)。所以我们在不同的地方结账(不是 /home,而是安装在另一个磁盘上的特定目录,比如 /svn/[userlogin]/)。

我们使用脚本和工具。一些特殊工具具有复杂的配置和项目文件,其中包括源文件的路径。这很容易出错,我们会因为错误的配置或需要一直重新创建的“项目”而损失大量时间。我想与所有开发人员共享这个复杂的配置和项目文件。

但是为了在处理不同的结账时共享这些文件,我必须:

  • 即时更正存储在 config/project 中的路径以使其适应当前用户
  • 根据用户制作一个“魔术”固定路径,符号链接/挂载/指向指向不同的位置(因此相同的项目文件但指向不同的源)

在此之前,我们使用 clearcase,它为每个人(假设 /vob)安装了相同路径的视图,每个开发人员都可以看到他或她自己的视图。那很方便。

我怎么能做类似的事情?你能想到另一种解决方案吗?谢谢。

- 编辑 -

我在想 Eclipse IDE。我想分享一些工作区设置、项目和运行/调试配置。Eclipse(+插件)设置由 50 多个小文件组成,因此编辑它们是不可能的。

由于固定的“/vob”路径,对于每个终端,它会自动指向我们选择的“视图”,使用 clearcase 很容易。

我想要类似的东西。我想要一个/svn/mysource,对于每个终端,它指向用户当前结帐,它位于用户相关的路径中。

linux filesystems rhel symlink

7
推荐指数
1
解决办法
8687
查看次数

Git 不会在分支结帐时覆盖符号链接目录

如何使用 git 将目录设为只读?

情况是 - 在项目中,我有一个指向共享框架的符号链接。我不希望它以任何方式被覆盖/更改(甚至不是 mtime 或 atime)。

我该怎么做 - 还是我从错误的角度看待这件事?

git symlink

7
推荐指数
1
解决办法
1764
查看次数

将 /proc/mnt 链接到 /proc/mounts

我知道/proc文件系统反映了各种进程的输出。不幸的是,我有一个专有 ( romdump) 二进制文件,它希望挂载表显示为/proc/mtd,而我的 Android 设备似乎将其输出为/proc/mounts.

我试过创建一个符号链接,但显然这只适用于实际文件或目录。我怎样才能欺骗这个二进制文件来读取输出/proc/mounts而不是/proc/mtd

linux symlink android proc

7
推荐指数
2
解决办法
1920
查看次数

我们可以对目录使用符号链接和硬链接吗?

我知道我们可以为文件做到这一点。目录呢?

似乎 cpanel 经常使用它。

directory hard-link symlink

7
推荐指数
1
解决办法
8937
查看次数

cd 到符号链接文件的目录

在我编写脚本之前,任何人都知道执行以下操作的简单方法:

$ pwd
/foo/bar
$ ls -l
lrwxr-xr-x  1 username  admin  48 Apr 17  2012 foo.sh -> /bar/foo.sh
$ cd /bar
$ ls
foo.sh
Run Code Online (Sandbox Code Playgroud)

即,在目录中/foo/bar,我想做一些类似cdl(cd link) 的操作,这会将我带到链接文件的目录(或者也可以转到链接目录,如果碰巧是这样的话——如果是我的话)可以输入cd -P /bar)。

shell zsh cd-command symlink

7
推荐指数
2
解决办法
5604
查看次数

为什么 cp --no-preserve=mode 保留模式?可用的替代工具?

$ cp --no-preserve=mode --parents /sys/power/state /tmp/test/
$ cp --no-preserve=mode --parents /sys/bus/cpu/drivers_autoprobe /tmp/test/
Run Code Online (Sandbox Code Playgroud)

两行中的第二行将失败

cp: cannot make directory ‘/tmp/test/sys/bus’: Permission denied
Run Code Online (Sandbox Code Playgroud)

原因是它/tmp/test/sys是在没有写权限的情况下创建的(和原来的一样/sys);正常人mkdir /tmp/test/sys2不会这样做:

$ ls -la /tmp/test/
total 32
drwxr-xr-x  3 robert.siemer domain^users  4096 Oct 11 13:56 .
drwxrwxrwt 13 root          root         20480 Oct 11 13:56 ..
dr-xr-xr-x  3 robert.siemer domain^users  4096 Oct 11 13:56 sys
drwxr-xr-x  2 robert.siemer domain^users  4096 Oct 11 13:59 sys2
Run Code Online (Sandbox Code Playgroud)

我怎样才能指示cp不保留模式,除了--no-preserve=mode,它不像我认为的那样工作......?

或者我应该使用哪种工具来复制文件列表而不保留符号链接之外的“任何东西”?

permissions cp symlink file-copy

7
推荐指数
1
解决办法
6934
查看次数