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