Linux 的目录树

合集下载

linux操作系统的结构及详细说明

linux操作系统的结构及详细说明

linux操作系统的结构及详细说明linux的操作系统的结构你了解多少呢?下面由店铺为大家整理了linux操作系统的结构及详细说明的相关知识,希望对大家有帮助!linux操作系统的结构及详细说明:一、 linux内核内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。

系统调用接口:SCI 层提供了某些机制执行从用户空间到内核的函数调用。

这个接口依赖于体系结构,甚至在相同的处理器家族内也是如此。

SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务。

在 ./linux/kernel 中您可以找到 SCI 的实现,并在 ./linux/arch 中找到依赖于体系结构的部分。

1. 内存管理对任何一台计算机而言,其内存以及其它资源都是有限的。

为了让有限的物理内存满足应用程序对内存的大需求量,Linux 采用了称为“虚拟内存”的内存管理方式。

Linux 将内存划分为容易处理的“内存页”(对于大部分体系结构来说都是 4KB)。

Linux 包括了管理可用内存的方式,以及物理和虚拟映射所使用的硬件机制。

不过内存管理要管理的可不止 4KB 缓冲区。

Linux 提供了对 4KB 缓冲区的抽象,例如 slab 分配器。

这种内存管理模式使用 4KB 缓冲区为基数,然后从中分配结构,并跟踪内存页使用情况,比如哪些内存页是满的,哪些页面没有完全使用,哪些页面为空。

这样就允许该模式根据系统需要来动态调整内存使用。

为了支持多个用户使用内存,有时会出现可用内存被消耗光的情况。

由于这个原因,页面可以移出内存并放入磁盘中。

这个过程称为交换,因为页面会被从内存交换到硬盘上。

内存管理的源代码可以在 ./linux/mm 中找到。

2 .进程管理进程实际是某特定应用程序的一个运行实体。

linux中mkdir命令的作用

linux中mkdir命令的作用

linux中mkdir命令的作用mkdir命令是Linux系统中的一个用于创建目录的命令。

mkdir是make directory的缩写,意为“创建目录”。

在Linux操作系统中,目录是用来组织和存储文件的一种方式。

使用mkdir命令,用户可以快速创建一个或多个目录,并在指定的路径上创建这些目录。

mkdir命令的一般语法格式如下:mkdir [选项]目录...其中,选项包括:-p:递归创建目录,如果上级目录不存在,则一并创建。

-v:显示创建的每个目录。

-m模式:指定创建的目录的权限模式。

下面将详细说明mkdir命令的作用及其常用选项和用法。

1.创建单个目录:使用mkdir命令最简单的用法就是创建一个单个目录。

只需在命令后面跟上想要创建的目录的名称即可。

例如,要在当前目录下创建一个名为"test"的目录,可以执行以下命令:mkdir test2.创建多个目录:要在同一次命令中创建多个目录,只需要在命令后面跟上要创建的目录的名称,用空格隔开即可。

例如,要在当前目录下创建三个目录,分别为"dir1"、"dir2"和"dir3",可以执行以下命令:mkdir dir1 dir2 dir33.创建嵌套目录:如果需要在已经存在的目录结构中创建嵌套目录,可以使用-p选项。

该选项会自动创建上层目录,如果上层目录不存在的话。

例如,要在当前目录下创建嵌套的目录"test/dir1",可以执行以下命令:mkdir -p test/dir14.指定目录权限:默认情况下,使用mkdir命令创建的目录的权限是drwxr-xr-x,也就是755权限。

如果需要创建具有不同权限的目录,可以使用-m选项。

该选项后跟一个三位数字,用于指定目录的权限模式。

例如,要创建一个权限为750的目录,可以执行以下命令:mkdir -m 750 test5.显示创建的目录:默认情况下,mkdir命令不会显示任何输出信息。

Linux目录树

Linux目录树
1.1.3 文件类型 RedFlagServer4.1 系统支持以下文件类型:普通文件、目录文件、设备文件以及符号链接文件。 普通文件:包括文本文件、数据文件、可执行的二进制程序等。 目录文件:简称目录,Linux 中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。每个目录文件中至少包括两个文件, “..”表示上一级目录,“.”表示该目录本身。 设备文件:设备文件是一种特别文件,Linux 系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别设备文件: 字符设备和块设备。 符号链接:一种特殊文件,它们存放的数据是文件系统中通向某个文件的路径。当使用符号链接文件时,系统自动地访问所保存的这个路 径。
1.2.2 改变工作目录 进入一个目录,或者说改变当前工作目录使用 cd 命令,其命令的语法格式为: cd 目录名 cd 命令带有唯一的一个参数,即表示目标目录的路径名(相对路径名或绝对路径名)。 利用点点(..)把工作目录向上移动一级目录:cd.. 为了从系统中的任何地方返回到用户主目录,可以使用不带任何参数的 cd 命令。
Linux 的目录树
第 1 章命令行操作 熟悉在命令行界面下工作对使用和管理 Linux 操作系统具有很大的意义,本章介绍在 RedFlagServer4.1 系统中进行 shell 操作的知识。
1.1 基础知识 以下关于 Linuxshell 及文件和目录的知识是学习本章的基础。
1.1.1 文件命名 Linux 下文件名的最大长度可以是 256 个字符,通常由字母、数字、“.”(点号)、“_”(下划线)和“-”(减号)组成。文件名中不能含有“/” 符号,因为“/”在 Linux 目录树中表示根目录或路径中的分隔符(如同 DOS 中的“\”)。 Linux 系统中支持文件名中的通配符,具体如下: 星号(*):匹配零个或多个字符; 问号(?):匹配任何一个字符; [ab1A-F]:匹配任何一个列举在集合中的字符。本例中,该集合是 a、b、1 或任何一个从 A 到 F 的大写字符;

linux操作系统文件类型有哪几种

linux操作系统文件类型有哪几种

