30_linux笔记-文件系统
文章目录
个人博客
https://blog.csdn.net/cPen_web
文件系统:file system
文件系统:file system管理文件的系统:文件的增删改查 --> 新建,删除,移动,重命名,查找磁盘分区:新建,删除,格式化,挂载
内核kernel
内核kernel:1 .对CPU进行调度管理2 .内存的分配管理3 .文件系统的管理4 .进程的管理5 .其他硬件的管理(网络,显卡,声卡点)
用户空间的进程 不能访问内核空间;内核空间有接口 --> 系统调用
内核里面的进程 可以随意访问用户空间
disk:磁盘(硬盘)品牌西部数据(wd)west digit、希捷Seagate、东芝、三星类型机械转速 5400、7200、14000 rpm rate per minutessd固态IOPS 读写速度input output per second硬盘机械盘 --> 盘片 --> 存取速度是有限 --> 比较慢 --> 100M~150M/sssd固态盘 --> 芯片 --> 电子 --> 速度快 --> 500M~2G/s一般情况下ssd固态盘速度是机械盘的5倍,好多有几十倍,甚至上100倍IOPS:每秒对磁盘的读写次数 input output per second --> 衡量磁盘性能的一个重要的参数 --> 越高越好
#注:dd命令测读写速度
[root@loadbalancer ~]# dd if=/dev/zero of=/root/fengdeyong.dd count=1000 bs=1Mdd 数据备份命令if 输入文件of 输出文件bs 每次写1M的数据count 写1000次
云服务器厂家 阿里云 腾讯云 华为云 ucloud 金山云 七牛云 青云 AWS什么样的业务会使用云服务器?什么情况下自建机房?数据不方便公开;机密性特别
硬盘的术语磁道扇区柱面磁头CHS
1个磁道划分63个扇区;1个扇区512字节
磁道数量和磁盘的容量有关扇区:物理上的概念
逻辑上的概率:块、分区
[root@loadbalancer ~]# fdisk /dev/sda #注:查看第1块磁盘的信息
磁盘的基本参数容量、转速、缓存、传输速率、平均寻道时间(寻磁道的时间)
分区:partition类型主分区 primary扩展分区 Extended逻辑分区 logical
Linux中间磁盘、分区等设备均表示为文件/dev/hda5 hd表示IDE设备sd表示SCSI设备
fdisk命令
[root@loadbalancer ~]# fdisk -l #注:可以查看有多少磁盘分区
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区 #注:机器里面只有1块磁盘 20个G
添加磁盘的操作
真实机器 --> 热插拔 直接添加磁盘
虚拟机 添加磁盘:关机 --> 编辑虚拟机设置 --> 添加硬盘
添加磁盘分区的操作常规d 删除分区n 添加新分区p 打印分区表保存并退出w 将分区表写入磁盘并退出q 退出而不保存更改
[root@loadbalancer ~]# fdisk /dev/sdb #注:添加磁盘分区
命令(输入 m 获取帮助):p
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 20973567 20971520 10G 83 Linux
命令(输入 m 获取帮助):m
命令(输入 m 获取帮助):n
分区类型p 主分区 (0个主分区,0个扩展分区,4空闲)e 扩展分区 (逻辑分区容器)
选择 (默认 p):p #注:主分区
分区号 (1-4, 默认 1): 1
第一个扇区 (2048-209715199, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-209715199, 默认 209715199): +10G
……
选择 (默认 e):e #注:扩展分区
分区号 (1-4, 默认 1): 4
已选择分区 4
第一个扇区 (83888128-209715199, 默认 83888128):
上个扇区,+sectors 或 +size{K,M,G,T,P} (83888128-209715199, 默认 209715199):
命令(输入 m 获取帮助):w #注:保存[root@loadbalancer ~]# fdisk -l /dev/sdb #注:查看磁盘分区
Disk /dev/sdb:100 GiB,107374182400 字节,209715200 个扇区
……
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 20973567 20971520 10G 83 Linux
……
/dev/sdb5 83890176 104861695 20971520 10G 83 Linux
分区表
记录整个磁盘分了几个区GPT 可以很多个主分区,没有4个主分区的限制dos MBR 规定一个磁盘最大有4个主分区新的磁盘里默认是没有分区表的 需要人去创建
MBR是什么Master Boot Record:主引导记录硬盘的0柱面、0磁头、1扇区 称为主引导扇区 占512个字节大小每个磁盘里面都有MBRMBR大小512字节,分为三个部分主引导程序:446字节磁盘分区表DPT:64字节 disk partition table分区结束标记:2字节
删除MBR的后果:磁盘读取不出来
dd是一个备份和还原的工具也是一个测试磁盘读写速度的工具生成一个指定大小的文件,测试磁盘的速度
#步骤1:备份MBR
[root@loadbalancer ~]# mkdir /mbr
[root@loadbalancer ~]# cd /mbr/
[root@loadbalancer mbr]# dd if=/dev/sdb of=/mbr/sdb.mbr bs=512 count=1 #注:备份MBR
if 输入文件 input file
of 输出文件 output file
bs 每次备份的块的大小 --> 单位 默认是字节
count 数据的数量
/dev/zero 零产生器 是一个特殊的设备文件,只会产生一堆零#步骤2:破坏MBR
[root@loadbalancer mbr]# dd if=/dev/zero of=/dev/sbd bs=512 count=1
[root@loadbalancer mbr]# fdisk -l /dev/sdb
Disk /dev/sdb:100 GiB,107374182400 字节,209715200 个扇区#步骤3:还原MBR
[root@loadbalancer mbr]# dd if=/mbr/sdb.mbr of=/dev/sdb
新加磁盘的完整步骤
[root@loadbalancer ~]# fdisk /dev/sdc #注:分区
命令(输入 m 获取帮助):n
……
命令(输入 m 获取帮助):p
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdc1 2048 20973567 20971520 10G 83 Linux
/dev/sdc2 20973568 419430399 398456832 190G 5 扩展
/dev/sdc5 20975616 419430399 398454784 190G 83 Linux #注:看磁盘分区是否分完
命令(输入 m 获取帮助):w#注:1个块的大小占4096个字节8个扇区(512个字节)组成1个块(4096个字节)[root@loadbalancer ~]# fdisk -l /dev/sdc
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdc1 2048 20973567 20971520 10G 83 Linux
/dev/sdc2 20973568 419430399 398456832 190G 5 扩展
/dev/sdc5 20975616 419430399 398454784 190G 83 Linux
[root@loadbalancer ~]# mkfs.xfs /dev/sdc1 #注:格式化磁盘分区
#注:格式化为xfs文件系统
格式化后 产生2个重要区域inode zone 存放属性block zone 存放数据
[root@loadbalancer ~]# mkdir /music
[root@loadbalancer ~]# mount /dev/sdc1 /music/ #注:挂载[root@loadbalancer music]# mkfs.ext4 /dev/sdc5 #注:格式化
[root@loadbalancer music]# mount /dev/sdc5 /movie/ #注:挂载[root@loadbalancer music]# df -Th #注:查看磁盘分区的挂载使用情况
/dev/sdc1 xfs 10G 104M 9.9G 2% /music
/dev/sdc5 ext4 187G 61M 177G 1% /movie#注:重启后 这2个分区不会自动挂载
1 .添加1块磁盘,大小为50G或者100G
2 .将50G的磁盘分成2个主分区,大小分别为30G和20G和1个扩展分区,扩展分区下划分2个逻辑分区,大小分别为5G和15G
3 .然后将4个分区都格式化为ext4或者xfs文件系统,新建挂载目录,具体挂载如下
10G --> /mail --> ext4
20G --> /software --> ext4
5G --> /movie --> xfs
15G --> /photo --> xfs
4 .实现4个分区开机自动挂载
#步骤:分区
[root@loadbalancer ~]# fdisk /dev/sdd #注:分区
命令(输入 m 获取帮助):n
选择 (默认 p):p #注:建 主分区 p
……
命令(输入 m 获取帮助):n #注:建 扩展分区 e
命令(输入 m 获取帮助):n #注:建 逻辑分区,直接从5开始
添加逻辑分区 5
命令(输入 m 获取帮助):w #注:保存[root@loadbalancer ~]# fdisk -l /dev/sdd #注:查看分好的区
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdd1 2048 41945087 41943040 20G 83 Linux
/dev/sdd2 41945088 104857599 62912512 30G 5 扩展
/dev/sdd5 41947136 62918655 20971520 10G 83 Linux
/dev/sdd6 62920704 104857599 41936896 20G 83 Linux
[root@loadbalancer ~]# df -Th #注:查看磁盘挂载使用情况#步骤:格式化
[root@loadbalancer ~]# mkfs.xfs /dev/sdd1 #注:第一个分区 格式化为 xfs
[root@loadbalancer ~]# mkfs.xfs /dev/sdd5
[root@loadbalancer ~]# mkfs.ext4 /dev/sdd6#步骤:挂载
[root@loadbalancer ~]# mkdir /mail /photo /study
[root@loadbalancer ~]# mount /dev/sdd1 /mail/
[root@loadbalancer ~]# mount /dev/sdd5 /photo/
[root@loadbalancer ~]# mount /dev/sdd6 /study/[root@loadbalancer ~]# df -Th #注:查看磁盘挂载使用情况
/dev/sdd1 xfs 20G 175M 20G 1% /mail
/dev/sdd5 xfs 10G 104M 9.9G 2% /photo
/dev/sdd6 ext4 20G 45M 19G 1% /study
开机自动挂载
1 .修改/etc/rc.localvim /etc/rc.loacl --> mount /dev/sdb1 /calichmod +x /etc/rc.d/rc.local2 .修改/etc/fstab
[root@loadbalancer ~]# vim /etc/fstab
/dev/mapper/cl-root / xfs defaults 0 0
UUID=4d86d8c4-eedb-4c03-a4d7-deebb8a67f59 /boot ext4 defaults 1 2
/dev/mapper/cl-swap swap swap defaults 0 0
#注:/ 根分区
# /boot 启动Linux系统所用的东西
# swap 交换分区[root@loadbalancer ~]# vim /etc/fstab
/dev/sdd1 /mail xfs defaults 0 0
/dev/sdd5 /photo xfs defaults 0 0
/dev/sdd6 /study ext4 defaults 0 0
#注释:
/dev/sdd1 分区
/mail 挂载点
xfs 文件系统的类型
defaults 挂载后的分区的选项(ro,rw等)
0 表示代表不要做dump备份1代表要每天进行dump的操作
0 开机的过程中,系统默认会以fsck检验我们的这个文件系统 fsck是一个文件系统检测的 命令0 表示不检测1 表示检测2 表示1级别检测完后,再进行检测#注:卸载
[root@loadbalancer ~]# umount /mail/
[root@loadbalancer ~]# umount /photo/
[root@loadbalancer ~]# umount /study/#步骤:重新挂载 --> 根据/etc/fstab文件去挂载
[root@loadbalancer ~]# mount -a[root@loadbalancer ~]# mount #注:查看整个Linux系统 全部挂载的信息
#注:写到/etc/fstab文件里,重启后,会自动挂载如果/etc/fstab文件写错了,会导致Linux系统起不来 --> 输入root用户密码,注释掉错的,再reboot/etc/fstab里的配置如果有错误,会导致系统启动失败,ssh服务不会开启,远程是连接不过去的解决方法:进入系统。注释错误的配置,然后重新启动
如果有人在该目录下,取消挂载失败,如何解决?
#注:lsof /mail 知道哪个进程在访问这个目录
[root@loadbalancer ~]# lsof /mail
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 6397 root cwd DIR 8,49 6 128 /mail#注:然后再kill -9 卸载掉
losf查看某个端口被那个进程占用lsof -i:80查看某个文件夹被那个进程占用lsof /calikill -9 pid查看某个进程打开了哪些文件lsof -p 11000
经典的分区方案
默认 / /boot swap
默认//boot 启动Linux所需要的文件存放在这个分区里1Gswap 做虚拟内存使用的,当真实内存不足的时候,充当内存使用交换分区 默认规则,就是设置物理内存的2倍
当物理内存只剩30%的时候使用swap分区
[root@loadbalancer ~]# cat /proc/sys/vm/swappiness
30把不常用的进程、优先级比较低的进程 挪到 swap分区#注:内核参数的优化 --> 当物理内存只剩0的时候使用swap分区
[root@loadbalancer ~]# echo 0 >/proc/sys/vm/swappiness
[root@loadbalancer ~]# cat /proc/sys/vm/swappiness
0
内核参数的优化
内核参数的优化:1 .文件描述符 ulimit -a2 .打开路由功能[root@loadbalancer ~]# cat /proc/sys/net/ipv4/ip_forward #注:为1 开启路由功能13 .swap分区什么时候开始使用
格式化
格式化mkfs.ext4mkfs.xfsntfs windows主流的文件系统new technology file systemfat32
fdisk和parted区别
磁盘分区工具:1 .fdisk --> 安全优点:分区的时候,先缓存在内存里,输入w保存后,才去修改分区表输入q可以不保存缺点:不能分超过2T的分区(dos分区表)gpt分区表可以分超过2T的分区2 .parted缺点:直接修改分区表,不先缓存到内存里,立马生效 --> 更加危险优点:可以分超过2T的分区,适合大磁盘的分区磁盘阵列:N块磁盘组成一个逻辑的磁盘 20块2T磁盘 --> 总容量40T --> 分区
parted支持大磁盘进行大分区
[root@loadbalancer ~]# parted /dev/sde
Partition Table: unknown
(parted) help
(parted) mklabel gpt #注:创建一个gpt的分区表
(parted) print #注:查看分区表
Partition Table: gpt
(parted) mkpart pengyf 1 10000 #注:创建一个分区,里面的名字叫pengyf 从1M到10000M --> 9999M
(parted) mkpart wujiawei 10001 2000000
(parted) mkpart wujiawei 2000001 8000000
(parted) quit
[root@loadbalancer ~]# parted /dev/sde print #注:非交互式(parted) rm 3 #注:删除分区
[root@loadbalancer ~]# parted /dev/sde mkpart lianglu 2000001 8000000 #注:非交互式
交换分区 如何扩大?把分区格式化,扩进交换分区
[root@loadbalancer ~]# mkswap /dev/sde1 #注:把分区格式化为swap的文件系统
[root@loadbalancer ~]# swapon /dev/sde1 #注:把它扩进去
[root@loadbalancer ~]# swapoff /dev/sde1 #注:停掉
[root@loadbalancer ~]# cat /proc/swaps #注:查看交换分区
[root@loadbalancer ~]# swapoff -a #注:停掉所有的交换分区
[root@loadbalancer ~]# swapon -a #注:开启所有的交换文件,新建的交换分区没有开启[root@loadbalancer ~]# free -m #注:看内存的大小
目录项目录项:包括文件名和inode节点号dentry directory entry
inode映射表inode bitmap 位图记录着哪些inode使用了,哪些没有使用
block映射表Block bitmap记录着哪些block使用了,哪些没有使用
格式化后,会产生2块区域inode区 存放文件的属性(时间/权限/大小/用户/组等) index node 索引节点区
block区 块区 存放真实的数据
元数据:描述数据的数据
文件系统的元数据:其实就是对这个文件系统进行描述的元数据dumpe2fs - dump ext2/ext3/ext4 filesystem information
[root@loadbalancer boot]# dumpe2fs /dev/sda1|more
目录项:directory
目录项:directory一个文件夹下面包含了很多的文件和文件夹每一个文件或者文件夹对应一条目录项Linux正统的文件系统(如ext2、ext3、ext4、xfs)一个文件由目录项、inode和数据块(block)组成。文件=目录项+inode+数据块(block)
[root@loadbalancer web]# ll -i #注:查看文件/文件夹的 inode号
总用量 4
51898069 -rw-r--r-- 1 root root 15 2月 24 14:54 index.html#注:51898069 是文件/文件夹的 inode号根据文件名 找到inode号。inode区会对每一个block块编号,inode区里面有inode表,inode表中有指针,读取相应的block块
inode区被使用光了 就建不了文件了
[root@loadbalancer ~]# dumpe2fs /dev/sdb5|more #注:查看这个分区的超级块#注:这个命令只能读取 ext2/ext3/ext4的文件系统
[root@loadbalancer test]# xfs_info /dev/sdb1 #注:这个能看xfs文件系统的超级块
[root@loadbalancer test]# vim for.sh
for i in {1..2565}
dotouch sc$i.txt
done
[root@loadbalancer test]# bash for.sh
touch: 无法创建 'sc2549.txt': 设备上没有空间 #注:建不了文件,因为inode耗光了
inode和block的大小不是固定的,会根据你的磁盘分区的容量,自动调整inode 128(小分区) 256(大分区)block 1024(小分区) 4096(大分区)块大些好,还是小些好 --> 如果你存放的都是大文件 --> 块大些好 --> 因为需要查询的块的数量少 --> 速度快小文件 --> 块小 --> 节约磁盘空间
文件系统修复
fsck修复文件系统的案例
#示例:破坏超级块
[root@loadbalancer test]# dd if=/dev/zero of=/dev/sdb5 bs=512 count=8
记录了8+0 的读入
记录了8+0 的写出
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.000569504 s, 7.2 MB/s
[root@loadbalancer test]# ls
[root@loadbalancer test]# cd
[root@loadbalancer ~]# umount /test/
[root@loadbalancer ~]# mount /dev/sdb5 /test/
mount: /test: wrong fs type, bad option, bad superblock on /dev/sdb5, missing codepage or helper program, or other error.#示例:修复(需要先umount)
[root@loadbalancer ~]# fsck /dev/sdb5 -y
/dev/sdb5:***** 文件系统已修改 *****
/dev/sdb5:15/2560 文件(6.7% 为非连续的), 1600/10240 块
[root@loadbalancer ~]# mount /dev/sdb5 /test/
[root@loadbalancer ~]# cd /test/
[root@loadbalancer test]# ls
feng for.sh lost+found wujiawei zhanghuayou
软链接和硬链接
[root@loadbalancer test]# ll -i
13 -rw-r--r-- 1 root root 46 3月 5 15:22 for.sh
11 drwx------ 2 root root 12288 3月 5 15:15 lost+found
16 lrwxrwxrwx 1 root root 6 3月 5 16:32 soft_for.sh -> for.sh
[root@loadbalancer test]# ln for.sh hard_for.sh
[root@loadbalancer test]# ll -i
总用量 17
13 -rw-r--r-- 2 root root 46 3月 5 15:22 for.sh
13 -rw-r--r-- 2 root root 46 3月 5 15:22 hard_for.sh
11 drwx------ 2 root root 12288 3月 5 15:15 lost+found
16 lrwxrwxrwx 1 root root 6 3月 5 16:32 soft_for.sh -> for.sh
软链接产生自己的inode和block
硬链接和原文件指向同一个inode和block链接数是目录项链接inode的次数
如何知道磁盘 忙还是不忙iostatdstatglances
[root@loadbalancer ~]# yum install dstat -y #注:Python写的;全局命令磁盘、CPU、内存
[root@loadbalancer ~]# dstat
[root@loadbalancer ~]# dstat -D total,sda,sdb,sdc,sdd,sde #注:统计磁盘速度
You did not select any stats, using -cdngy by default.
----total-usage---- --dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/sdd-----dsk/sde----dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read writ: read writ: read writ: read writ: read writ: read writ| recv send| in out | int csw 0 0 98 0 0| 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0 |4732 1080 | 0 0 | 125 279 [root@loadbalancer ~]# dstat -D total,sda,sdb,sdc,sdd,sde -ma #注:-m看内存
[root@loadbalancer ~]# yum install epel-release -y
[root@loadbalancer ~]# yum install glances -y #注:也是Python写的
[root@loadbalancer ~]# glances
[root@loadbalancer ~]# glances --diskio-iops #注:看磁盘读写速度
iostat
[root@loadbalancer ~]# yum install sysstat -y[root@loadbalancer ~]# iostat
Linux 4.18.0-193.el8.x86_64 (loadbalancer) 2021年03月05日 _x86_64_ (1 CPU)avg-cpu: %user %nice %system %iowait %steal %idle0.95 0.02 1.52 0.29 0.00 97.21Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 3.64 133.94 52.92 1235823 488235
sdb 0.20 4.40 1.61 40575 14845
参考参数
https://www.cnblogs.com/ftl1012/p/iostat.html
[root@loadbalancer ~]# iostat -x[root@loadbalancer ~]# iostat -x 3 #注:每隔3s钟输出一次
[root@loadbalancer ~]# iostat -x -d 1 2 #注:每隔1s中输出一次,累计输出2次Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
r/s 每秒钟读的次数
w/s 每秒钟写的次数
rkB/s 每秒钟读的字节数
wkB/s 每秒钟写的字节数
rrqm/s 读的请求被合并的次数(不关注)
……
%util 磁盘性能是否达到100% (是否饱和)
服务器型号塔式机架式刀片式1u=4.5cm
RAID 磁盘阵列专业的存储服务器 --> 都支持raid
RAID0:条带(striping) --> 2块以上磁盘组成raid0;没有容错功能;读写速度快(多块磁盘同时写)
RAID1:镜像(mirroring)--> 2块磁盘组成;有容错功能(2边一模一样);磁盘利用率50% --> 系统/重要数据备份
RAID5:条带+分布校验--> 容错;读写速度快;最少3块磁盘(因为1个放校验值);磁盘利用率(n-1)/n
LVM 逻辑卷管理动态扩容/boot分区用于放引导文件,不能使用LVM动态扩容
raid和lvm的融合
#步骤:创建物理卷
[root@test ~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.
[root@test ~]# pvscan#步骤:创建卷组
[root@test ~]# vgcreate mail_store /dev/sdb /dev/sdc Volume group "mail_store" successfully created
[root@test ~]# vgscan#步骤:划分逻辑卷
[root@test ~]# lvcreate -L 150G -n sc_mail mail_storeLogical volume "sc_mail" created.
[root@test ~]# lvscan #步骤:格式化
[root@test ~]# mkfs.xfs /dev/mail_store/sc_mail #步骤:挂载
[root@test ~]# mount /dev/mail_store/sc_mail /mail/
[root@test ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/mail_store-sc_mail xfs 150G 1.1G 149G 1% /mail#步骤:设置开机自动挂载
[root@test ~]# vim /etc/fstab
/dev/mail_store/sc_mail /mail xfs defaults 0 0#步骤:扩容
[root@test ~]# lvextend -L +40G /dev/mail_store/sc_mail
[root@test ~]# xfs_growfs /dev/mail_store/sc_mail #注:让Linux内核重新识别lv的大小
[root@test ~]# lvdisplay
[root@test ~]# df -Th[root@test ~]# pvcreate /dev/sdd
[root@test ~]# pvcreate /dev/sde
#步骤:vg扩容的问题
[root@test ~]# vgextend mail_store /dev/sdd /dev/sde Volume group "mail_store" successfully extended
[root@test ~]# vgdisplay mail_store
#注:体现LVM在线动态扩容LVM没有容错功能,raid有容错功能
30_linux笔记-文件系统相关推荐
- PowerShell 学习笔记——文件系统
一个操作系统必须具备的元素就是:文件系统.在 Windows 中,使用资源管理器和 PowerShell 都可以管理文件系统,但它们是有区别的. 一.文件系统的结构 Windows中,文件系统由磁盘驱 ...
- 操作系统-课堂笔记-文件系统(南航)
文章目录 文件系统 引言 文件系统需要做什么工作? 1.关于文件名的限制: 2.文件扩展名有哪些 3.文件有哪些类型? 4.文件是怎么保存的以及文件的属性和操作 文件的实现 如何为文件分配磁盘空间? ...
- 《现代操作系统》第4章读书笔记--文件系统(未完成)
写在前面:教材已经通读,并完成课后题.博客整理的工作还没有提上日程. 文章目录 长期存储信息有三个基本要求: 1)能够存储大量信息 2)使用信息的进程终止时,信息仍然存在 3)必须能使多个进程并发访问 ...
- 文件系统(内存上的 + 磁盘上的)
基础I/O 文章目录 基础I/O 0 . 预备 0.1 C语言接口 0.2 系统接口 1 . 文件描述符 (fd) 1.1 fd的分配规则 重定向 2. 一切皆文件 3. 缓冲区 4. 没有被打开的文 ...
- linux监控php脚本执行时间,在LINUX环境下定时执行php脚本
1. 使用Crontab定时执行linux环境下的php脚本文件 Cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 c ...
- s3c6410学习笔记-烧写uboot+构建文件系统
一.进入目录 #cd u-boot-1.1.6_sndk6410 二.SD卡 make clean make distclean vim Makefile ...
- linux c 编程 pdf_C/C++编程笔记:Linux 日志文件系统未解之谜,你知道吗?
文件系统要解决的一个关键问题是怎样防止掉电或系统崩溃造成数据损坏,在此类意外事件中,导致文件系统损坏的根本原因在于写文件不是原子操作,因为写文件涉及的不仅仅是用户数据,还涉及元数据(metadata) ...
- ROS入门笔记(七):详解ROS文件系统
ROS入门笔记(七):详解ROS文件系统 文章目录 01 Catkin编译系统 1.1 Catkin特点 1.2 Catkin工作原理 1.3 使用`catkin_make`进行编译 02 Catki ...
- Linux学习笔记---使用BusyBox创建根文件系统(四)
目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...
最新文章
- java中什么是递归_java中什么是递归
- C++bucket sort桶排序的实现算法(附完整源码)
- pat 乙级 1026 程序运行时间(C++)
- linux nexus启动_Linux一键部署Nexus 3私服仓库自动化部署脚本
- linux的系统移植——交叉编译工具集
- php_memcahed telnet远程操作方法
- MySQL中boolean类型设置
- cs服务器协议,反恐精英服务端cs1.6 NoSteam V4554专业比赛服务端47/48双协议一键开启最终版...
- DayDayUp:20190908易建联27分中国男篮负无缘直通奥运—回顾2008年奥运中国男篮— 易建联加油!中国男篮加油!
- 斯坦福图机器学习CS224W笔记自用:How Expressive are Graph Neural Networks?
- 有限角度层析成像重建:基于无监督正弦图适应的合成重建
- Linux init程序分析
- WinForm dataGridView连接Access数据库
- 智能驾驶视觉传感器测试:自动驾驶车辆如何进行传感器标定?
- Python数据分析和django建站一般使用工具
- 老闪创业那些事儿(43)——勤勤恳恳的老黄牛
- kissme病毒原理描述及python清除脚本
- 分享快看点助手APK和源代码
- 温湿度系统(花葵、库房检测)
- 关于计算机信息管理的ppt,计算机信息管理系PPT大赛
热门文章
- C语言Hello world代码
- html5对代码自动排版,HTML5系列:通过JS+DIV+CSS排版布局实现选项卡效果
- Java11 ZGC 和 Java12 Shenandoah 介绍:苟日新、日日新、又日新
- mysql 表的结果作为表_SQL--如何将Sql语句查询出来的结果作为一个表名 再次进行查询...
- 熊海cms——代码审计
- 右手螺旋判断磁感应强度方向_判定磁感应强度的方向 右手判断方法是什么
- Adobe 官方公布的 RTMP 规范+未公布的部分
- 海康威视2019年校园招聘内推码(2019届春招、2020届实习/秋招)
- BugkuCTF 游戏过关
- java faker_Java基于Javafaker生成测试数据