soft_link - yuhannah/skills_map GitHub Wiki
Linux 下创建、删除软链接
软链接介绍
待补充。
创建软链接
举个例子:
sudo ln -s ~/pbrt-v3/build/* /usr/bin/
删除软链接
接下来,要做的事情是删除上面指令创建的软链接。可以通过再次执行上面这条指令,来看看这条指令到底创建了那些软链接。
sudo ln -s ~/pbrt-v3/build/* /usr/bin/
ln: 无法创建符号链接'/usr/bin/bsdftest': 文件已存在
ln: 无法创建符号链接'/usr/bin/CMakeCache.txt': 文件已存在
ln: 无法创建符号链接'/usr/bin/CMakeFiles': 文件已存在
ln: 无法创建符号链接'/usr/bin/cmake_install.cmake': 文件已存在
ln: 无法创建符号链接'/usr/bin/CPackConfig.cmake': 文件已存在
ln: 无法创建符号链接'/usr/bin/CPackSourceConfig.cmake': 文件已存在
ln: 无法创建符号链接'/usr/bin/CTestTestfile.cmake': 文件已存在
ln: 无法创建符号链接'/usr/bin/cyhair2pbrt': 文件已存在
ln: 无法创建符号链接'/usr/bin/imgtool': 文件已存在
ln: 无法创建符号链接'/usr/bin/libpbrt.a': 文件已存在
ln: 无法创建符号链接'/usr/bin/Makefile': 文件已存在
ln: 无法创建符号链接'/usr/bin/obj2pbrt': 文件已存在
ln: 无法创建符号链接'/usr/bin/pbrt': 文件已存在
ln: 无法创建符号链接'/usr/bin/pbrtlex.cpp': 文件已存在
ln: 无法创建符号链接'/usr/bin/pbrtparse.cpp': 文件已存在
ln: 无法创建符号链接'/usr/bin/pbrtparse.h': 文件已存在
ln: 无法创建符号链接'/usr/bin/pbrtparse.output': 文件已存在
ln: 无法创建符号链接'/usr/bin/pbrt_test': 文件已存在
ln: 无法创建符号链接'/usr/bin/src': 文件已存在
从报错的 log 可以看出,该指令为~/pbrt-v3/build/
路径下的所有这些文件都在/usr/bin/
路径中创建了软链接。
所以,为了删除该指令创建的软链接,需要逐一对具体文件的软链接进行删除。
sudo rm -rf /usr/bin/bsdftest
sudo rm -rf /usr/bin/CMakeCache.txt
sudo rm -rf /usr/bin/CMakeFiles
sudo rm -rf /usr/bin/cmake_install.cmake
sudo rm -rf /usr/bin/CPackConfig.cmake
sudo rm -rf /usr/bin/CPackSourceConfig.cmake
sudo rm -rf /usr/bin/CTestTestfile.cmake
sudo rm -rf /usr/bin/cyhair2pbrt
sudo rm -rf /usr/bin/imgtool
sudo rm -rf /usr/bin/libpbrt.a
sudo rm -rf /usr/bin/Makefile
sudo rm -rf /usr/bin/obj2pbrt
sudo rm -rf /usr/bin/pbrt
sudo rm -rf /usr/bin/pbrtlex.cpp
sudo rm -rf /usr/bin/pbrtparse.cpp
sudo rm -rf /usr/bin/pbrtparse.h
sudo rm -rf /usr/bin/pbrtparse.output
sudo rm -rf /usr/bin/pbrt_test
sudo rm -rf /usr/bin/src
实际操作
以安装 CMake 为例,通过以下方式创建了软链接:
sudo ln -sf /opt/cmake-3.18.2/bin/* /usr/bin/
再次输入上述语句,没有任何输出。修改为输入下述语句:
ln -sf /opt/cmake-3.18.2/bin/* /usr/bin/
得到反馈如下:
ln: cannot remove '/usr/bin/ccmake': Permission denied
ln: cannot remove '/usr/bin/cmake': Permission denied
ln: cannot remove '/usr/bin/cmake-gui': Permission denied
ln: cannot remove '/usr/bin/cpack': Permission denied
ln: cannot remove '/usr/bin/ctest': Permission denied
可以看出创建了ccmake
,cmake
,cmake-gui
,cpack
,ctest
目录的软链接。(未尝试删除软链接操作)