linux操作系统文件类型有哪几种,有什么区别一、Linux文件结构文件结构是文件存放在磁盘等存贮设备上的组织方法。

主要体现在对文件和目录的组织上。

目录提供了管理文件的一个方便而有效的途径。

Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。

/根目录┃┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓┃┃┃┃┃┃┃┃┃bin home dev etc lib sbin tmp usr var┃┃┏━┻━┓┏━━┳━━┳━━┳━┻━┳━━┓┃┃┃┃┃┃┃┃rc.d cron.d X11R6 src lib local man bin┃┏━━━┳━━┳━┻━┳━━━┓┃┃┃┃┃init.d rc0.d rc1.d rc2.d …… linux bin lib srcLinux采用的是树型结构。

最上层是根目录,其他的所有目录都是从根目录出发而生成的。

微软的DOS和windows也是采用树型结构,但是在DOS和windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。

但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。

从结构上讲,各个磁盘分区上的树型目录不一定是并列的。

如果这样讲不好理解的话,我来举个例子:有一块硬盘,分成了4个分区,分别是/;/boot;/usr和windows下的fat 对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。

如果我把windows下的fat分区挂载到/mnt/winc下,(挂载??哦,别急,呵呵,一会就讲,一会就讲。

)那么对于/mnt/winc和/usr或/mnt/winc和/boot 来说,它们是从属于目录树上没有任何关系的两个分支。

因为linux是一个多用户系统,制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理。

Ubuntu Linux操作系统第3版(微课版)—第3章

Ubuntu Linux操作系统第3版(微课版)—第3章

Linux目录配置标准——FHS
• Linux系统常用的目录
目录 /bin /boot /dev /etc /home /lib /media /mnt /root /proc /sbin /usr /var
说明 存放用于系统管理维护的常用实用命令文件 存放用于系统启动的内核文件和引导装载程序文件 存放设备文件 存放系统配置文件,如网络配置、设备配置、X Window系统配置等 各个用户的主目录,其中的子目录名称即为各用户名 存放动态链接共享库(其作用类似于Windows里的.dll文件) 为光盘、软盘等设备提供的默认挂载点 为某些设备提供的默认挂载点 root用户主目录。不要将其与根目录混淆 系统自动产生的映射。查看该目录中的文件可获取有关系统硬件运行的信息 存放系统管理员或者root用户使用的命令文件 存放应用程序和文件 保存经常变化的内容,如系统日志、打印
3.1 Linux文件与目录概述
Linux文件类型
第3章 文件与目录 10
• 设备文件 • 设备文件是一种特殊文件,用于存放在文件索引节点中的信息。 • 设备文件又可分为两种类型:字符设备文件和块设备文件。
• 链接文件 • 一种特殊文件,提供对其他文件的参照。它们存放的数据是文件系统中通向文件的 路径。 • 链接文件有两种,分别是符号链接(Symbolic Link)和硬链接(Hard Link)。
• Linux的特殊目录
目录 / . ..
说明 根目录 当前目录 上一层目录
目录 ~ ~用户名
说明 上一次工作目录 当前登录用户的主目录 特定用户账户的主目录
3.1 Linux文件与目录概述
Linux目录结构
• Linux目录树
C:\ D:\

fhs标准

fhs标准

fhs标准FHS标准(Filesystem Hierarchy Standard)是一种规范化的Linux文件系统布局标准,它定义了Linux文件系统的各个目录的用途和作用。

FHS标准旨在提高Linux操作系统的一致性和可依赖性,使不同的Linux发行版交互性更好。

其目的是确保软件在不同Linux发行版上可以运行,而不需要做出大量调整。

FHS标准定义了一个基本的目录树结构,它由一系列独立的目录和子目录组成,这些目录用于存储各种系统组件和应用程序所需的文件。

具体来说,FHS标准定义了以下几个主要目录:/bin - 用于存储可执行文件,它们是用于开机自启动的系统命令和工具。

/boot - 用于存储Linux内核和引导程序。

/dev - 用于存储设备文件,是Linux中最重要的目录之一。

/etc - 用于存储系统配置文件(例:网络配置文件,服务启动脚本)和管理工具所需的配置文件。

/home - 用于存储用户家目录,包括个人文档、音乐、图片等等。

/lib - 用于存储与开机自启动有关的动态链接库文件。

/media - 用于存储可移动存储介质(例:U盘、移动硬盘等等)的挂载点。

/mnt - 用于存储暂时性挂载点。

/opt - 用于存储第三方应用程序,如Oracle数据库系统。

/proc - 用于存储系统进程及系统状态信息,以及与进程状态有关的文件。

/root - 管理员根目录,用于存储root用户的文件。

/sbin - 类似于/bin目录,是存储系统命令和工具的目录,这个目录中的脚本程序只有root用户才可以执行。

/tmp - 用于存储暂时性文件,定期被清理。

/usr - 用于存储所有用户安装软件的目录。

/var - 用于存储可变数据,包括日志文件、缓存文件、邮件等。

FHS标准不仅定义了目录结构,还定义了一些规范,如文件命名规范、目录名字规范等等。

这些规范的遵守可以提高长期运行的Linux 系统的稳定性。

Linux2 Fedora目录结构

Linux2  Fedora目录结构

Linux2 Fed ora目录结构在前面的介绍中可以知道,Linux采用了树状目录结构,Fedora也同样采用了相同结构的目录树,以根目录开始,向下扩展成整个目录结构。

对于初学者需要注意的是,Fedora目录之间的划分使用是“/”,而在Windows 操作系统中使用“\”。

例如在Fedora中访问一个目录可以使用“/dev/disk”,而在Windows操作系统则是“C:\windows”。

另外,Fedora中是区分大小写的,如“disk”目录和“DISK”目录是不同的。

安装好Fedora Core 6之后,默认在根目录中有许多目录,他们存放着不同的信息与资料,下面就对Fedora Core 6中目录的功能及作用进行简要说明。

