在OS X中,创建一个目录的硬链接的Unix命令是什么?
在OS X中如何创建指向目录的OS X中的硬链接(与Symlink或Mac OS别名)?我已经知道命令" LN目标目标",但是只有在目标是文件时才有效.我知道Mac OS(与其他Unix环境不同)确实允许与文件夹进行硬链接(例如,这是用于时间机器的),但我不知道自己如何做. 解决方案 您不能直接在bash中进行.但是...我在这里找到了一篇文章,该文章间接地讨论了: http://www.mactech.com/articles/mactech/vol.23/23.11/expleloringleopardwithdtrace/index.html 通过编译一个简单的小C程序: #include #include int main(int argc, char *argv[]) { if (argc != 3) return 1; int ret = link(argv[1], argv[2]); if (r
2 2023-11-08
编程技术问答社区
用于创建符号链接的mdfind不能按预期工作
我正在尝试使用mdfind的输出来创建一堆符号链接. mdfind的输出就是这样: /pathtofile1/ /pathtofile2/ /pathtofile3/ 所以,我使用sed将ln -s添加到每行的开始,awk {print $0 "/directory where I want this/"}; 我的单线脚本成功输出以下内容: ln -s"/pathtofile1/""/我想要的目录 ln -s"/pathtofile2/""/我想要此的目录 ln -s"/pathtofile3/""/我想要的目录 问题是,当我运行此问题时,我会收到此错误:"/目录我想要的地方:文件不存在" 奇怪的是,当我单独运行这些行时,它们会按预期创建它们,但是运行整个命令会返回上面的错误. 有什么想法? 我不认为这是做我想做的事情的理想方式,因此,如果您有更好的解决方案,请告诉我. 编辑更多信息. #! /bin/bash item
2 2023-10-13
编程技术问答社区
与Python创建破碎的符号链接
使用Python我想创建一个指向不存在路径的符号链接.但是,OS.Symlink只是抱怨" Oserror:[Errno 2]没有这样的文件或目录:". ln python的程序? 编辑: 以某种方式我真的弄乱了:/...下面的两个答案都是正确的 解决方案 尝试在不存在的目录中创建符号链接时会增加此类错误.例如,如果不存在/tmp/subdir,以下代码将失败: os.symlink('/usr/bin/python', '/tmp/subdir/python') 这应该成功运行: src = '/usr/bin/python' dst = '/tmp/subdir/python' if not os.path.isdir(os.path.dirname(dst)): os.makedirs(os.path.dirname(dst)) os.symlink(src, dst) 其他解决方案 为了创建Symlink,该文件不需要存在.以下示例演
20 2023-10-13
编程技术问答社区
遵循SVN中的符号链接
我有一个Linux目录(并且不需要任何Windows Checkout): /home/me/projects/project1 在这个项目中,我需要SVN(1.8.8)才能遵循Symlink" link1": /home/me/projects/project1/link1/ 但是SVN不会让我这样做,它只是添加link1,而不是其内容.如果我尝试添加其内容,我会收到一个错误: svn add link1/* svn: E145001: Can't schedule an addition of '/home/me/projects/project1/link1/first_directory' below a not-directory node 我尝试将link1转换为硬链接,但我也不能这样做: ln /path/to/my/linked/directory link1 ln: ‘/path
18 2023-10-13
编程技术问答社区
如何在bash中把所有文件从一个目录链接到另一个目录?
我想链接(ln -s)/mnt/usr/lib/中的所有文件/usr/lib/ 有很多文件,如何快速完成? :) 解决方案 ln -s /mnt/usr/lib/* /usr/lib/ 我猜,这属于超级用户. 其他解决方案 gnu cp可以选择创建符号链接而不是复制. cp -rs /mnt/usr/lib /usr/ 注意,这是找不到GNU扩展名其他解决方案 发布的解决方案不会链接任何隐藏的文件.要包括它们,请尝试以下操作: cd /usr/lib find /mnt/usr/lib -maxdepth 1 -print "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done 如果您应该偶然地要递归创建目录,而仅链接文件(因此,如果您在目录中创建文件,则确实在/usr/lib不是/mnt/usr/lib中),则可以这样做: cd /usr/lib fin
6 2023-10-13
编程技术问答社区
不能在/usr/bin内部创建符号链接,即使是以sudo身份也不行。
当我尝试在我的/usr/bin文件夹中符合二进制文件时,我会收到一个操作不允许的错误: sudo ln -s /usr/bin/python2.7 /usr/bin/python2 ln: /usr/bin/python2: Operation not permitted 即使作为sudo,我也会得到这个错误. 解决方案 为什么我不能符合/usr/bin? el capitan的新系统完整性保护功能可防止对OS X的多个核心部分的更改,包括大多数/usr/,甚至是根. 我仍然可以在路径上添加可执行文件? 本地自定义(例如您正在做的事情)属于/usr/local.默认情况下,路径/usr/local/bin不存在,但是您可以创建它并将自定义二进制文件(和symlinks)放在其中: sudo mkdir -p /usr/local/bin sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2
20 2023-10-13
编程技术问答社区
为Cygwin启用本地NTFS符号链接
最近的NTF和Windows实现Symlink: ntfs ntfs innction point 可以用作目录sommlink,因为NTFS 3.0(Windows 2000 >工具. ntfs Symbolic链接也可以用作SymLink(用于文件和目录)以来使用Windows vista使用mklink> vista工具. 但是在Cygwin 1.7(安装在Windows 7上),ln -s创建一个文本文件. cygwin: $ ln -s -v target mylink `mylink' -> `target' 在mingw上(或您喜欢的编辑器): $ cat mylink !ÿþt a r g e t 是否可以告诉Cygwing使用 ntfs inction junction point 或 ntsfs符号链接? 其他问题:这在mingw? 上可用 解决方案 ⸻⸻简短答案⸻⸻ 定义环境变量:
6 2023-10-13
编程技术问答社区
为什么ln -sf不能覆盖现有的目录链接?
根据文档,命令ln -f删除现有目标文件.这是否意味着如果我创建一个符号链接,-f应删除目的地的任何现有符号链接? 我有一个符号链接,例如,指向dir1和type ln -sf DIR2 L.但是L仍然指向Dir1.仅在rm L此命令创建指向dir2的链接. 使用符合文件的符号链接它的行为如预期的. 目录链接有什么问题? (Ubuntu上的Bash 4.3.48 16.04.2 LTS和Windows WSL) 解决方案 运行时: ln -sf DIR2 L 这是在dir1内部创建一个符号链接,导致l指向dir1,并引起它,从而创建L/DIR2 -> DIR1. 以下内容: rm -fr DIR1 DIR2 L mkdir DIR1 DIR2 ln -v -s DIR1 L ls -la L ln -v -f -s DIR2 L ls -la L 将输出: 'L' -> 'DIR1' lrwxrwxrwx 1 runner run
8 2023-06-19
编程技术问答社区
如何在OSX上使用MAMP的PHP版本而不是默认版本?
我想使用MAMP的PHP版本,而不是Mac上安装的默认版本.我尝试使用 ln -s /Applications/MAMP/bin/php5.3/bin/php php ,但我得到一个"文件存在"错误.解决此问题的最佳方法是什么,所以我可以键入PHP而不是完整的路径? 解决方案 我不建议尝试修改命令行中调用的默认版本的PHP.这样做可能会破坏系统的其他部分,并在将来为您提供问题,如果您决定升级操作系统. 有一种替代方案可以满足您的需求.您可以为MAMP的PHP 5.3副本创建一个别名.就我而言,我将别名phpmamp命名为.打开您的终端和类型: alias phpmamp='/Applications/MAMP/bin/php5.3/bin/php' 现在,在命令行中键入PHPMAMP将启动MAMP PHP Interter.通过键入: 来验证这一点 phpmamp --help 您很可能希望将其存储在A ~/.bash_profile中,这将使
42 2023-05-26
编程技术问答社区
Makefile和符号链接
我遇到了一个奇怪的问题.我只想在makefile中设置符号链接,但在一台计算机上获取错误消息(Linux 2.6.18-238.12.1.el5) make: execvp: ln: Too many levels of symbolic links 在我的MacBook上它的工作正常.如果我在外壳中执行相同的命令,它也可以正常工作.怎么了?是否有任何环境变量对于ln? 解决方案 我认为,错误消息中的execvp是关键.我相信这是在试图找到LN命令本身. 时,符号链接太多. 示例: all: ln -nsf /tmp/foo /tmp/foo /tmp/foo/ln x y 使用此makefile错误运行: make: execvp: /tmp/foo/ln: Too many levels of symbolic links 那么,您的makefile如何调用ln?您的PATH等等? [更新] 我敢打赌,makefi
48 2023-03-18
编程技术问答社区
Linux文件删除的恢复
是否有一种方法可以在Linux中创建链接到特定inode的文件? 采用这种情况:在编写过程中有一个文件(也许是日志),并且特定文件已删除,但 dir/proc中的链接仍在指向它.在这种情况下,我们需要 ,而是与之的紧密链接,因此我们可以在过程关闭之前进行未来的修改和最新的修改,并将系统删除. 如果我们有Inode号码可以实现此目标? 解决方案 由于没有Syscall涉及Inode,因为是Extx FS的概念,并且不是一个好的做法,而是要制造炉子管道,但它是为了使责任链链(如M.E.L.建议),只有否回答此问题,因为在VFS级别,我们处理文件路径和名称,而不是其他内部表示形式. 但是,要实现跟踪最新修改的目标,我们可以使用持续的监视和重复 tail :: tail -c+1 -f --pid=PID /proc/PID/fd/FD > /path/to/the/copy pid是该过程的PID,它仍打开的已删除文件,而FD是其文件描述符编号.使用 -f 尾巴打
40 2023-03-08
编程技术问答社区
链接到一个特定的inode
我有一个已删除的文件,但仍在打开我的A程序.我使用LSOF找到了Inode号.如何将硬链接返回到该inode? 任何代码都会有所帮助,但是Perl将很方便. 解决方案 复制/proc/ pid /fd/ file Deciptor 使用LSOF查找PID和文件描述符. 其他解决方案 在Ext Filesystem上您可以使用Debugfs命令来重新创建链接: debugfs -w /dev/mapper/vg0-root -R 'link myfile' 将创建一个名为myfile的"文件"并指向Inode 16.
36 2023-03-07
编程技术问答社区
在子目录上使用查找并创建所有文件的符号链接
好吧,所以我一直在努力解决这个问题,但是我正在挣扎. 前提是:我有一个带有许多子目录的目录(其中一些还包含更多子目录),并且我在另一个共享上还有另一个单独的目录,这些目录模仿了布局中的源目录.我现在需要的是一种循环浏览源目录,在subdirs中发现文件,然后在目标dir中创建符号链接的方法. ,如果这不太清楚,这篇文章很好地描述了它,除了该问题旨在与Dirs而不是文件本身链接. edit: just noticed what Kerrek was getting at, forgot to include this link: bash脚本自动为树中的子目录创建符号链接 好吧,到目前为止,我有了基于Kerrek的答案: #!/bin/bash SOURCE="/home/simon/testdir/src" DEST="/home/simon/testdir/dest" cd $DEST find $SOURCE -type f -exec ln -s
18 2022-09-24
编程技术问答社区