操作Linux软链接引起的各种问题

一、tar压缩:

tar 参数:

-c :建立一个压缩文件的参数指令(create 的意思)。
-x :解开一个压缩文件的参数指令。
-t :查看 tarfile 里面的文件。特别注意,在参数的下达中,c/x/t 仅能存在一个,不可同时存在, 因为不可能同时压缩与解压缩。
-z :使用gzip进行压缩打包文档。
-j :使用bzip2进行压缩打包文档。
-v :压缩的过程中显示文件。这个常用,但不建议用在背景执行过程。
-f :使用档名。请留意,在 f 之后要立即接档名,不要再加参数。
例如使用“tar -zcvfP tfile sfile”就是错误的写法,要写成“tar -zcvPf tfile sfile”才对。
(关于这点我保留意见,因为平时我解压,都是-xvfz….没见有神马不对的….也许是改进了?)
-p :使用原文件的原来属性(属性不会依据使用者而变)。
-P :可以使用绝对路径来压缩。
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中。
–exclude FILE:在压缩的过程中,不要将 FILE 打包。

1)要把软链接压缩成一个真的文件需要加个h,而且要压缩的还必须是个文件夹,即:
tar -zcvphf lib.tar.gz lib

2)#tar打包压缩
tar -zcvf tmp3.tgz
#解压缩
tar zxvf tmp3.tgz
#查看解压后的文件
lrwxrwxrwx 1 root root 19 5月 16 18:33 datagrand -> /tmp/test/datagrand
lrwxrwxrwx 1 root root 11 5月 16 18:31 passwd -> /etc/passwd
drwxr-xr-x 2 root root 23 5月 16 18:33 test
-rw-r–r-- 1 root root 20 5月 16 18:30 test.txt
-rw-r–r-- 1 root root 478 5月 16 19:28 tmp3.tgz

#说明
(1)tar解压缩后,原压缩文件还是存在的,如上所示。
(2)使用tar打包压缩可以保留原文件中的软链接。

二、cp复制:
复制动态库时出现软连接失效问题,导致动态库无法被调用。

cp 参数:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

在进行复制操作时,加入-a选项,保证软链接特性。
cp -a libiconv.so libiconv.so.2 libiconv.so.2.3.0 /lib/

你可能感兴趣的:(Linux开发)