●/ 根目录类似于Windows操作系统的“C:\”,包含Fedora系统中所有的目录和文件。

●/bin 该目录存放Fedora使用的各种命名程序。

如cp、dmesg、kill、login、rm和ping等命令,还有各种shell命令。

●/boot 存放系统核心文件以及启动必需读取的文件等。

●/dev 保存着外围设备代码的文件,这些文件比较特殊,实际它们都指向所代表的外围设备。

●/etc 存放系统的配置文件。

例如,记录用户帐号名称passwd文件、投影密码shadow文件等。

●/etc/rc.d 该目录保存了启动或关机时所执行的脚本文件。

●/etc/X11 该目录保存了X Window System系统的配置文件。

●/home 用户文件的主目录,用户数据存放在主目录中。

●/lib 存放必要的运行库。

●/lib/modules 系统的核心模块被保存在该目录中。

某些可被模块化的部分,并不需要在编译系统核心时放入核心本体,避免本体过于庞大导致效率降低。

●/lost+found 系统出现错误或发生问题时,Fedora会自动扫描磁盘驱动器,修正错误,如果找到遗失或错误的片断,这些片断将被转化成文件存放于此,等待管理员进一步处理。

Linux中的文件和目录结构详解

Linux中的文件和目录结构详解

Linux中的⽂件和⽬录结构详解 对于每⼀个Linux学习者来说,了解Linux⽂件系统的⽬录结构,是学好Linux的⾄关重要的⼀步.,深⼊了解linux⽂件⽬录结构的标准和每个⽬录的详细功能,对于我们⽤好linux系统只管重要,下⾯我们就开始了解⼀下linux⽬录结构的相关知识。

当在使⽤Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的⽬录,⽐如etc、usr、var、bin ... ... 等⽬录,⽽在这些⽬录中,我们进去看看,发现也有很多的⽬录或⽂件。

⽂件系统在Linux下看上去就象树形结构,所以我们可以把⽂件系统的结构形象的称为树形结构。

⽂件系统的是⽤来组织和排列⽂件存取的,所以它是可见的,在Linux中,我们可以通过ls等⼯具来查看其结构,在Linux系统中,我们见到的都是树形结构;⽐如操作系统安装在⼀个⽂件系统中,它表现为由/ 起始的树形结构。

linux⽂件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的⽂件系统。

Linux的⽂件系统的⼊⼝就是/,所有的⽬录、⽂件、设备都在/之下,/就是Linux⽂件系统的组织者,也是最上级的领导者。

由于linux是开放源代码,各⼤公司和团体根据linux的核⼼代码做各⾃的操作,编程。

这样就造成在根下的⽬录的不同。

这样就造成个⼈不能使⽤他⼈的linux系统的PC。

因为你根本不知道⼀些基本的配置,⽂件在哪⾥。

这就造成了混乱。

这就是FHS(Filesystem Hierarchy Standard )机构诞⽣的原因。

该机构是linux爱好者⾃发的组成的⼀个团体,主要是是对linux做⼀些基本的要求,不⾄于是操作者换⼀台主机就成了linux的‘⽂盲’。

事实上,FHS是根据过去的经验⼀直再持续的改版的,FHS依据⽂件系统使⽤的频繁与否与是否允许使⽤者随意更动,⽽将⽬录定义成为四种交互作⽤的形态,⽤表格来说有点像底下这样:可分享的(shareable)不可分享的(unshareable)不变的(static)/usr (软件放置处)/etc (配置⽂件)/opt (第三⽅协⼒软件)/boot (开机与核⼼档)可变动的(variable)/var/mail (使⽤者邮件信箱)/var/run (程序相关) /var/spool/news (新闻组)/var/lock (程序相关)四中类型:1.可分享的: 可以分享给其他系统挂载使⽤的⽬录,所以包括执⾏⽂件与⽤户的邮件等数据,是能够分享给⽹络上其他主机挂载⽤的⽬录;2.不可分享的: ⾃⼰机器上⾯运作的装置⽂件或者是与程序有关的socket⽂件等,由于仅与⾃⾝机器有关,所以当然就不适合分享给其他主机了。

linux中tree的源码

linux中tree的源码

linux中tree的源码全文共四篇示例,供读者参考第一篇示例:在Linux操作系统中,tree命令是一款非常实用的工具,它可以帮助用户以树状图的形式展示文件夹及文件的结构,让用户更直观地了解目录的层次关系。

不过,你是否想过tree命令的背后是如何实现的呢?其实,tree命令的源码是开源的,我们可以通过阅读其源码来深入了解其实现原理。

tree命令的源码主要由C语言编写,其核心功能在tree.c文件中实现。

在阅读源码之前,我们需要了解tree命令的基本功能:1. 遍历指定目录下的所有文件夹及文件;2. 以树状图的形式展示目录结构;3. 支持控制输出格式,如显示文件大小、文件权限等信息;4. 支持过滤指定文件或文件夹;5. 支持递归展示子目录。

接下来,让我们深入分析tree命令的源码实现:1. 主函数:tree命令的主函数主要负责解析命令行参数,并调用相应的函数实现功能。

在主函数中,通过解析命令行参数获取用户的选项,如-a(显示所有文件)、-h(以人类可读的形式显示文件大小)等。

2. 遍历目录:tree命令的核心功能是遍历目录树并以树状图的形式展示。

在tree.c文件中,定义了一个名为print_tree的函数,该函数通过递归方式遍历目录,并输出目录结构。

在遍历目录时,需要注意排除当前目录和父目录(.和..)以及过滤用户指定的文件或文件夹。

3. 输出格式:tree命令支持多种输出格式,如显示文件大小、文件权限等信息。

在tree.c文件中,定义了多个辅助函数用于输出文件信息,如print_size函数用于输出文件大小,print_mode函数用于输出文件权限等。

4. 递归展示:当tree命令遍历目录时,如果遇到子目录,需要递归展示子目录下的文件及目录。

