link,unlink,remove, rename函数
link函数:创建一个指向现有文件的链接的方法是使用
个人理解为cp命令
#include <unistd.h>
int link( const char *existingpath, const char *newpath );
返回值:若成功返回0,若出错返回-1
此函数创建一个新目录项newpath,它引用现有的文件existingpath。如若newpath已经存在,则返回出错。
只创建newpath中的最后一个分量,路径中的其他部分应当已经存在。
创建新目录项以及增加链接计数应当是个原子操作。
unlink函数:删除一个现有的目录项,可以调用unlink函数
个人理解为rm命令
#include <unistd.h>
int unlink( const char *pathname );
返回值:若成功则返回0,若出错则返回-1
此函数删除目录项,并将由pathname所引用文件的链接计数减1。
如果还有指向该文件的其他链接,则仍可通过其他链接访问该文件的数据。如果出错,则不对该文件做任何更改。
为了解除对文件的链接,必须对包含该目录项的目录具有写和执行的权限。如果对该目录设置了粘住位,则对该目录必须具有写权限,并且具备下面三个条件之一:
拥有该文件。
拥有该目录。
具有超级用户特权。
实例:前提得存在bar
#include "apue.h"
#include <fcntl.h>
int main()
{
if (open("bar",O_RDWR)<0)
err_sys("open error");
if (unlink("bar")<0)
err_sys("unlink error");
printf("file unlink\n");
sleep(15);
printf("done\n");
exit(0);
}
remove函数解除对一个文件或目录的链接,
对于文件,remove的功能与unlink相同。对于目录,remove的功能与rmdir相同。
#include <stdio.h>
int remove( const char *pathname);
返回值:若成功则返回0,若出错则返回-1
rename函数对文件或目录更名
#include <stdio.h>
int rename( const char *oldname, const char *newname );
返回值:若成功则返回0,若出错则返回-1
link,unlink,remove, rename函数的更多相关文章
- 文件和目录之link、unlink、remove和rename函数
任何一个文件可以有多个目录项指向其i节点.创建一个指向现有文件的链接的方法是使用link函数. #include <unistd.h> int link( const char *exis ...
- npm link & unlink
npm link & unlink https://dev.to/erinbush/npm-linking-and-unlinking-2h1g
- PHP rename() 函数
定义和用法 rename() 函数重命名文件或目录. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 rename(oldname,newname,context) 参数 描述 ...
- 重读APUE(7)-link/unlink与mkdir/rmdir
link–用于创建一个现有文件的链接:实际上是新建一个目录项,指向当前文件的i节点: unlink–用于删除一个现有文件的连接:实际上是对引用i节点的目录项进行删除,并且对链接计数-1:系统会检查文件 ...
- unlink remove
int unlink(const char *pathname); 删除一个文件的目录项并减少它的链接数 unlink()会删除参数pathname指定的文件.如果该文件名为最后连接点,但有其他进程打 ...
- 题目1003:A+B ---c_str(),atoi()函数的使用;remove , erase函数的使用
#include<stdio.h> #include<stdlib.h> int sw(char *a){ ,c=; while(a[i]){ ') c=c*+a[i]-'; ...
- 关于目录的操作|*|<>|opendir |readdir|unlink|find2perl|rename|readlink|oct()|utime
#!/usr/bin/perl use strict; use warnings; foreach my $arg(@ARGV) { print "one is $arg\n"; ...
- How to customize Skin Gallery - Remove / rename skins and groups
1. REMOVE (HIDE) A SPECIFIC SKIN Traverse through the gallery group collection, then through its gal ...
- rename()函数(包含更改索引列列名的方法)
1 rename()可以更换列名和行名,必须写上columns或index,否则无效 import pandas as pd df = pd.DataFrame({'a':[1,2], 'b':[3, ...
随机推荐
- 54. Search a 2D Matrix && Climbing Stairs (Easy)
Search a 2D Matrix Write an efficient algorithm that searches for a value in an m x n matrix. This m ...
- Release时error c1083 无法打开包括文件
Release时error c1083 无法打开包括文件, 但Debug时没事. 项目里面包含了其实项目的头文件, 头文件目录就放在项目下面, 这个头文件里面调用其它头文件, 采用的是<xx/y ...
- JS的join函数用法
无意中在网上看到一个关于join比for循环更有效率的说法.虽然不明白为什么,先记一笔. join函数用于数组.返回值为一个字符串.实现的效果就是将数组连成自己想要的字符串,当然是有规律可循的字符串. ...
- eclipse配置javacv0.8
之前配置了一次javacv,但是忘了做笔记,这次又重新查了一遍资料,很多东西模棱两可,浪费了很多时间,这次配置成功,总结如下,希望能帮到大家. 如不明确,可以联系我. javacv下载 https ...
- 【T电商 1】Nginx服务器搭建
在项目中,首先是需要Nginx服务器作为一个图片服务器来使用.那么,久涉及到服务器的搭建.这次服务器的搭建,主要是在三个环境上进行了学习:CentOS6.2,CentOS7,和Ubuntu16.那么本 ...
- 纸上谈兵:哈希表(hash table)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! HASH 哈希表(hash table)是从一个集合A到另一个集合B的映射(map ...
- 码农谷 找出N之内的所有完数
题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数, ...
- Using AFNetWorking 2.0 upload file to php web service server based on Slim
Recently i am developing the IOS app, a feature is needed to upload image to the webservice server. ...
- 关于form标签,你该知道
有没有发现,自己在写模板的时候很少使用form元素,一来form和table总是那么傻傻分不清楚:二来form的特性理解不清楚,有了input.label来了直接就上,根本不用form(不知道有没有人 ...
- js中this对象,call,apply