linux中目录操作<1>
一、目录的权限
(1)目录文件的访问权限分为三组,分别为所有者,用户,其他。每个权限组的权限位有3个,分别为读、写、执行。

注意:可以使用stat函数得到目录文件的状态信息。权限为在stat结构中st_mode中.
(2)测试目录的访问权限:程序得到目录文件状态信息,如果是非目录文件,那么程序退出。该程序检查目录文件的所有者用户是否具有读写和指向的权限并全额输出结果。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
int main(void)
{
struct stat buf; /* 存储文件状态信息 */
if(stat("/home", &buf) == -){ /* 得到文件状态信息 */
perror("fail to stat");
exit();
}
if(!S_ISDIR(buf.st_mode)){ /* 非目录文件 */
printf( "this is not a directory file\n");
exit();
}
if(S_IRUSR & buf.st_mode) /* 所有者用户具有读目录权限 */
printf("user can read the dir\n");
if(S_IWUSR & buf.st_mode) /* 所有者用户具有写目录权限 */
printf("user can write the dir\n");
if(S_IXUSR & buf.st_mode) /* 所有者用户具有执行目录权限 */
printf("user can through the dir\n");
return ;
}
(3)截图

二 创建一个目录
(1)函数
mkdir(const char* pathname,mode_t mode);
(2)返回
成功:0
失败:-1
(3)实现创建目录
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
int main(void)
{
if(mkdir("/home/tmp", S_IRUSR | S_IWUSR | S_IXUSR) == -){ /* 创
建一个目录 */
perror("fail to mkdir");
exit();
}
printf("successfully make a dir\n"); /* 输出提示信息 */
return ;
}
(4)截图


三、删除一个目录
(1)函数:int rmdir(const char*pathname)
返回值:
成功:1
失败:-1
(2)实现
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
if(rmdir("/home/tmp") == -){ /*输出一个目录 */
perror("fail to rmkdir");
exit();
}
printf("successfully remove a dir\n"); /* 输出提示信息 */
return ;
}
(3)截图


linux中目录操作<1>的更多相关文章
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
- Linux中目录结构以及VI编辑器常见的命令操作
1.每个目录的详细介绍,先放一张目录的整体结构在这里 /bin:是Binary的缩写,用于存放经常使用的命令 /sbin:s代表Super User,用于存放系统管理员使用的命令 /home:存放普通 ...
- liunx学习(一):linux下目录操作大全
Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnbl ...
- 【Linux】linux中文本操作利器grep,awk,sed
grep命令 grep(global search regular expression)是一种强大的文本搜索工具,它可以使用正则表达式搜索文本,并把匹配的行打印出来.平时搜索文本中内容的时候是非常方 ...
- Linux中目录以及路径问题
具体参考:https://www.cnblogs.com/OctoptusLian/p/8546580.html 在Linux中,存在着绝对路径和相对路径 绝对路径:路径的写法一定是由根目录 / 写起 ...
- Linux中/目录扩容
1:原来的系统20G,目前增加到30G,我要把增加的10G扩容到/目录下 2:fdisk /dev/sda (对sda这块磁盘没有被使用的空间进行分区,联想Windows操作系统) 使用L ...
- 『学了就忘』Linux基础命令 — 37、Linux中挂载操作的相关命令
目录 1.mount命令介绍 (1)mount命令说明 (2)mount命令格式 2.mount命令示例 3.mount -a命令说明 4.-o特殊选项说明 5.exec/noexec选项说明 挂载就 ...
- Linux中目录proc/net/dev详解【转】
转自:https://blog.csdn.net/yzy1103203312/article/details/77848192 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- Linux中目录proc/net/dev详解
在Linux系统中,系统调用是操作系统提供给应用程序使用操作系统服务的重要接口,但同时也正是通过系统调用机制,操作系统屏蔽了用户直接访问系统内核的可能性.幸运的是Linux提供了LKM机制可以使我们在 ...
随机推荐
- Adding an Exception Breakpoint - Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 25 bey
用如下的方法可以非常方便停留到具体crash的某行代码 Adding an Exception Breakpoint Add an exception breakpoint to your proje ...
- fatal error C1189: #error : core.hpp header must be compiled as C++
两次opencv工程需要设置为C++编译:找了一半天的解决方法. I am building a C application that uses OpenCV. when compiling, I g ...
- chrome插件网站
chrome插件网站 http://chromecj.com/
- 哈理工2015 暑假训练赛 zoj 2976 Light Bulbs
MS Memory Limit:65536KB 64bit IO Format:%lld & %llu SubmitStatusid=14946">Practice ...
- 《大话操作系统——做坚实的project实践派》(7)
写操作系统内核须要了解一个详细计算平台的CPU,包含这个CPU里的寄存器和异常中断处理机制
- 6.非关系型数据库(Nosql)之mongodb:集群(主从复制)
1.主从复制是MongoDB最经常使用的复制方式.这样的方式很灵活,可用于备份.故障恢复.读扩展等 2最主要的设置方式就是建立一个主节点和一个或多个从节点,每一个从节点要知道主节点的地址. 执行 ...
- saltstack源码安装
环境 centos6.3,python2.7.5. 1.install libzmq-master $ git clone git://github.com/zeromq/libzmq.git $ c ...
- 代码调试过程中easy遇到的问题
前两天身体有些不舒服,也没写啥新文章,昨天下了一天的雨.今天阳光明媚,空气也非常新奇.心情大好. 继翻译为什么输出是String而不是Object,今天先写一下调试方面的东西.java中自带的函数调试 ...
- spring test---測试SpringMvc初识
如今越来越多人使用SpringMvc来开发系统,在开发中可定须要对后台url地址请求測试,而且返回预期的结果! Spring提供的測试类MockMvc来进行url地址请求測试,使用方方式: packa ...
- cocos2dx学习进度
将cocos2dx实战上面的例子都自己过一遍,手动敲一边里面的代码,瓦片地图,地图滚动,碰撞,容器类,现在搞到了fileUtils相关的了,哦,官方叫做数据持久化,一不小心就6点了,时间过得太快了,看 ...