linux下拷貝動態庫遇到的問題

linux默認cp命令是有別名的,也就是說在執行cp命令的時候,實際上執行的是別名的命令。

通過alias命令可以查看當前系統的別名設置情況:

可以看到cp命令已經設置了別名。這樣即使使用cp -f也不會生效。

\cp會調用原生cp命令不使用別名,因此能達到效果。

除了\cp外還有一種寫法:

#unalias cp

#cp -rf ***

首先取消別名,然後再調用。unalias命令不是永久生效的。

===========
通過ln -s 創建軟鏈接語法爲:
ln -s 源文件路徑 軟鏈接文件路徑
其中,“源文件路徑”有絕對路徑和相對路徑兩種,使用時需要注意,不然軟鏈接文件是找不到源文件的。
===
 ln 源文件 新文件                           #創建硬鏈接

 等效於:cp -l 源文件 新文件       

 ln  -s  源文件 新文件                    #創建軟鏈接

 等效於:cp -s  源文件 新文件


===ln: failed to create symbolic link ‘librdkafka.so’: Operation not supported===
這個問題主要原因是在使用ln創建軟連接時候失敗了,因爲這個文件系統是NTFS,windows上的,通過虛擬機掛載到linux上,所以並不支持ln操作

===軟鏈接與硬鏈接的特點===
不論是修改源文件(test 文件),還是修改硬鏈接文件(test-hard 文件),另一個文件中的數據都會發生改變。
不論是刪除源文件,還是刪除硬鏈接文件,只要還有一個文件存在,這個文件(inode 號是 262147 的文件)都可以被訪問。
硬鏈接不會建立新的 inode 信息,也不會更改 inode 的總數。
硬鏈接不能跨文件系統(分區)建立,因爲在不同的文件系統中,inode 號是重新計算的。
硬鏈接不能鏈接目錄,因爲如果給目錄建立硬鏈接,那麼不僅目錄本身需要重新建立,目錄下所有的子文件,包括子目錄中的所有子文件都需要建立硬鏈接,這對當前的 Linux 來講過於複雜。

不論是修改源文件(check),還是修改硬鏈接文件(check-soft),另一個文件中的數據都會發生改變。
刪除軟鏈接文件,源文件不受影響。而刪除原文件,軟鏈接文件將找不到實際的數據,從而顯示文件不存在。
軟鏈接會新建自己的 inode 信息和 block,只是在 block 中不存儲實際文件數據,而存儲的是源文件的文件名及 inode 號。
軟鏈接可以鏈接目錄。
軟鏈接可以跨分區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章