在print_tree函数中,通过调用自身实现递归展示目录。

递归展示子目录是tree命令实现树状展示的关键之一。

第二篇示例:在Linux系统中,tree命令是一个非常常用的工具,它可以以树状结构显示指定目录下的所有文件和子目录。

linux中tree的源码

linux中tree的源码

Linux中tree的源码tree 是一个在Linux 系统中常用的命令行工具,用于显示目录结构的树形图。

它的源码是用C 语言编写的。

以下是一个简单的 tree 命令的源码示例。

这个示例版本非常简单,不包含所有 tree 命令的功能,但它演示了如何使用递归函数来显示目录树。

c复制代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<dirent.h>#include<sys/stat.h>#include<unistd.h>#define MAX_PATH 1024void print_directory(const char *path, int depth) {DIR *dir;struct dirent *entry;char full_path[MAX_PATH];if (!(dir = opendir(path))) {perror("opendir");return;}while ((entry = readdir(dir))) {if (strcmp(entry->d_name, ".") == 0 ||strcmp(entry->d_name, "..") == 0) {continue;}snprintf(full_path, sizeof(full_path), "%s/%s", path, entry->d_name);for (int i = 0; i < depth; i++) {printf(" ");}printf("%s\n", entry->d_name);if (entry->d_type == DT_DIR) {print_directory(full_path, depth + 1);}}closedir(dir);}int main(int argc, char *argv[]) {if (argc != 2) {fprintf(stderr, "Usage: %s <directory>\n", argv[0]);return1;}print_directory(argv[1], 0);return0;}这个示例中的 print_directory 函数使用递归方式遍历指定目录下的所有文件和子目录,并根据目录的深度打印出相应的缩进。

文件系统的目录结构

文件系统的目录结构

文件系统的目录结构在Linux下,用户所见到的文件空间是基于树状结构的,树的根在顶部。

在这个空间中的各种目录和文件从树根向下分支,顶层目录(/)被称为根目录。

Linux操作系统由一些目录和许多文件组成。

根据用户选择的安装不同,这些目录可能是不同的文件系统。

通常,大多数操作系统都驻存在两个文件系统上:即称为/的根文件系统和安装在/usr下的文件系统。

如果你用cd /命令将当前目录改变到根目录,并用ls命令列出目录清单,你就会看到一些目录。

这些目录组成了根文件系统的内容,它们也为其他文件系统提供了安装点。

/bin目录包含称为二进制(binary)文件的可执行程序(事实上,名为/bin的目录是binary的缩写)。

这些程序是必需的系统文件,许多Linux命令(如ls)放在该目录中。

/sbin目录也用于存储系统二进制文件。

这个目录中的大多数文件用于管理系统。

/etc目录非常重要,它包含许多Linux系统配置文件。

从本质上说,这些文件使你的Linux系统具有自己的个性。

口令文件(口令)就放在这里,在启动时安装的文件系统列表(fstab)也放在这里。

另外,这个目录还包括Linux的启动脚本、你想要永久记录的、带IP地址的主机列表和许多其他类型的配置信息。

/lib目录中存储着程序运行时使用的共享库被存储在此。

通过共享库,许多程序可以重复使用相同的代码,并且这些库可以存储在一个公共的位置上,因此能减小运行程序的大小。

/dev目录包含称为设备文件的特殊文件,这些文件用于访问系统上所有不同类型的硬件。

例如,/dev/mouse文件是用于读取鼠标输入的。

通过用这种方法组织对硬件设备的访问,Linux有效地使硬件设备的接口看起来就象一个文件。

这意味着在许多情况下,你可以用对软件使用的相同语法来对计算机的硬设备进行操作。

例如,为了在软盘驱动器上建立你的起始目录的磁盘档案,你可以使用下面的命令:tar -cdf /dev/fd0 tackett/dev目录中的许多设备都放在逻辑组中,下表列出了/dev目录中一些最常用/proc目录实际上是一个虚拟文件系统,它被用于从内存中读取处理信息。

linux的根目录下各个目录的基本含义

linux的根目录下各个目录的基本含义

rc.d的内容如下:init.d/ :各种服务器和程序的二进制文件存放目录。

rcx.d/: 各个启动级别的执行程序连接目录。

里头的东西都是指向init.d/的一些软连接。

具体的后边叙述。

还有三个脚本:rc.sysinit, rc, rc.localredhat的启动方式和执行次序是:加载内核执行init程序/etc/rc.d/rc.sysinit # 由init执行的第一个脚本/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式/etc/rc.d/rc.local/sbin/mingetty # 等待用户登录在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:调入keymap以及系统字体启动swapping设置主机名设置NIS域名检查(fsck)并mount文件系统打开quota装载声卡模块设置系统时钟等等。

/etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。

凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。

调用的顺序按xx 从小到大来执行。

例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用/etc/rc.d/rc3.d/下的脚本。

值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。

init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。

至此,LINUX的启动结束。

Linux操作系统中的文件目录结构“/”根目录部分有以下子目录:/usr 目录包含所有的命令、程序库、文档和其它文件。

linux2.6.32内核源码树解析与整理

linux2.6.32内核源码树解析与整理

linux2.6.32内核源码树解析与整理⼀系统最核⼼组件⽬录:1 arch⽬录该⽬录中的每个⼦⽬录中都与某种体系结构相对应,⽤于存放体系结构相关代码,向平台⽆关的系统核⼼模块提供所需的功能接⼝。

每个体系结构对应的⼦⽬录下通常⾄少包含以下⼏个⼦⽬录:boot⼦⽬录、kernel⼦⽬录、lib⼦⽬录、mm⼦⽬录。

2 include⽬录这个⽬录包含了Linux源代码⽬录树中绝⼤部分头⽂件,每个体系架构都在该⽬录下对应⼀个⼦⽬录,该⼦⽬录中包含了给定体系结构所必需的宏定义和内联函数。

