【发布时间】:2009-05-21 21:17:45
【问题描述】:
我的工作区有一个 dotFiles 列表。例如,.bashrc 和 .vimrc。
我想创建一个从它们到我的主页的符号链接,以便它们的名称与我的工作区文件夹中的名称相同。
我的伪代码尝试
ln workarea/.[a-zA-Z] ~/.*
问题是从 [a-zA-Z] 到出现在我的主页中的文件存在双射。
如何使用与原始文件同名的目标文件创建符号链接?
【问题讨论】:
我的工作区有一个 dotFiles 列表。例如,.bashrc 和 .vimrc。
我想创建一个从它们到我的主页的符号链接,以便它们的名称与我的工作区文件夹中的名称相同。
我的伪代码尝试
ln workarea/.[a-zA-Z] ~/.*
问题是从 [a-zA-Z] 到出现在我的主页中的文件存在双射。
如何使用与原始文件同名的目标文件创建符号链接?
【问题讨论】:
'man ln' 说:
ln [选项]...目标...目录(第三种形式)
所以你需要做类似的事情:
$ln -s workarea/.* ~/
【讨论】:
ln 创建符号链接的可能用途是:
ln -s <source-file> [<target-file]>
ln -s <source-file> ... <target-dir>
当你输入时
ln -s workarea/.[a-zA-Z]* ~/.*
(我认为您缺少*)shell 将扩展workarea/.[a-zA-Z] 和 ~/.*,因此(假设您的HOME 目录包含文件.abc 和@ 987654328@) 你最终会得到
ln -s workarea/.bash_profile workarea/.bashrc ~/.abc ~/.def
既不适合ln的用法。
要使用ln 的第二种用法,您可以使用:
ln -s workarea/.[a-zA-Z]* ~/.
【讨论】: