软连接文件的创建删除
/*demo(通过系统命令)
*实现一个对视频文件可以操作的软连接路径
*在Nginx中的HTML页面可直接访问视频文件
*目录的创建,文件的链接,文件的删除
*/#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/stat.h> //mkdir
#include <sys/types.h>
#include <dirent.h> //opendir
#include <unistd.h> //unlink#define PLAY_INFO_DIR "paly"
#define EEXIST 17int OpendirAndMkdir(const char * pathname)
{int ret = 0;DIR * mydir = NULL;if ((mydir = opendir(pathname)) == NULL){ret = mkdir(pathname, 0755);if (ret != 0) return -1;printf("%s created sucess!/n", pathname);}else{printf("%s exist!/n", pathname);}return ret;
}int main()
{int ret = -1;char *dirlocal = NULL;char mark = '/';char *retlink = NULL;char dirName[256] = {'\0'};char cmd[1024] = {0};char filepath[] = "/home/huqin/bstr/test.264";printf("start link path\n");//获取链接文件retlink = strrchr(filepath,mark);printf("strrchr link file path:%s\n",retlink);snprintf(dirName, sizeof(dirName), "%s/%s", "/tmp/Nginx/html/", PLAY_INFO_DIR);//判断目录是否存在,不存在则创建OpendirAndMkdir(dirName);//将文件名连接到链接目录strcat(dirName,retlink);printf("strcat link path:%s\n",dirName);//执行软链接命令sprintf(cmd, "ln -s %s %s", filepath, dirName);ret = system(cmd);do{if(ret == 256){printf("system link path:%s already exists, ret = %d.\n",dirName,ret);break;}if(ret != 0){printf("system link path:%s failed, ret = %d.\n",dirName,ret);return -1;}}while(0);printf("finally link path:%s\n",dirName);//匹配到文件链接目录位置dirlocal = strstr(dirName,PLAY_INFO_DIR);printf("dir find play link path:%s\n",dirlocal);//删除链接文件if(( ret = unlink(dirName)) < 0){printf("unlink errpr ret =%d !\n",ret);}printf("unlink link path:%s\n",dirName);return 0;
}
huqin@ubuntu:~/bstr$ ./strrch
start link path
strrchr link file path:/test.264
/tmp/paly exist!/nstrcat link path:/tmp/paly/test.264
finally link path:/tmp//paly/test.264
dir find play link path:paly/test.264
unlink link path:/tmp/paly/test.264
软连接文件的创建删除相关推荐
- golang 文件操作 创建 读写 复制移动 权限 删除
目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...
- java 文件夹删除_java创建删除文件及文件夹大全
/** * 根据路径删除指定的目录或文件,无论存在与否 *@param sPath 要删除的目录或文件 *@return 删除成功返回 true,否则返回 false. */ public stati ...
- 【转载】常用DOS命令(包括创建删除文件夹/文件)
https://www.cnblogs.com/chjb/articles/9393627.html 1.创建文件夹 我们可以使用 md 或mkdir 命令来创建,其中md和mkdir都是建立新目录m ...
- DOS命令-创建删除文件和文件夹
原文链接:https://www.cnblogs.com/chjb/articles/9393627.html 1.创建文件夹 我们可以使用 md 或mkdir 命令来创建,其中md和mkdir都是建 ...
- Python语言学习:创建/删除文件/文件夹、获取当前文件/文件夹路径(系统环境路径/目录)、获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略
Python语言学习:创建/删除文件/文件夹.获取当前文件/文件夹路径(系统环境路径/目录).获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略 目录 系统环境路径的设置 1.sys ...
- Linux目录、文件的创建与删除
目录的创建: mkdir - make directories 使用示例及说明: [root@localhost ~]# mkdir /root/x/y/z mkdir: cannot create ...
- linux 文件重命名_Linux编程 5 (目录重命名与移动 删除,目录创建删除,查看file)...
一. 文件重命名与移动(mv) 在linux中,重命名文件称为移动(moving).mv命令可以将文件和目录移动到另一个位置或重新命名. 1.1 使用mv重命名 下面在/usr/local下面创建一个 ...
- ubuntu创建文件夹和删除文件
创建 名为docker的文件夹 : ubuntu创建文件夹mkdir name mkdir docker 删除 名为docker的文件夹 : ubuntu删除文件rm name rm docker
- java : enum、创建文件和文件夹、删除文件和文件夹、获得项目绝对路径、写入数据到excel中、java代码中两种路径符号写法、读取、写入text文件...
java : enum http://www.cnblogs.com/hyl8218/p/5088287.html 创建文件和文件夹.删除文件和文件夹 http://www.cnblogs.com/m ...
最新文章
- 这是个将近3万人点赞,涉及9大模块,专为程序员准备的面试宝典
- sql server配置连接oracle数据库,MS SQL Server连接Oracle
- 51nod 1379 索函数
- 敏捷软件开发宣言ndash;Manifesto for Agile Software Development
- java 七巧板油漆问题_七巧板颜色填充的问题?
- dockerfile 与 docker-compose的区别
- delphi framerect 画透明_闭上眼睛一起进入彩色画的梦境,幻彩花精灵,彩铅手绘教程...
- windows下工具
- 实时时钟DS1302
- matlab深度学习基本操作,深度学习讲解,源代码分享,用一用改一改随便发篇EI
- Ubuntu环境下Android反编译apk教程
- 管壁式换热器cad图纸_各种换热器结构原理动态图,让你大开眼界!
- 戴尔N5110装WIN10的体验
- Java编程入门与应用 P85——例3-26 continue的使用——(循环录入Java课程的学生成绩,统计 分数大于80分(包括等于)的学生人数。)
- 第三次作业-李纯锐-201731084433
- wordpress企业主题推荐
- Linux的常用命令就是记不住,还在百度找?于是推出了这套教程,
- 备份一下Linux笔记
- 房屋安全鉴定报告的有效期及两种鉴定类型
- Unity XR初始化设置