3 init⽬录该⽬录中存放的是系统核⼼初始化代码,内核初始化⼊⼝函数start_kernel就是在该⽬录中的⽂件main.c内实现的。

4 kernel⽬录该⽬录中存放的是Linux内核的最核⼼的代码,⽤于实现系统的核⼼模块,这些模块包括:进程管理、进程调度器、中断处理、系统时钟管理、同步机制等。

5 lib⽬录:该⽬录主要包含两部分内容:gnuzip解压缩算法,⽤于在系统启动过程中将压缩的内核镜像解压缩;剩余的⽂件⽤于实现⼀个C库的⼦集,主要包括字符串和内存操作等相关函数。

6 mm⽬录该⽬录包含了体系结构⽆关的内存管理代码,包括通⽤的分页模型的框架、伙伴算法的实现和对象缓冲器slab的实现代码。

7 scripts⽬录:该⽬录中不包含任何核⼼代码,该⽬录下存放了⽤来配置内核的脚本和应⽤程序源码。

⼆系统次核⼼组件包括:1 block⽬录:⽤于实现块设备的基本框架和块设备的I/O调度算法。

2 crypto⽬录:该⽬录中存放了相关的加密算法的代码。

3 driver⽬录:⽤于存放各类设备的驱动程序。

4 Documentation⽬录:存放了与内核相关的⽂档。

5 fs⽬录:包含linux内核⽀持的众多⽂件系统。

6 ipc⽬录:该⽬录中的⽂件⽤于实现System V的进程间通信模块。

7 net⽬录:包含各种⽹络协议。

8 sound⽬录:存放了声⾳系统架构,如Open Sound System(OSS)、Advanced Linux Sound Architecture(ALSA)的相关代码和具体声卡的设备驱动程序。

linux系统的find用法

linux系统的find用法

linux系统的find用法在Linux系统中,find命令用于在目录树中查找文件,并可以对找到的文件执行一些操作。

以下是find命令的一些常见用法和选项:查找文件或目录:查找当前目录及其子目录下的所有文件:find .查找指定目录下的所有文件:find /path/to/directory查找名为filename的文件:find . -name filename使用通配符查找,如查找所有以.txt结尾的文件:find . -name "*.txt"根据文件类型查找:查找所有目录:find . -type d查找所有普通文件:find . -type f查找所有符号链接:find . -type l根据文件大小查找:查找大于1MB的文件:find . -size +1M查找小于1MB的文件:find . -size -1M查找恰好为1MB的文件:find . -size 1M根据文件时间查找:查找在过去7天内被修改过的文件:find . -mtime -7查找在7天前被修改过的文件:find . -mtime +7查找恰好在7天前被修改过的文件:find . -mtime 7执行命令:对找到的文件执行命令,如删除所有.bak文件:find . -name "*.bak" -exec rm {} \;在执行命令前进行确认,如删除所有.bak文件并询问:find . -name "*.bak" -ok rm {} \;逻辑运算符:查找名为file1或file2的文件:find . -name "file1" -o -name "file2"查找既是普通文件又大于1MB的文件:find . -type f -a -size +1M注意:find命令非常强大,但也具有潜在的危险性,特别是在使用-exec或-delete选项时。

Linux下各个文件夹的结构说明及用途介绍(超详细)

Linux下各个文件夹的结构说明及用途介绍(超详细)

Linux下各个⽂件夹的结构说明及⽤途介绍(超详细)linux下各⽂件夹的结构说明及⽤途介绍:下⾯给⼤家分享下 ——电⼦版/bin:⼆进制可执⾏命令。

/dev:设备特殊⽂件。

/etc:系统管理和配置⽂件。

/etc/rc.d:启动的配置⽂件和脚本。

/home:⽤户主⽬录的基点,⽐如⽤户user的主⽬录就是/home/user,可以⽤~user表⽰。

/lib:标准程序设计库,⼜叫动态链接共享库,作⽤类似windows⾥的.dll⽂件。

/sbin:系统管理命令,这⾥存放的是系统管理员使⽤的管理程序。

/tmp:公⽤的临时⽂件存储点。

/root:系统管理员的主⽬录。

/mnt:系统提供这个⽬录是让⽤户临时挂载其他的⽂件系统。

/lost+found:这个⽬录平时是空的,系统⾮正常关机⽽留下“⽆家可归”的⽂件就在这⾥。

/proc:虚拟的⽬录,是系统内存的映射。

可直接访问这个⽬录来获取系统信息。

/var:某些⼤⽂件的溢出区,⽐⽅说各种服务的⽇志⽂件。

/usr:最庞⼤的⽬录,要⽤到的应⽤程序和⽂件⼏乎都在这个⽬录。

其中包含:/usr/x11r6:存放x window的⽬录。

/usr/bin:众多的应⽤程序。

/usr/sbin:超级⽤户的⼀些管理程序。

/usr/doc:linux⽂档。

/usr/include:linux下开发和编译应⽤程序所需要的头⽂件。

/usr/lib:常⽤的动态链接库和软件包的配置⽂件。

/usr/man:帮助⽂档。

/usr/src:源代码,linux内核的源代码就放在/usr/src/linux ⾥。

/usr/local/bin:本地增加的命令。

/usr/local/lib:本地增加的库根⽂件系统。

通常情况下,根⽂件系统所占空间⼀般应该⽐较⼩,因为其中的绝⼤部分⽂件都不需要经常改动,⽽且包括严格的⽂件和⼀个⼩的不经常改变的⽂件系统不容易损坏。

除了可能的⼀个叫/vmlinuz标准的系统引导映像之外,根⽬录⼀般不含任何⽂件。

linux mount流程

linux mount流程

linux mount流程
Linux中的挂载(mount)是将一个文件系统连接到文件系统目录树的过程。

下面我将从多个角度来解释Linux中挂载的流程。

1. 准备文件系统,在进行挂载之前,首先需要准备好要挂载的文件系统。

