linux文件删除函数|mkdir函数-linux

linux文件删除函数|mkdir函数-linux的第1张示图

Ⅰ 如何在linux下使用c语言操作临时文件

使用临时文件要考虑几个问题:1、保证临时文件间的文件名不互助冲突。2、保证临时文件中内容不被其他用户或者黑客偷看、删除和修改。所以在linux下有专门处理临时文件的函数mkstemp函数mkstemp函数将在系统中以独一无二的文件名创建一个文件并打开,而且只有当前用户才有访问这个临时文件的权限,当前用户对这个临时文件可以打开并进行读、写操作。mkstemp函数只有一个参数,这个参数是个以“XXXXXX”结尾的非空字符串。mkstemp函数会用随机产生的字符串替换“XXXXXX”,保证了文件名的唯一性。函数返回一个文件描述符,如果执行失败返回-1。在glibc 2.0.6 以及更早的glibc库中这个文件的访问权限是0666 ,glibc 2.0.7 以后的库这个文件的访问权限是0600。当临时文件完成她的使命如果不把它清除干净把或者程序由于意外在临时文件被清除前就已经退出,临时文件所在的目录会塞满垃圾。由于mkstemp函数创建的临时文件不能自动删除(请参考下文中的tmpfile函数)。执行完mkstemp函数后要调用unlink函数,unlink函数删除文件的目录入口,所以临时文件还可以通过文件描述符进行访问,直到最后一个打开的进程关闭文件操作符,或者程序退出后临时文件被自动彻底地删除。

Ⅱ linux下如何根据文件大小来清除文件内容

重定向吧~ 貌似Linux没有获取文件大小的函数吧,不太清楚system("ls -l ss.log > file");把文件的信息重定向到一个文件,然后读该文件, 解析第5个字符串就知道文件的大小了~ 超过100*1024*1024就system("rm ss.log");

Ⅲ 关于linux的umask命令

umask和文件权限是相反的-rwxrwxrwx,这个Linux文件的权限是777umask此时就是000总之umask+文件权限=777你这个umask=18赋值就错了,不可能到8的umask就是为一个新创建的文件赋予新的权限的函数,就这个功能

Ⅳ mkdir函数-linux

mkdir函数-linuxmkdir函数头文件库:#include<sys/stat.h>#include<sys/types.h>函数原型:intmkdir(constchar*pathname,mode_tmode);函数说明:mkdir()函数以mode方式创建一个以参数pathname命名的目录,mode定义新创建目录的权限。返回值:若目录创建成功,则返回0;否则返回-1,并将错误记录到全局变量errno中。mode方式:S_IRWXU00700权限,代表该文件所有者拥有读,写和执行操作的权限S_IRUSR(S_IREAD)00400权限,代表该文件所有者拥有可读的权限S_IWUSR(S_IWRITE)00200权限,代表该文件所有者拥有可写的权限S_IXUSR(S_IEXEC)00100权限,代表该文件所有者拥有执行的权限S_IRWXG00070权限,代表该文件用户组拥有读,写和执行操作的权限S_IRGRP00040权限,代表该文件用户组拥有可读的权限S_IWGRP00020权限,代表该文件用户组拥有可写的权限S_IXGRP00010权限,代表该文件用户组拥有执行的权限S_IRWXO00007权限,代表其他用户拥有读,写和执行操作的权限S_IROTH00004权限,代表其他用户拥有可读的权限S_IWOTH00002权限,代表其他用户拥有可写的权限S_IXOTH00001权限,代表其他用户拥有执行的权限

Ⅳ linux下remove删除函数删除文件,文件存在,调用后返回为0,文件却没有删除,求解

如果文件正在被使用的话,文件的真正删除是在你解除引用之后进行,但是不专需要用户进行操作来属干预了,文件一定会删除.如果你想调用remove之后马上看到文件被删除,建议你判断是否被占用。或者使用system("rm -rf filename").

Ⅵ 需要用c语言在 linux下删除一行命令行,有没有像 delline一样的函数

那么久都没人答复你!我来明确告诉你,答案就是——没有!解决办法:可以将一行跳过,然后将剩下的拷贝去另一个文件,然后删除源文件,改名字,基本上是这样的了~

Ⅶ Linux c中用mkdir函数创建10个文件在用rmdir函数删掉用for循环

Linux c语言可以使用系统提供的mkdir函数来创建文件夹。

1、函数原型

int mkdir(const char *path, mode_t mode);

2、参数说明:

path是目录回名mode是目录权限

3、需答要头文件

#include<sys/stat.h>

4、示例

//添加mkdir函数声明头文件#include<sys/stat.h>#include<sys/types.h>intmain()//主函数{//直接调用mkdir函数//建立一个名为的文件夹//权限为0777,即拥有者权限为读、写、执行//拥有者所在组的权限为读、写、执行//其它用户的权限为读、写、执行mkdir("",0777);return0;}

说明:函数调用试图建立777权限的文件夹,但是在实际程序执行时,还需要考虑umask值,最终才会得到实际的权限。

5、执行效果如下图所示

说明:t.c是源码文件,有gcc进行编译,-o是gcc的参数,有于指明编译后输出的文件,t为源码经gcc编译后生成的可执行文件。./t是执行当前目录下的生成的可执行文件t。

Ⅷ 用Linux写一SHELL程序,删除任何目录下的文件但不包含此目录的子目录,要求在程序中有删除函数,删除文件时

#!/bin/bash //声明使用的shellPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/;/usr/local/sbin:~/binexport PATHread -p "Please input your directory name:" d_name //d_name让你输入目录名if[ "$d_name" == "" ] || [ ! -d "$d_name" ];then //没输入,或者不是目录,退出echo -e "The director is not exist,please check it"exit 1fifilelist=`ls $d_name` //filelist 为该目录下的所有文件,包括普通文件和目录文件for filename int $filelist //shell for 循环doif[ -f $filename ];then //是文件,删除,不是,继续循环,到结束rm -rf $filenamefidone

未经允许不得转载:山九号 » linux文件删除函数|mkdir函数-linux

赞 (0)