0

我制作了一个rpm安装程序的包,它需要将文件复制到的文件夹之一是 a,因为符号链接指向的程序可能会随着时间而改变,因此通过复制symbolic link来更容易维护包的构建rpm文件symbolic link而不是硬编码路径。但是,我得到了错误

cp: cannot overwrite directory with non-directory

rpm包试图将文件复制到符号链接文件夹时。为什么会发生这种情况,除了将文件复制到指向的文件夹之外,我还能做些什么来解决这个错误symbolic link?我正在跑步RHEL 6.6

4

1 回答 1

1

该错误通常意味着您告诉 cp 将目标视为普通文件(-T参数)。

$ ls -lR
.:
total 16
drwxr-xr-x 2 root root 4096 Feb  6 09:46 dir
-rw-r--r-- 1 root root    0 Feb  6 09:45 file
lrwxrwxrwx 1 root root    3 Feb  6 09:45 symdir -> dir

./dir:
total 0
$ cp -T file symdir
cp: cannot overwrite non-directory `symdir' with non-directory
$ ls -lR
.:
total 16
drwxr-xr-x 2 root root 4096 Feb  6 09:46 dir
-rw-r--r-- 1 root root    0 Feb  6 09:45 file
lrwxrwxrwx 1 root root    3 Feb  6 09:45 symdir -> dir

./dir:
total 0
$ cp file symdir
$ ls -lR
.:
total 16
drwxr-xr-x 2 root root 4096 Feb  6 09:46 dir
-rw-r--r-- 1 root root    0 Feb  6 09:45 file
lrwxrwxrwx 1 root root    3 Feb  6 09:45 symdir -> dir

./dir:
total 4
-rw-r--r-- 1 root root 0 Feb  6 09:46 file
于 2015-02-06T14:47:50.830 回答