这可以是硬盘分区、移动设备(如USB闪存驱动器)、网络文件系统(NFS)等。

文件系统需要处于可用状态,且没有被其他进程占用。

2. 挂载点的准备,在Linux中,挂载点是文件系统连接到文件系统目录树的位置。

通常情况下,我们会在根目录下创建一个空目录作为挂载点,比如`/mnt`或`/media`目录。

3. 执行挂载命令,一旦文件系统和挂载点准备就绪,就可以执行挂载命令了。

在终端中,可以使用`mount`命令来执行挂载操作。

例如,如果要将名为`/dev/sdb1`的分区挂载到`/mnt/usb`目录,可以使用命令`sudo mount /dev/sdb1 /mnt/usb`。

4. 检查挂载结果,执行挂载命令后,系统会将指定的文件系统挂载到指定的挂载点上。

可以使用`df -h`命令查看当前已挂载的文
件系统列表,以确认挂载是否成功。

5. 自动挂载,在Linux中,还可以通过编辑`/etc/fstab`文件来实现开机自动挂载。

在这个文件中,可以配置系统在启动时自动挂载指定的文件系统到指定的挂载点上。

总的来说,Linux中挂载的流程包括准备文件系统、准备挂载点、执行挂载命令、检查挂载结果以及可选的自动挂载配置。

这些步骤确保了文件系统能够正确连接到文件系统目录树,从而对用户和应用程序可见并可访问。

第03章 Linux的文件权限与目录的配置

第03章 Linux的文件权限与目录的配置
在DOS/Windows系统中,文件的属性有:只读、隐藏、 系统和存档四种。而在Linux系统中,文件的属性主要包括文件 类型和文件权限两个方面,如图1所示。
1.1.1 文件类型
在Linux系统中,文件是Linux操作系统的基本数据组织单 位,所有的输入输出都是通过文件实现的,系统处理的任何设 备和数据均可以归结为对文件的操作。从理论上讲,能够读写 普通文件的任何程序都可以读写任何I/O设备。
例:给某文本文档建立软链接 利用软链接,可以照顾用户以往的上机习惯,把之前常用的 命令名链接到新增的命令,实现命令名字的借用或者间接引用。
软链接和硬链接的对比
软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系 统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬链接为文件 开设一个新的目录 项,硬链接与文件原有的名字是平权的,在Linux看来它 们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。 (1)软链接可以 跨文件系统 ,硬连接不可以 。 (2)软链接可以对一个不存在的文件名进行连接 。 (3)软链接可以对目录进行连接。
Linux文件系统中,提供下述文件操作:
open\create\read\write等。
目录文件 用于存放文件名和其他有关文件信息的文件,即用于检索文 件的文件。目录文件可以包含下一级目录文件和普通文件,每 一级的目录文件都是如此以便在系统中形成一棵目录树。 Linux的目录文件由目录项构成,它包括两个部分:即文件 名和文件号(信息节点号),文件号被称作i节点号 i_number。
接下来的属性中,三个为一组rwx
例:若有一个文件的类型与权限数据为“-rwxr-xr—”,请说 明其意义。
第二列代表有多少文件名连接到此节点(i-node) 每个文件名都会连接到一个i-node

第5单元-Linux目录管理

第5单元-Linux目录管理

Linux目录配置标准:FHS
主要目的是希望让使用者可以了览到已安装软件通常放置在那个目录下, 所以 他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户,都 能够遵循FHS的标准。 也就是说,FHS的重点在于规范每个特定的目彔下应该 要放置什举样子的数据而已。FHS是根据过去的经验一直再持续的改版的, FHS依据文件系统使用的频繁与否与是否允讲使用者随意更劢, 而将目彔随意 改动丿成为四种交互作用的形态,用表格来说有点像底下这样 可分享的(shareable) 不可分享的 (unshareable) /etc (配置文件) /boot (开机不核心档)
结束
The end Thanks
/etc:这个目录相当重要,如前所述,你的开机与 系统数据文件均在这个目录之下,因此当这个目录 被破坏,那你的系统大概也就差不多该死掉了!而 在往后的文件中,你会发现我们常常使用这个目录 下的 /etc/rc.d/init.d 这个子目录,因为这个 init.d 子目录是开启一些 Linux 系统服务的 scripts (可 以想成是 批次檔 )的地方。而在 /etc/rc.d/rc.local 这个档案是开机的执行档,有点像是旧 Windows 系统下的 autoexec.bat 及 config.sys 檔。所以, 如果你有需要在开机加载的服务或执行档案,可以 写在这个档案的最后一行,则开机时就会自动帮你 加载执行档了!
RHEL6的观察
Uname -r -a Cat /etc /issuc
5、强制位与冒险位 强制位与冒险位描述 对创建者设置强制位 对组设置强制位 对其他用户设置冒险位 通过数字来设置权限
5.1、强制位与冒险位描述 在Linux系统中文件除了有读写执行权限外, ext2文件系统还支持强制位(setuid 、setgid) 与冒险位(sticky)的特别权限。 针对文件创建者可以添加强制位(setuid),文件 属组也可以添加强制位(setgid),针对其它用户 有可以添加冒险位(sticky)。 强制位与冒险位添加在执行权限(x)的位置上 。如果该位置上原已有执行权限,则强制位与冒 险位以小写字母(s或t)的方式表示,否则,以大 写字母(S或T)表示。

linux目录结构及作用

