linux中目录操作<1>

一、目录的权限

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

  

注意:可以使用stat函数得到目录文件的状态信息。权限为在stat结构中st_mode中.

(2)测试目录的访问权限:程序得到目录文件状态信息,如果是非目录文件,那么程序退出。该程序检查目录文件的所有者用户是否具有读写和指向的权限并全额输出结果。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <unistd.h>
 4 #include <sys/stat.h>
 5 int main(void)
 6 {
 7     struct stat buf; /* 存储文件状态信息 */
 8     if(stat("/home", &buf) == -1){ /* 得到文件状态信息 */
 9         perror("fail to stat");
10         exit(1);
11     }
12     if(!S_ISDIR(buf.st_mode)){ /* 非目录文件 */
13         printf( "this is not a directory file\n");
14         exit(1);
15     }
16     if(S_IRUSR & buf.st_mode) /* 所有者用户具有读目录权限 */
17         printf("user can read the dir\n");
18     if(S_IWUSR & buf.st_mode) /* 所有者用户具有写目录权限 */
19         printf("user can write the dir\n");
20     if(S_IXUSR & buf.st_mode) /* 所有者用户具有执行目录权限 */
21         printf("user can through the dir\n");
22     return 0;
23 }

(3)截图

二 创建一个目录

(1)函数

  mkdir(const char* pathname,mode_t mode);

(2)返回

  成功:0

  失败:-1

(3)实现创建目录

 1 #include <stdio.h>
 2 #include <unistd.h>
 3 #include <stdlib.h>
 4 #include <sys/stat.h>
 5 int main(void)
 6 {
 7     if(mkdir("/home/tmp", S_IRUSR | S_IWUSR | S_IXUSR) == -1){ /* 创
 8                                                             建一个目录 */
 9         perror("fail to mkdir");
10         exit(1);
11     }
12     printf("successfully make a dir\n"); /* 输出提示信息 */
13     return 0;
14 }

(4)截图

三、删除一个目录

(1)函数:int rmdir(const char*pathname)

 返回值:

  成功:1

  失败:-1

(2)实现

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <unistd.h>
 4 int main(void)
 5 {
 6     if(rmdir("/home/tmp") == -1){ /*输出一个目录 */
 7         perror("fail to rmkdir");
 8         exit(1);
 9     }
10     printf("successfully remove a dir\n"); /* 输出提示信息 */
11     return 0;
12 }

(3)截图

时间: 2024-11-03 03:39:06

linux中目录操作<1>的相关文章

Linux中目录结构以及VI编辑器常见的命令操作

1.每个目录的详细介绍,先放一张目录的整体结构在这里 /bin:是Binary的缩写,用于存放经常使用的命令 /sbin:s代表Super User,用于存放系统管理员使用的命令 /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 /root:管理员的主目录 /lib:系统开机所需要的最基本的动态连接共享库,相当于Windows系统里面的dll文件,几乎所有的应用程序都需要使用到这些共享库 /lost+found:当系统非法关机后,这里会

liunx学习(一):linux下目录操作大全

Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnblogs.com/onlycxue/p/3154341.html linux中遍历文件夹下的所有文件 :http://www.jb51.net/article/37664.htm Linux下C获取文件夹下所有文件名:http://blog.csdn.net/sinat_30071459/articl

linux中目录的说明小结

/bin/ /sbin/ /usr/bin/ /usr/sbin/ 主要是存放系统命令,其中/bin/ /usr/bin/ 是普通用户都可以执行的系统命令,而/sbin/ /usr/sbin 中的命令只有超级用户root能执行,其实很好区分,bin前面有s字母的都代表super用户,就是超级用户的意思: /boot/:这是系统启动目录,保存系统启动的相关文件: /dev/:设备文件保存位置,注:在linux中所有皆文件,设备文件就保存在这: /etc/:采用默认安装方式的安装配置文件保存在这个目

Linux中/目录扩容

1:原来的系统20G,目前增加到30G,我要把增加的10G扩容到/目录下   2:fdisk /dev/sda     (对sda这块磁盘没有被使用的空间进行分区,联想Windows操作系统) 使用Linux的fdisk分区工具给磁盘/dev/sda分区,更可以根据提示输入m查看帮助信息,再输入n(表示增加分区), 回车后输入p(创建主分区),回车后partition number输入3(因为上面已经有两个分区sda1和sda2), 回车会提示输入分区的start值(通过fdisk -l 可以看

Linux中文件操作的命令

下面是对linux命令中,对文件的操作的总结. 1. cut cut命令用于显示每行从开头算起 num1 到 num2 的文字.即,截取指定字段并输出. cut [-bcdnf] [file] -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c :以字符为单位进行分割. -d :自定义分隔符,默认为制表符. -f :与-d一起使用,指定显示哪个区域. -n :取消分割多字节字符.仅和 -b 标志一起使用.如果字符的最后一个字节落在由 -b 标志的 L

对于linux中读操作

关于文件的读写,实在是太过于复杂,细节太多,所以只能分析他的原理,细节牵涉太多. 本文介绍文件的读操作. 先说一下读操作的轮廓.这个读操作是从磁盘把数据读入到内核缓冲区,数据在内核缓冲区被组织成radix_tree形式,然后在把这个缓冲区的内容拷贝到用户缓冲区,用户就可以操作自己缓冲区内的数据了. 具体一点就是: 对于每一进程打开的文件,都拥有一个文件对象描述符,从文件对象描述符中可以寻找到索引节点,从索引节点又可以找到adress_space,这个对象就是文件在内存中的缓存.因此,每一个打开此

linux中目录的作用和含义

文件系统:rootfs: 根文件系统FHS:Linux 文件系统是分层的/boot: 系统启动相关的文件,如内核.initrd,以及grub(bootloader)/dev: 设备文件    设备文件:        块设备:随机访问,数据块        字符设备:线性访问,按字符为单位        设备号:主设备号(major)和次设备号(minor)/etc:配置文件/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME/root:管理员的家目录:/lib:库

【Linux命令详解】2、文件和目录操作管理

2.文件和目录操作管理 本节主要学习在Linux下如何使用命令对文件和目录进行操作,这些命令pwd.cd.ls等. 2.1 pwd:显示工作目录路径 使用pwd命令可以显示当前用户所处的工作目录的绝对路径. 2.1.1命令语法: pwd[选项] 2.1.2参数选项: 选项 选项含义 -L 目录链接时,输出链接路径 -P 输出物理路径 2.1.3实例: 例1:显示用户当前工作目录路径. [[email protected] ~]# pwd /root //用户当前的工作路径是root 例2:显示用

linux 中解压与压缩 常用操作详细讲解

平时有时候 会在服务器进行一些文件的操作,比如安装一些服务与软件等等,都有解压操作,一般在 导出一些简单的服务器文件,也是先压缩后再导出,因此,在这里根据平时用到解压与压缩命令的频率来记录下: 1.最常用的当属 tar 命令了,(常针对于 tar.gz 文件) 压缩 : tar -zcvf [被压缩后的文件名] [目录或者文件] eg: tar zcvf redis.tar.gz  redis-2.8.12 解压 :tar -zxvf  [压缩包的文件名] eg: tar zxvf redis-