Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
linux基础知识 - 13
Theme area
1114
views ·
3
replies ·
To
floor
Go
老陌
deepin
2018-07-17 01:59
Author
本帖最后由 myccloves 于 2018-7-16 18:01 编辑
参见老陌博客:
https://www.cnblogs.com/myccloves/p/9318985.html
一、linux文件
老陌编写了一份菜谱,保存为menu.txt。
这个文件有三个组成部分:
数据: 文件里的内容菜谱(data)。
元数据:这里保存了一些相关的信息,如:用户所有者,组所有者,权限,修改时间等。这些信息保存在i-节点结构中(inode)。
文件名:它也是与文件相关的元数据,但不存放在inode结构中,保存在dentry结构中。dentry结构把文件名和inode关联在一起。
这就是说文件有以下三层结构:dentry,inode,data。
二、什么i-节点
每个文件都有一个相关的i-节点,里面保存着文件名以外的文件信息。以下就是i节点中的相关信息:
(一)文件类型
用ls -l查看文件时会给出文件类型:
linux@ccloves:/dev$ ls -l
总用量 0
crw-r--r-- 1 root root 10, 235 7月 16 13:40 autofs
drwxr-xr-x 2 root root 400 7月 16 2018 block
Copy the Code
我们观察文件名所在行的第一个字母,它就是文件类型。
在整理中老陌对于后几个涉及进程的不太懂,不过先整理到笔记上,以后慢慢理解。
(二)所有者身份和权限
每个文件都有用户所有者和组所有者,还有三组访问权限,这些信息也保存到i-节点里面。
(三)时间信息
i节点保存与文件相关的三种时间信息,通常叫做:atime,ctime,mtime。
这里注意改变(change)与修改(modify)之间的不同,改变是inode节点有变动,modify是数据有变动。
我们用ls查看的时候,显示的时间是mtime,当然可以用参数来显示atime和ctime。
ls -l //mtime
ls -lc //ctime
ls -lu //atime
Copy the Code
我们可以用 stat命令查看更详细的信息:
了解之后,我们发现linux的文件不能保存创建时间,因为修改文件时间就变了,只能知道最后修改或改变时间。
我们还需要了解一下:有时候ls 并未修改atime的信息,这是优化处理的,频繁访问和修改会很慢。
(四)文件长度与大小
inode节点用两种度量记录文件的大小:
文件的长度: 表示文件的实际大小,即数据的实际字节数。
文件的大小:即文件所占的磁盘空间。
因为文件在磁盘上保存的底层信息不同,所以两种度量不同。 文件大小每次以字节“块”(比如:4k)增加,而文件长度则以字节为单位增加。
在用ls -l查看文件时,显示的长度是文件的实际长度,单位是Byte,在用ls -s查看文件时,显示的是文件大小是占用磁盘空间的大小,单位是KB。
(五)链接数
inode节点记录文件的链接数,也就是引用该文件的dentry数(文件名)。感觉一个文件可以有多个文件名似的,其实就是这样(后面再解释)。
ls -l 的第二列显示的就是链接数。
三、用stat命令查看inode节点信息。
一个i-节点信息集合叫做该文件的状态(status),我们可以用stat命令显示文件的状态。
文件名: 2.pdf
文件大小: 121562 就是文件数据的字节数。
块:指这个文件占用系统空间的块数。
普通文件: 这个位置显示文件类型 ,比如显示:目录,字符特殊文件,块特殊文件等。
硬连接: 这个位置是上面说的连接数。
后面是权限,uid, gid,我们都比较熟悉了。
之后是atime, mtime, ctime 一目了然。
四、用ls命令查看i-节点信息
ls -l
-rwxr--r-- 1 nobody nobody 121562 7月 10 15:26 2.pdf
Copy the Code
通过ls -l我们就得到了权限信息,链接数,用户所有者,组所有者,文件长度,最后修改时间,文件名。最主要的是stat一次显示一个文件,而ls -l可以显示多个文件。
五、用i-节点识别文件
对于人来说通过文件名识别文件,而对于内核来说,他是通过i-节点来识别文件,每个i-节点都分配一个唯一的编号。 可以用ls -i来查看i-节点的编号。
2883613 Flower_in_Dark_by_Ameen_Fahmy.jpg
2883603 Flowing_Ribbon.jpg
2883599 Flying_Whale_by_Shu_Le.jpg
2883607 Grassland_Scenery_by_Shi_Yuejun.jpg
2883608 Hummingbird_by_Shu_Le.jpg
Copy the Code
六、练习
用ls查看文件,并按修改时间排序。
ls -lt /etc/
ls -ltr /etc/
Copy the Code
用ls查看文件,并用-F修饰列表
ls -F /dev
Copy the Code
对于不同的文件会加一个标记,比如:abc/ 表示一个目录, abc@表示这是一个连接 abc*表示这是一个可执行文件。对于没有显示的终端很有用。
Reply
Like 0
Favorite
View the author
All Replies
billy123456
deepin
2018-07-17 02:28
#1
我觉得你可以去写帮助文件了
Reply
Like 0
View the author
老陌
deepin
2018-07-17 03:27
#2
https://bbs.deepin.org/post/166289
我觉得你可以去写帮助文件了
不行,除非我会用了,否则怎么写,很多细节也不清楚啊。
Reply
Like 0
View the author
bainian
deepin
2018-07-23 07:29
#3
赞赞赞赞赞赞
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
【Enhanced Repo】Better Deepin Repo is released
Popular Events
More
参见老陌博客:https://www.cnblogs.com/myccloves/p/9318985.html
一、linux文件
老陌编写了一份菜谱,保存为menu.txt。
这个文件有三个组成部分:
这就是说文件有以下三层结构:dentry,inode,data。
二、什么i-节点
每个文件都有一个相关的i-节点,里面保存着文件名以外的文件信息。以下就是i节点中的相关信息:
(一)文件类型
用ls -l查看文件时会给出文件类型:
我们观察文件名所在行的第一个字母,它就是文件类型。
在整理中老陌对于后几个涉及进程的不太懂,不过先整理到笔记上,以后慢慢理解。
(二)所有者身份和权限
每个文件都有用户所有者和组所有者,还有三组访问权限,这些信息也保存到i-节点里面。
(三)时间信息
i节点保存与文件相关的三种时间信息,通常叫做:atime,ctime,mtime。
这里注意改变(change)与修改(modify)之间的不同,改变是inode节点有变动,modify是数据有变动。
我们用ls查看的时候,显示的时间是mtime,当然可以用参数来显示atime和ctime。
我们可以用 stat命令查看更详细的信息:
了解之后,我们发现linux的文件不能保存创建时间,因为修改文件时间就变了,只能知道最后修改或改变时间。
我们还需要了解一下:有时候ls 并未修改atime的信息,这是优化处理的,频繁访问和修改会很慢。
(四)文件长度与大小
inode节点用两种度量记录文件的大小:
因为文件在磁盘上保存的底层信息不同,所以两种度量不同。 文件大小每次以字节“块”(比如:4k)增加,而文件长度则以字节为单位增加。
在用ls -l查看文件时,显示的长度是文件的实际长度,单位是Byte,在用ls -s查看文件时,显示的是文件大小是占用磁盘空间的大小,单位是KB。
(五)链接数
inode节点记录文件的链接数,也就是引用该文件的dentry数(文件名)。感觉一个文件可以有多个文件名似的,其实就是这样(后面再解释)。
ls -l 的第二列显示的就是链接数。
三、用stat命令查看inode节点信息。
一个i-节点信息集合叫做该文件的状态(status),我们可以用stat命令显示文件的状态。
四、用ls命令查看i-节点信息
通过ls -l我们就得到了权限信息,链接数,用户所有者,组所有者,文件长度,最后修改时间,文件名。最主要的是stat一次显示一个文件,而ls -l可以显示多个文件。
五、用i-节点识别文件
对于人来说通过文件名识别文件,而对于内核来说,他是通过i-节点来识别文件,每个i-节点都分配一个唯一的编号。 可以用ls -i来查看i-节点的编号。
六、练习
用ls查看文件,并按修改时间排序。
用ls查看文件,并用-F修饰列表
对于不同的文件会加一个标记,比如:abc/ 表示一个目录, abc@表示这是一个连接 abc*表示这是一个可执行文件。对于没有显示的终端很有用。