linux目录结构及作用
/usr/local [重点] 这是另个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的 程序。
/var [重点] 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录 下。包括各种日志文件。
/selinux [security-enhanced linux] 类似 360 Selinux 是一种安全子系统,它能控制程序只能访同特定文件。 3.3 Linux 目录总结一下 1) linux 的目录中有且只要一个根目录 / 2) linux 的各个目录存放的内容是规划好,不用乱放文件。 3) linux 是以文件的形式管理我们的设备,因此 linux 系统,一切皆为文件。 4) linux 的各个文件目录下存放什么内容,大家必须有一个认识。 5) 学习后,你脑海中应该有一颗 linux 目录树。
是 Binary 的缩写,这个目录存放着经常使用的命令 /sbin (usr/sbin、/usr/local/sbin) s 就是 super user 的意思,这里存放的是系统管理员使用的系统管理程序 /home [重点] 存放普通用户的主目录,在 Linux 中的每个用户都有一个自己的目录,一般该 目录一用户的账号名命名 /root [重点] 该目录为系统管理员,超级权限者的用户目录 /boot 存放的启动 Linux 时使用的一些核心文件,包括一些链接文件和镜像文件 /proc 虚拟目录,是系统内存的映射,访问这个目录来获取系统信息。 /srv service 的缩写,该目录是存放一些服务启动之后需要提取的数据 /sys Linux2.6 内核的一个很大变化,该目录安装了 2.6 内核中新出现的一个文件系 统 /tmp 存放临时文件 /dev 类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux 的目录树第1章命令行操作熟悉在命令行界面下工作对使用和管理Linux操作系统具有很大的意义,本章介绍在RedFlagServer4.1系统中进行shell操作的知识。

1.1基础知识以下关于Linuxshell及文件和目录的知识是学习本章的基础。

1.1.1文件命名Linux下文件名的最大长度可以是256个字符,通常由字母、数字、―.‖(点号)、―_‖(下划线)和―-‖(减号)组成。

文件名中不能含有―/‖符号,因为―/‖在Linux目录树中表示根目录或路径中的分隔符(如同DOS中的―\‖)。

Linux系统中支持文件名中的通配符,具体如下:星号(*):匹配零个或多个字符;问号(?):匹配任何一个字符;[ab1A-F]:匹配任何一个列举在集合中的字符。

本例中,该集合是a、b、1或任何一个从A到F的大写字符;1.1.2路径操作系统查找文件所经过的路径称为路径名。

使用当前目录下的文件时可以直接引用文件名;如果要使用其他目录下的文件,就必须指明该文件在哪个目录之中。

按查找文件的起点不同可以分为两种路径:绝对路径和相对路径。

从根目录开始的路径称为绝对路径,从当前所在目录开始的路径称为相对路径,相对路径是随着用户工作目录的变化而改变的。

与DOS相同,每个目录下都有代表当前目录的―.‖文件和代表当前目录父目录的―..‖文件,相对路径名一般就是从―..‖开始的。

在Linux目录树中,表示根目录或是路径中的分隔符是―/‖。

1.1.3文件类型RedFlagServer4.1系统支持以下文件类型:普通文件、目录文件、设备文件以及符号链接文件。

普通文件:包括文本文件、数据文件、可执行的二进制程序等。

目录文件:简称目录,Linux中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。

每个目录文件中至少包括两个文件,―..‖表示上一级目录,―.‖表示该目录本身。

设备文件:设备文件是一种特别文件,Linux系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。

有两类特别设备文件:字符设备和块设备。

符号链接:一种特殊文件,它们存放的数据是文件系统中通向某个文件的路径。

当使用符号链接文件时,系统自动地访问所保存的这个路径。

1.1.4目录结构通过对系统目录组织结构的了解,可以在进行文件操作和系统管理时方便地知道所要的东西在什么地方。

RedFlagServer4.1的文件系统采用分层的树形目录结构。

即:在一个根目录(通常用―/‖表示),含有多个下级子目录或文件;子目录中又可含有更下级的子目录或者文件的信息,这样一层一层地延伸下去,构成一棵倒置的树。

树中的―根‖与―杈‖代表的是目录或称为文件夹,而―叶子‖则是一个个的文件。

下面列出了主要的系统目录及其简单描述:/bin:存放普通用户可以使用的命令文件。

目录/usr/bin也可用来贮存用户命令。

/sbin:一般存放非普通用户使用的命令(有时普通用户也可能会用到)。

目录/usr/sbin中也包括了许多系统命令。

/etc:系统的配置文件。

/root:系统管理员(root或超级用户)的主目录。

/usr:包括与系统用户直接相关的文件和目录,一些主要的应用程序也保存在该目录下。

/home:用户主目录的位置,保存了用户文件(用户自己的配置文件,文档,数据等)。

/dev:设备文件。

在Linux中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。

/mnt:文件系统挂载点。

一般用于安装移动介质﹑其它文件系统(如DOS)的分区、网络共享文件系统或任何可安装文件系统。

/lib:包含许多由/bin和/sbin中的程序使用的共享库文件。

目录/usr/lib/中含有更多用于用户程序的库文件。

/boot:包括内核和其它系统启动时使用的文件。

/var:包含一些经常改变的文件。

例如假脱机(spool)目录﹑文件日志目录﹑锁文件﹑临时文件等等。

/proc:操作系统的内存映像文件系统,是一个虚拟的文件系统(没有占用磁盘空间)。

当您查看它们时,看到的是内存里的信息,这些文件有助于了解系统内部信息。

/initrd:在计算机启动时挂载initrd.img映像文件的目录以及载入所需设备模块的目录。

/opt:存放可选择安装的文件和程序。

主要由第三方开发者用于安装和卸装他们的软件包。

/tmp:用户和程序的临时目录,该目录中的文件被系统自动清空。

/lost found:在系统修复过程中恢复的文件。

1.1.5Shell简介用户在命令行下工作时,不是直接同操作系统内核打交道,而是由命令解释器接受命令,分析后再传给相关的程序。

进入RedFlagServer4.1环境时系统将自动启动相应的shell,shell是一种命令行解释程序,它提供用户与操作系统之间的接口。

RedFlagServer4.1下默认的shell是bash。

bash命令的基本格式如下:命令名[选项][参数1][参数2]…其中方括号括起的部分表明该项对命令而言是可选的。

