link

linux下函數

l徠ink()以參數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