linux中的目录
Linux文件系统数如下:

在 Linux 系统中,文件系统通过目录"包含"子目录及文件的方式,来组织成一个树状结构。那么目录到底是如何"包含"其他目录及文件的呢?
目录,在 Linux 中,其实也是一种文件,所以它也是由“inode+数据块”构成的。而其文件内容是一个列表,每一个列表项记录“inode-number+filename"。
因此,我们通常所说的目录 a "包含" 文件 b,其实现层面上的意思是,目录 a 的内容列表里有一个关于文件 b 的列表项,即 b 的 “inode-number+filename”。
综上,Linux 中,一个文件(包括目录)的文件名,及文件名与 inode 的对应关系,都是由包含该文件的目录所描述的。
下面的例子,演示了如何打印指定目录的内容列表:
/*
* 文件名:directory.c
* 描述: 打印指定目录的内容列表
*/ #include<stdio.h>
#include<stdlib.h>
#include<dirent.h>
#include<sys/types.h> int main(int argc, char *argv[])
{
if ( != argc)
{
fprintf(stderr,"Usage : %s directory...\n",argv[]);
exit(-);
} DIR* dp = NULL;
struct dirent *dptr = NULL;
if (NULL == (dp = opendir(argv[])))
{
fprintf(stderr,"Can not open Input Directory [%s]\n",argv[]);
exit(-);
}
else
{
printf("Directory [%s] Content List: \n",argv[]);
while(NULL != (dptr = readdir(dp)))
{
printf("inode-number : %-10ld \t filname : %s\n",dptr->d_ino,dptr->d_name);
} closedir(dp);
} return ;
}
运行结果:
在上述例子中,我们获取了一个目录所包含的所有文件的“inode-number+filename”列表。其中,有两个*特殊的文件名 *“.” 和 “..”:
“.”代表当前目录自身;
".."代表包含当前目录的上一级目录。
通过这两个特殊的文件名,我们也可以使用我们在 2.3 节中编写的 filestat 程序去获取相应的 inode-number。另外,如果“.” 和 “..”的 inode-number 是一样的时候,说明该目录已经是根目录。
linux中的目录的更多相关文章
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- Unix/Linux中/usr目录的由来
在Linux系统中,有一个很重要的目录——/usr目录.关于这个目录名称的由来,网上主要有下面几种说法: user的缩写 User Shareable Read-only的缩写 Unix/User S ...
- Linux中 /boot 目录介绍 【转载】
Linux中 /boot 目录介绍 转自:点击打开链接 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件 ...
- Linux中/proc目录下文件详解(转贴)
转载:http://www.sudu.cn/info/index.php?op=article&id=302529 Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...
- 关于linux中的目录配置标准以及文件基本信息
关于Linux中的目录配置标准 在查看docker.k8的运行日志,修改相关的运行记录的时候,学长总是能很快地找到目录,这个多多少少和Linux的FHS(File Hierarchy Standard ...
- linux中各目录及详细介绍
一.Linux文件系统的层次结构 在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构,如图: 二.目录 1.目录的定义 目录相当于Windows中的文件夹,目 ...
- Linux中一些目录名称的含义
挖Linux中的古老缩略语[2005-06-22 15:23][Nigel McFarlane][TechTarget] Unix已经有35年历史了.许多人认为它开始于中世纪,这个中世纪是相对于计算机 ...
- Linux中各个目录作用
对于linux新手来说,最感到迷惑的问题之一就是文件都存在哪里呢?特别是对于那些从windows转过来的新手来说,linux的目录结构看起来有些奇怪哦.比如没有C盘,没有分盘符,一大堆不知道用途的文件 ...
- linux中的目录配置
一.权限对文件的重要性 1.r(read):可读取此文件的实际内容,读取文本文件的文字内容等. 2.w(write):可以编辑,新增或者是修改该文件的内容. 3.x(execute):该文件具有可以被 ...
- linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)
本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...
随机推荐
- Java基础篇(下)
6.Java面向对象的三个特征与含义 三大特征是:继承.封装和多态. (1)继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得 ...
- Java自学-类和对象 this
Java 中的 this this 这个关键字,相当于普通话里的"我" 小明说 "我吃了" 这个时候,"我" 代表小明 小红说 " ...
- .NET CORE 动态加载 DLL 的问题
有个系统, 需要适应不同类型的数据库(同时只使用其中一种),如果把数据库操作层提取出来,然后针对不同的数据库使用不同的 DLL, 再根据不同的项目使用不同的库, 在以前的 ASP.NET 中, 直接把 ...
- $parsers & $formatters
一.理解 $parsers 和 $formatters Angular 是MVVM框架,model层数据变化了会通知view层更新,同样的view层更新了也会通知到model $parsers 和 $ ...
- 使用node写爬虫入门
最近看了node能做爬虫,所以就试了一下,一下是整个过程的记录 1.新建文件夹baidunews 2.在上边新建的文件夹下输入npm init进行初始化 3.初始化完成后下载需要的依赖包 npm in ...
- 16、css实现div中图片占满整个屏幕
<div class="img"></div> .img{ background: url("../assets/image/img.png&qu ...
- spring注入注解@Resource和@Autowired
一.@Autowired和@Qualifier @Autowired是自动注入的注解,写在属性.方法.构造方法上,会按照类型自动装配属性或参数.该注解,可以自动装配接口的实现类,但前提是spring容 ...
- IP切换小技巧
说到这个问题很多人都有同感.公司一般使用的都是静态的IP(如图:使用下面的IP地址),而我们在外面是用的一般是动态获取的IP(如图:自动获得IP地址),因此就产生了一个问题,需要来回切换IP,也就是需 ...
- HTTP认识
一.相关名词解释 1. 超文本:是指包含指向其他文档的超链接的文本 2. 万维网:简称web,是一个分布式的超媒体系统,它是超文本系统的扩充,以客户-服务器方式工作 3. 超媒体:文档包含文本,图片, ...
- 17、Python面向对象高级
一.isinstance和issubclass type():不会认为子类实例是一种父类类型: isinstance():认为子类实例是一种父类类型. issubclass():判断是否为其子类. c ...