[选项]:对命令有特别定义,一般以―-‖开始,多个选项可用一个―-‖连起来,如ls-l-a与ls–la相同。

[参数]:提供命令运行的信息,或者是命令执行过程中所使用的文件名。

输入用户名、口令与文件名、命令名时,一定要区分大小写,因为大小写字母在Linux系统中代表不同的含义。

在命令、选项和参数之间要用空格隔开。

连续的空格会被shell解释为单个空格。

键入命令在shell提示符下输入相应的命令,然后按回车键确认,shell会读取该命令并执行。

如果系统找不到输入的命令,会显示:―CommandnotFound‖,这时需要检查键入命令的拼写及大小写是否正确。

使用分号(;)可以将两个命令隔开,这样可以实现在一行中输入多个命令。

命令的执行顺序和输入的顺序相同。

命令补齐当要输入的命令目录很深或命令中的文件名很长时,只要按一下<TAB>键,系统会在可能的命令或文件名中找到相匹配的项,自动帮您补齐。

如果有一个以上的文件符合输入的字符串,不能补齐时,可以按两下<TAB>键,系统将把所有符合的文件名列出来。

历史记录shell会把过去输入过的命令记忆下来,只要按上下方向键,就可以选择以前输入过的命令了。

有了以上基础,可以运行下面列出的几个简单命令来实际使用一下:clear:刷新屏幕;date:在屏幕上显示日期和时间;echo:将命令行中的内容回显到标准输出上。

cal:显示月份和日历。

1.1.6系统帮助RedFlagServer4.1具有强大的系统和网络功能,数量众多的实用工具软件和大量复杂的操作命令。

为了帮助用户顺利进行操作,系统提供了多种多样的联机帮助信息以便用户随时查询。

联机手册通过man命令使用联机用户手册,系统可以显示任何命令的联机帮助信息。

它将命令名称作为参数,该命令的语法格式为:mancommand以下是常用的Linux系统帮助手册的章节分类,它位于/usr/man目录下:例如,下面的命令行将显示cal命令的手册页:$mancal使用命令―manman‖会显示出man命令本身的使用方法。

在所查询的命令后加help参数的方式,也可以显示出命令的参考信息。

用helpcommand可列出许多内部命令的帮助。

whatis命令可以通过命令名查找简要的帮助信息,命令语法为:whatiskeyword。

1.2目录操作命令1.2.1查看目录查看目录内容的命令是ls,它默认显示当前目录的内容,可以在命令行参数的位置给出一个或多个目录名,从而可以查看这些目录。

命令的语法格式为:ls[选项]…[文件名]…ls命令有多个命令行选项,如:-a:列出所有文件,包括那些以―.‖开头的文件;-d:如果后面接的是一个目录,那么使用该参数只输出该目录的名称;-l:使用长格式显示文件条目,包括连接数目、所有者、大小、最后修改时间、权限等;-t:按文件修改时间进行排序,而不是使用文件名排序;-C:按列纵向对文件名排序;-F:在文件名后加上一个符号来表示文件类型;-Cx:按行跨页对文件名排序;-CF:按列列出目录中的文件名,该命令在文件名之后附加一个字符用来区分目录和文件的类型;——目录文件名之后附加一个斜线(/)——可执行文件名之后附加一个星号(*)——符号链接文件之后附加一个@字符——普通文件名之后不加任何字符-CR:按多栏格式显示当前目录中的所有文件以及沿目录树向下各个子目录的所有文件,也称作递归列表。

该命令可以区分目录和可执行的文件,即在文件名之后附加一个字符。

1.2.2改变工作目录进入一个目录,或者说改变当前工作目录使用cd命令,其命令的语法格式为:cd目录名cd命令带有唯一的一个参数,即表示目标目录的路径名(相对路径名或绝对路径名)。

利用点点(..)把工作目录向上移动一级目录:cd..为了从系统中的任何地方返回到用户主目录,可以使用不带任何参数的cd命令。

1.2.3创建目录使用mkdir命令创建一个目录或多个目录,以便有效地组织自己的文件。

其命令的语法格式为:mkdir[选项]目录名[目录名…]同一子目录应包含类似的文件。

例如,应建立一个子目录,包含所有的数据库文件;另一个子目录包含电子表格文件;还有一个子目录用来保存某项目相关文件。

-p选项:同时创建目录和它的子目录。

mkdir-p目录名/子目录名1.2.4删除目录当目录不再被使用,或者磁盘空间已达到使用限定值,就需要从文件系统中删除失去使用价值的目录。

利用rmdir命令从目录中删除一个或多个空的子目录,语法格式如下:rmdir[选项]目录名[目录名…]子目录被删除之前应该是空目录。

就是说,该目录中的所有文件必须已清空。

如果该目录中仍有其它文件,那么就不能用rmdir命令把它删除。

当前的工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。

-p选项:递归地删除指定的目录及其子目录。

即:如果指定的目录有子目录,就先删除其子目录,然后删除该目录。

-r选项:递归地删除目录中的所有文件和该目录本身。

详见1.3.5节有关删除文件命令的介绍。

1.2.5显示当前目录在具体操作时,很多时候可能会记不清自己当前所在的目录,命令pwd可以显示用户当前在目录树中的位置。

如:#pwd#/usr/local/rfinput/bin系统给出的信息表示用户当前所在的目录是/usr/local/rfinput/bin。

1.3文件操作命令1.3.1显示文本文件文本文件是由可打印字符和控制字符(如制表符和换行符)组成的。

有几个命令可以显示文本文件。

cat命令cat命令的一般语法是:cat[选项]文件名[文件名…]该命令运行后,指定文件的内容就在标准输出(通常是屏幕)上显示出来。

如果文件的内容很长,在一个屏幕中显示不下,就会出现屏幕滚动,为了控制滚屏,可以按<Ctrl S>组合键,停止滚屏;按<Ctrl Q>可以恢复滚屏。

相关文档
最新文档