link(linux下函式)

link()以參數newpath指定的名稱來建立一個新的連線(硬連線)到參數oldpath所指定的已存在檔案。

如果參數newpath指定的名稱為一已存在的檔案則不會建立連線。
link()所建立的硬連線無法跨越不同檔案系統,如果需要請改用symlink()
在UNIX系統中,一個檔案可以同時擁有多個檔案名稱。
也就是我們想要複製一個檔案時,並不必真正複製檔案內容,只要另外建立一個檔案名稱,然後將這個檔案名稱連結到所要複製的檔案就可以了,這種操作稱為連結(link)。
這個函式使用格式如下:
int link(file1,file2) ;
各參數定義:
file1:原來檔案名稱。
file2:另外複製的檔案名稱。
ret_code:如成功,系統返回0給ret_code,否則,返回-1。
Code:
main(int argc,char *argv[])
{
int ret_code ;
if ( argc != 3 )
{
printf("sorry input error \n") ;
exit(1) ;
}
ret_code = link(argv[1],argv[2]) ;
if ( ret_code )
{
printf("link file error\n") ;
}
exit(0) ;
}
程式執行結果:
$cat t1.txt
a
b
abc
$ls t*txt
t1.txt
$a.out t1.txt t2.txt
$cat t2.txt
a
b
abc

相關詞條

熱門詞條

聯絡我們