小白的python之路10/31&11/1文件操作系统

文件操作系统的介绍

ext4的superblock块是超级快,innode 块是专门存放文件信息的,

block count将硬盘做成block块,对操作系统而言写在block块上就可了,eg:文件10g,分成n个block块,之后对应扇区,扇区对应磁

下图的innode一层
ls -l /etc/passwd  #查看文件权限
ll -i /etc/passwd #查看文件的innode号,相当于我们的身份证
df -i 查看innode号 补充磁盘满分为两种情况,一种是空间满一中是文件数目达到了上限一个文件对应一个innode号,innode号没有了就不能建文件了
mkfs.ext4 /dev/sdb4
mount /dev/sdb4 /sdb4
df - i
touch /sdb4/(1..5).txt  建多个文件
ls /sdb4
touch /sdb4/(1..3000),txt  代码显示无空间因为innode号满了
df -h 查看空间
df -sh /sdb4   统计文件的大小

对应下图的后半部分
ll -di /test查看目录的innode号
ls  /test     目录存放文件名
ls -i /test    目录下存放文件名的innode号

删除文件后部分可以恢复原因:操作删除仅仅是硬盘覆盖方式而已,

文件的删除是通过文件的directory下的innode块找到  innode  然后通过指针将directory内的block块链接关系清除,如果在此期间innode被另一个占用则文件不可恢复,如果没有被占用则可以恢复。

软连接和硬链接

1. 文件系统的挂载与卸载(详见linux系统管理P406)
1) 掌握挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。
2) 掌握mount命令的功能:实现文件系统的挂载。
3) 灵活应用mount命令实现文件系统的挂载:
例如:将/dev/sdb1分区挂载到/wg目录上的命令:
mount /dev/sdb1 /wg
4) 掌握umount命令的功能:实现文件系统的卸载。
5) 灵活应用umount命令实现文件系统的卸载:
例如:卸载/wg上的文件系统的命令:
umount /wg
2. 虚拟内存的概念以及设置与管理(详见linux系统管理P414)
1) 掌握虚拟内存的定义:所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap)。
2) 了解Linux交换分区的类型为:0x82
3) 掌握mkswap命令的功能:设置交换分区。
4) 掌握使用mkswap命令设置交换分区的用法举例:
例如:将分区/dev/sdb2设置为交换分区的命令:mkswap /dev/sdb2
5) 掌握swapon命令的功能:启动交换分区。
6) 掌握swapon –a命令的功能:启动全部的交换分区。
7) 掌握swapon –s命令的功能:列出当前正在使用的所有系统交换分区的状态。
8) 掌握使用swapon命令的用法举例:
例如:启用交换分区/dev/sdb2的命令:swapon /dev/sdb2
3. i节点(详见linux系统管理P170)
1) 掌握i节点的定义:i节点实际上是一个数据结构,它存放了有关一个普通文件、目录或其他文件系统对象的基本信息。
4. 符号(软)链接(详见linux系统管理P174)
1) 掌握符号链接的定义:符号链接是指向另一个文件的一个文件。
2) 掌握ln命令创建软连接的用法举例:
a) 为wolf/dog.wolf.baby文件建立一个dog_ wolf.boy符号链接并放在bodydog目录中的命令:
ln –s wolf/dog.wolf.baby bodydog/dog_ wolf.boy
5. 硬链接(详见linux系统管理P179)不可跨分区
1) 掌握硬链接的定义:一个硬链接(hard link)是一个文件名与一个i节点之间的对应关系,也可以认为一个硬链接是在所对应的文件上添加了一个额外的路径名。
2) 掌握ln命令创建硬连接的用法举例:
a) 为wolf/wolf.dog文件在backup目录中建立一个名为wolf.dog2的硬链接命令:
ln wolf/wolf.dog backup/wolf.dog2
6. Linux系统中的文件类型(详见linux系统管理P183)
1) 掌握Linux系统中常见的文件类型:
-:普通文件(regular file),也有人称为正规文件。
d:目录(directory)。
l:符号(软)链接。
b:块特殊文件(b是block的第1个字符),一般指块设备,如硬盘。
c:字符特殊文件(c是character的第1个字符),一般指字符设备,如键盘。
7. 怎样检查磁盘空间(详见linux系统管理P185)
1) 掌握df命令的功能:显示文件系统中磁盘使用和空闲区的数量。
-a 显示所有磁盘
-h 单位转换
2) 掌握du命令的功能: 显示目录和文件的大小a h同上

