此读书笔记比较主要记录文件系统的相关操作。
磁盘与目录的容量
磁盘的整体数据是在superblock块中,但是每个个别文件的容量则在inode当中记载,常用来显示磁盘使用量的两个命令
df: 列出文件系统的整体磁盘使用量
du: 评估文件系统的磁盘使用量(常用于评估目录所占容量)
$ df [-ahikHTm] [目录或文件名] 参数: -a: 列出所有的文件系统,包括系统特有的/proc(/proc挂载在内存中,不会占用磁盘空间)等文件系统; -k: 以KB的容量显示各文件系统 -m: 以MB的容量显示各文件系统 -h:以人们较易阅读的GB、MB、KB等格式自行显示 -H: 以M=1000K 替换M=1024K 的进位方式 -T: 连同该分区的文件系统名称也列出(例如ext3) -i: 不用硬盘容量,而以inode的数量显示
df主要读取的数据几乎都是针对整个文件系统,因此读取的范围只要是在super block内的信息,所以这个命令显示结果的速度非常快速。
$ du [-ahskm] 文件或者目录名称 参数: -a 列出所有的文件与目录容量,因为默认仅统计目录的文件量而已 -h 以人们较易读的容量显示 -s 列出总量,而不列出每个个别的目录占用容量 -S 不包括子目录下的总计 -k 以KB列出容量显示 -m 以MB列出容量显示
du会直接查找文件系统的所有文件数据
连接文件: ln
在linux下的连接文件有两种:一种是类似Windows上的快捷方式,可以让你快速连接到目标文件或目录。另外一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种称为硬链接(hard link)。
hard link(硬连接和实际连接)
- 每个文件都会占用一个inode,文件的内容由inode的记录来指向。
- 想要读取文件,必须要经过目录记录的文件名来指向到正确的inode号码才能读取。
- 文件名与目录有关,而文件内容则与inode有关,而hard link就是在某个目录下新建一个文件名连接到某inode号码的关联记录。
vagrant@vagrant-ubuntu-trusty-64:~$ cd /tmp vagrant@vagrant-ubuntu-trusty-64:/tmp$ touch tes vagrant@vagrant-ubuntu-trusty-64:/tmp$ ln test test1 vagrant@vagrant-ubuntu-trusty-64:/tmp$ ll -i test test1 62273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test 62273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test1
可以看到两个文件的inode号码是一致的,他们的文件权限属性完全一样,而连接数变为了2。
硬连接最大的好处就是安全,如果你将任何一个文件名删除,其实inode与block都是存在的。此时可以通过另外一个文件名来读取到正确的文件数据,不论你使用哪个文件名来编辑,最终的结果都会写到相同的inode与block中,因此均能进行数据的修改。
一般来说,使用hard link设置连接文件时,磁盘的空间和inode的数目都不会改变,hard link只是在某个目录下的block多写一个关联数据而已,既不会增加inode也不会耗用block数量(除非当你在block增加多一个关联数据时刚好磁盘满了,就可能需要增加多一个block来记录文件名关联性,而导致磁盘空间的变化)。
硬连接的限制:
- 不能跨文件系统
- 不能连接到目录,因为如果使用hard link连接到目录,连接的数据需要连同被连接目录下面的所有数据都建立连接,会造成环境相当大的复杂度,因此对于目录暂时不支持
symbolic link(符号连接,也即快捷方式)
symbolic link就是创建一个独立的文件,而这个文件会让数据的读取指向它链接的那个文件的文件名,由于只是利用文件作为指向的操作,所以当源文件被删除后,symbolic link的文件会找不到源文件而导致无法打开。
vagrant@vagrant-ubuntu-trusty-64:/tmp$ ln -s test test2 vagrant@vagrant-ubuntu-trusty-64:/tmp$ ll -i test test2 62273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test 62275 lrwxrwxrwx 1 vagrant vagrant 4 Dec 17 13:07 test2 -> test
两个文件指向不同的inode号码,连接文件的重要内容就是它会写上目标文件的文件名,因为箭头右边的文件是 4 Byte,所以连接文件的大小为 4 byte。
由symbolic link所创建的文件为一个独立的新的文件,所以会占用掉inode与block。
修改symbolic link文件时,会改动到源文件。
$ ln [-sf] 源文件 目标文件 参数: -s: 如果不加任何参数进行连接,那就是hard link,至于-s就是symbolic link -f: 如果目标文件存在时,主动将目标文件直接删掉再重建。
关于目录的连接数
当以hard link进行文件的连接时,文件的连接数会增加1,那当我们创建一个空的目录时,由于存在 . 与 .. 这两个目录,那么当我们创建一个空的目录/tmp/testing时,基本会有3个东西:
/tmp/testing
/tmp/testing/.
/tmp/testing/..
其中 /tmp/testing 和 /tmp/testing/. 都代表该目录,而 /tmp/testing/.. 则代表 /tmp 这个目录,所以当我们创建一个新目录,新的目录连接数为2,而上层目录的连接数则会增加1。
磁盘的分区、格式化、检验与挂载
如果要在系统中新增一块硬盘时,需要做以下动作:
- 对磁盘进行分区,以新建可用的分区
- 对该分区进行格式化,以创建系统可用的文件系统。
- 若想要仔细一点,则可对刚才新建好的文件系统进行检验。
- 在linux系统上,需要创建挂载点(也即是目录),并将它挂载上来。
磁盘分区:fdisk
$ fdisk [-l] 设备名称 参数: -l: 输出后面接的设备所有的分区内容。若仅有fdisk -f时,则系统将会把整个系统能够找到的设备的分区均列出来。 # 例如: # 先找出磁盘文件名 vagrant@vagrant-ubuntu-trusty-64:/tmp$ df / Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc1 41251136 3631948 35883276 10% / # 输入fdisk,但不要加上数字 vagrant@vagrant-ubuntu-trusty-64:/tmp$ fdisk /dev/hdc 它会提示Command(m for help): 输入m就可以看到相关参数提示 d 代表删除一个分区 n 代表新增一个分区 p 代表在屏幕中显示分区表 q 代表不存储,离开fdisk程序 w 代表将刚才的操作写入分区表
特别注意 q 和 w,只要离开fdisk时按下q,那么所有的操作都不会生效,相反按下 w 就是操作生效的意思。
删除磁盘分区
要删除分区(例如将/dev/hdc全部分区删除)需要做下面几步:
- fdisk /dev/hdc: 先进入fdisk界面
- p:先看下分区信息,假设要删掉/dev/hdc1
- d: 这个时候要选择一个分区,就选1
- w 或者 q: w可存储到磁盘数据表,并离开fdisk; 如果后悔,直接按下q就可以取消刚才的删除操作。
新增磁盘分区
需要进行一下的动作:
- fdisk /dev/hdc: 先进入fdisk界面
- n: 新增分区
- p 或 e 或 l:选择不同的分区类型,其中p代表主分区,e代表扩展分区,l代表逻辑分区
- 1 - 4:分区号,可选1-4,如果是逻辑分区,则不需要输入分区号
- 输入结束柱面号码,如果要自己计算柱面/分区的大小太麻烦,可以使用类似"+512M"的形式,来让系统帮我们分配最接近512M的柱面号码
- p: 查看分区信息
- w 或者 q: w可存储到磁盘数据表,并离开fdisk; 如果后悔,直接按下q就可以取消刚才的删除操作。
对于创建分区的形式(主分区/扩展分区/逻辑分区)以及分区的大小,一般来说新建分区的形式会有下面的几种情况:
- 1-4号尚有剩余,且系统未有扩展分区:此时会出现让你挑选Primary/Extended的选项,且你可以指定1~4号间的号码
- 1-4号尚有剩余,且系统有扩展分区:此时会出现让你挑选Primary/Logical的选项,若选择p你还需指定1~4号间的号码;若选择l则不需要设置号码,因为系统会自动指定逻辑分区的文件名号码
- 1-4没有剩余,且系统有扩展分区:此时不会让你挑选分区类型,直接会进入logical的分区形式
一般分区完是需要重启(reboot)才能更新内核的分区表信息,可以使用"partprobe"强制让内核重新找一次分区表
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】