linux系统盘包含哪些文件?
Linux系统盘中都包含以下文件:
根目录(/)最高一级目录,所有目录都是根目录衍生出来,只有root用户具有写权限,一般根目录下只存放目录。
/bin目录,户进制文件。包含二进制的可执行文件,常见的Linux命令都在这个目录下。
/sbin目录,系统二进制文件。目录下的命令通常由系统管理员使用,对系统进行维护。
/etc配置文件。包含所有程序所需要的配置文件,也包含用于启动/停止单个程序的起动和关闭shelI脚本。
/dev设备文件。包含设备文件,包括终端设备、USB或连接到系统的任何设备。
/proc进程信息文件。虚拟的文件系统,包含有关正在运行的进程信息。
/usr用户程序。包含二进制文件、库文件、文档和二级程序的源代码。
/home目录。Linux是多用户的系统,home目录保存各用户的信息。
/boot引导加载程序。包含引导加载程序相关的文件。
/lib系统库。包含支持位于/lib和/sbin下的二进制文件的库文件。
/opt可选的附加应用程序。给主机额外安装软件所摆放的目录。
/mnt/media挂载目录。光盘默认挂载点。
/root管理员家目录。
linux存储架构详解?
大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成:
目录项:包括文件名和inode节点号。
Inode:又称文件索引节点,包含文件的基础信息以及数据块的指针。
数据块:包含文件的具体内容。
一、目录块
Linux系统中,目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。
目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。
ls命令只列出目录文件中的所有文件名: ls /etc
ls -i命令列出整个目录文件,即文件名和inode号码: ls -i /etc
如果要查看文件的详细信息,就必须根据inode号码,访问inode节点,读取信息。ls -l命令列出文件的详细信息。 ls -l /etc
二、Inode
1、inode是什么
理解inode,要从文件储存说起。
文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个sector组成一个block。
文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的“元信息”,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
inode包含文件的元信息内容(除了文件名之外所有的文件信息)
文件的字节数。
文件类型。
文件拥有者的User ID。
文件的Group ID。
文件的读、写、执行权限。
文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
链接数,即有多少文件名指向这个inode。
文件数据block的位置(数据块指针)。
2、inode的大小
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。
3、inode号码
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。
这里值得重复一遍,Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。三、数据块
数据块就是在磁盘上存储数据的地方,使用文件的时候由操所系统索引inode来调用相应的文件
补充:创建一个新文件的操作
存储属性
内核先找到一个空闲的 i 节点(这里是131074 )
内核把文件信息记录到其中存储数据
该文件需要存储在三个磁盘块,内核找到了三个空闲块:300、500、800
将内核缓冲区的第一块数据复制到300,下一块复制到500,以此类推记录分配情况
文件内容按顺序 300、500、800存放,内核在 inode 上的磁盘分布区记录了上述块列表。
一天一点学习Linux之文件类型和后缀名?
linux常见的文件类型
一般的文件
这个就是我们通过ls -l列出来,第一栏第一个字符是-的文件,根据文件的内容也可以分几类:
纯文本文件(ASCII):这个就相当于记事本一样,称为纯文本文件,我们可以直接读取文件里面的内容。这种文件在linux系统中占很多。
二进制文件(binary):linux系统中的可执行文件(scripts)就是一个二进制的文件,而且这个文件要有x权限才能被执行。我们系统中的一些命令就是这类型的文件。
数据格式文件(data): 在linux系统中,有些程序在运行的时候会读取某些特定的数据库,这些文件就是数据文件。如我们前面讲的last命令,调用的就是/var/log/wtmp,如果我们用cat命令来查看/var/log/wtmp这个文件,你发现全是乱码。
关于一些其他的文件类型,如连接文件、设备文件、数据接口文件(sockets)、管道文件(pipe)等等,这些也是一些特殊的文件类型,我们只需要了解就OK了,在后面的学习中,见到的时候,你要知道他是什么东西就可以了。如果想更深入的学习,那就找相关的资料,慢慢研究,如,如何查看一个数据文件等。
linux文件的后缀名
我们在刚开始的时候也说过,在linux系统上,对这个后缀名要求并不像微软的win系统一样严格,只是为了方便确认文件是什么样的文件,才在后面加上了相应的后缀。如果一个文件能用cat命令读取里面的内容,我们改了后缀后,同样还是能用cat读取出来。
我们也知道,在微软的win系统上,常用的可执行文件一般就是以.com、.bat、.exe来结尾。而在我们的linux系统上就不一样了,什么样的文件我都可以给他加上X(可执行)权限,但能不能执行成功,就要看文件本身的内容了。这里面有重要的一点,就是可以被执行和可以执行成功是不一样的。例如,我们在root用户的家目录里面有个install.log文件,我们给他加上X权限,虽然是可以执行的文件,但执行后,没有什么结果,因为这个文件里面内容不是我们系统所能执行的,当然他是执行不成功啦!
所以说,为了方便我们认识系统中的文件是干吗的。linux系统还是会以相应的后缀名来表示文件的种类的。下面我们就看看一些常见的后缀
.sh : 这个通常是我们自己写的一些脚本(scripts)文件,一般都是通过shell写的,所以以.sh来表示。
.z,.tar,.tar,.gz,.zip,.tgz :这一类的文件就是压缩文件,只是采用的压缩方式不同而已。
.log : 这一类文件,就是一些日志文件。
.conf : 这类文件就是一些配置文件,这个在linux系统上见到的最多。
.rpm : 这是红帽的软件包,当然,不同的linux发行版本,他们使用的软件包的后缀是不一样的。
.php,.jsp,.html,.css : 这一类,都是网站类型的文件。
当然还有一些其它的后缀,没有什么太大的意义,只是为了我们方便识别,我们简单的了解一下。
这个长度已经很长了,足够我们用了。在后面的学习中,你会发现,linux系统上,很多软件的名字都很长,如果一个字一个字的打会很浪费时间,而且有时还会打错,这是不是太不方便了?当然不是啦,长文件名,有利于我们知道这个文件是干吗的(我是这么认为的),其实是在方便我们。为了不让我们打那么多的字,在linux系统上,有一个重要的功能键,那就是TAB,这个有补全作用,只要打前几个字,再按TAB,就补全了,如果按两次的话,会显示和这几个字相关的内容。哈哈,使用linux的朋友不知道这个功能,或不用会这个的话,那就太失败了!
linux系统中文件的命名规则
我们知道,在linux系统上,基本上都是用命令来操作的,我们所用的shell,自身就有很多的特殊字符,如果我们的文件名和这个shell里面的特殊字符一样的话,那就不好办了,所以我们在给文件起名的时候,在方便识别的同时,也要避免一些特殊字符,下面我们列举出来,代大家参考(并非不能命令这些字符,只是建议避免)。
linux文件夹下批量改名最佳方法?
linux文件夹下批量改名按以下方法为最佳:
1、在Linux系统上打开终端;
2、使用rename命令;
from 表示需要替换或者处理的字符,比如文件的扩展名,文件名.
to 表示对from处理之后的结果。
file 表示目标文件。
3、使用rename将文件后缀名.log改为.jpg或其他即可。
linux下创建文件和文件夹?
1、linux下创建文件如果要创建一个空文件,可以使用touch命令。如”touch zuoyo”
2、vi创建此外如果vi 后面接的文件名不存在,会自动进入vi界面。意为创建一个文件
3、编辑保存之后,可以查看文件内容。
4、创建文件夹如果要创建一个文件夹,linux下面叫做目录。采用命令mkdir来实现,如“mkdir zuoyotest”
5、批量创建如果要创建多个目录,可以直接接mkdir后面。如 mkdir a b c ,叠加创建的话。mkdir -p 可以直接创建多级目录。
6、如何删除文件如果要删除文件,采用rm 命令。默认是 rm -i 删除需要提示确认
7、如何删除目录如果要删除目录,采用 rm -r参数,若是强制删除 采用 rm -rf 接文件或目录名