左边软连接。右边硬链接。

部分选自林海峰老师博客http://www.cnblogs.com/linhaifeng/articles/6045600.html#_label15

时间: 2024-10-12 06:39:38

小白的python之路10/31&11/1文件操作系统的相关文章

小白学 Python 数据分析(10):Pandas (九)数据运算

人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):Pandas (二)数据结构 Series 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择 小白学

小白的Python之路 day1

Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜(2017,11月的),Python赶超c#占据第四, Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. 由上图可见,Pyth

小白的Python之路 day1 变量

Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量看作保存信息的容器是很有帮助的.它们的唯一目的是在内存中标记和存储数据.然后可以在整个程序中使用这些数据. 声明变量 1 2 3 #_*_coding:utf-8_*_ name = "Many Qian" 上述代码声明了一个变量,变量名为: name,变量name的值为:"Ma

17.10.31&11.01

10.31模拟考试 Prob.1(AC)裸的矩阵幂 Prob.2(WA)(类似括号匹配求合法方案数) 卡特兰数的一个模型运用.可以推出一个式子(推导方法一个erge讲的,一个骚猪讲的) Prob.3(崩溃2个点) 用tarjan求出双联通分量,缩点,然后形成一个无向无环图(本题保证联通,则是一棵树),求树上每一个点到其他点的最远距离. 那个求最远距离,有一个常用方法: 与该点距离最远的点一定是树的直径的一个端点. 我竟然不晓得这个方法!然后就通过旋转树的根等一系列麻烦操作搞这个问题,虽然写了很久

Python之路 day2 按行读文件

1 #1. 最基本的读文件方法: 2 3 # File: readline-example-1.py 4 5 file = open("sample.txt") 6 7 while 1: 8 line = file.readline() 9 if not line: 10 break 11 pass # do something 12 #一行一行得从文件读数据,显然比较慢:不过很省内存. 13 14 #在我的机器上读10M的sample.txt文件,每秒大约读32000行 15 16

小白的python之路11/3内存 进程 二进制软件包 rpm yum

一 分区 查看swap分区 swapon -s mkswap /dev/sdb8 激活 swapon -a /dev/sdb8 swapon -s (sdb8进入了文件中) 提供内存服务 free (buffers cached) 查看所有系统信息 uname -a 当前操作系统版本 cat /etc/redhat.release free -m (以M为单位显示) swapon -s (查看swap分区) swapoff /dev/sdb8 (关闭sdb8分区) 二 进程一次动态执行 守护进程

小白的python之路11/3总结

ln-s 指定源是谁 l是软连接,其中源文件相当于快捷方式 1.打包 归档命令 tar -cvzf test.tar a.txt b.txt c.txt其中c是创建,v是详细信息,f是打包后文件名,a.txt是打包文件 cd /etc tar cvf test.tar *打包etc目录下的所有文件 2.压缩 gzip tar的参数z 他人cvzf test.tar.gz bzip tar的参数是j, 3.快捷方法补充 >从做覆盖到右,>>追加 4.vim 命令行模式-->进入编辑模

小白学习Python之路---开发环境的搭建

本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum).1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧<蒙提.派森干的飞行马戏团>(Monty Pyth

小白的Python之路 day1 字符编码

字符编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号. 关于中文 为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文