首页 > 代码库 > 磁盘分区,文件系统,软链接和硬链接,内存和进程管理

磁盘分区,文件系统,软链接和硬链接,内存和进程管理

(一)磁盘分区

1.硬盘逻辑上划分为:块--磁道--磁柱--分区;

2.分区分类:主分区,扩展分区,逻辑分区

3.命令:

sdb---scsi接口的第2个磁盘,路径为/dev/sdb

/dev/sro----光盘,像/dev/sda  /dev/sdb   /dev/sdb2 这些我们可以称其为设备名

df命令用来检查linux服务器的文件系统的磁盘空间占用情况,df--diskfilesystem 文件系统

fdisk是对磁盘添加,删除,转化分区

fdisk  -l  /dev/sda 查看硬盘实际使用情况

fdisk  /dev/sda  指定硬盘文件/进入硬盘分割模式

df -T 查看文件类型

df  -h  以更易度的方式显示目前磁盘空间和使用情况

df  -i  一inode模式显示磁盘使用情况

df  -a 显示全部文件系统列表

4.磁盘分区步骤:

(1)给硬盘划分分区

a.  fdisk /dev/sdb

b.  n---p--默认--默认--w保存主分区设置

c.  l扩展分区---e 逻辑分区

(2)制作分区文件系统(或叫格式化制作文件系统)

mkfs.ext4  /dev/sdb1  将sdb1分区做成ext4格式的文件系统

mkfs.xfs   /dev/sdb2  将sdb2分区做成xfs格式的文件系统

注:ext4和xfs属于日志系统文件;mkfs----makefiles

(3)建立挂载

a.建立挂载点目录:mkdir /sdb1

b.建立映射关系,拉管子

mount    /dev/sdb1    /sdb1   将/dev/sdb1/开个口子指向/sdb1  数据真正是在/dev/sdb1里存着,/sdb1是个映射目录

对比 mount /dev/sdb1  /sdb1 和 mount /dev/sdb1 /sbb1 发现/sdb1和/sdbb1都指向了/dev/sdb1 即一个设备名可以映射不同的挂着点,/sdb1和/sdbb1 进入的都是/dev/sdb1 好比一个房子开了2个门

补充:卸载挂载点: umount /sdb1  也可以用umount /dev/sdb1 一般用挂载点卸载,用设备名卸载因为同一设备名下可以有多个挂载点,可能会卸载乱,故建议用umount + 挂载点 方法卸载

(4)可以使用了: cd /sdb1

5.swap分区

查看swap分区: swap -s

新增swap分区:

(1)建立挂载点: mkswapon   /dev/sdb8      ( /dev/sdb8为裸盘,未装文件系统)

(2)激活挂载: swapon -a /dev/sdb8  a为activity

 

(二)文件系统

 目前常用的文件系统为etx4和xfs,都输于日志文件系统。文件系统管理文件数据。文件数据分文件本身(文件内容即数据),文件权限(rwx)和文件属性(属主,属组,时间参数)

1.单位:block块

2.分类:4类

(1)super  block:超级块,管理记录整个文件系统的整体信息,如inode与block总量,使用量和剩余量等;

(2)inode  block块:存放文件的类型,属主,属组,权限,指针(block编号);

(3)directory block:目录块,只存放文件名和文件名对应的inode号;

注:inode块,记录文件的属性,一个文件占用一个block号,同时记录此文件的数据所在的block号;

       block块:记录文件的内容,如果能指到文件的inode的话,自然就会知道这个文件放置数据的block号码,也就能读出实际的数据了。

3.命令:

ls  -i /ect/passwd   查此文件的inode编号

df   -i  以inode编号显示磁盘的使用情况

ll  -di  /test  查目录的inode编号

ls  -i  /test/a.txt  a.txt的inode编号

tune2fs   -l   /dev/sdb1 查看文件系统参数  (只有当文件系统为ext2/3/4时)

touch /sdb7{1..5}.txt   一次建立1.2.3.4.5.txt 5个文件

du -sh /sdb7  查看/sdb7已使用空间大小

4.cat /a.txt 内部工作机制

实际上是操作系统调用文件系统来完成cat /a.txt,是由文件系统完成的

----》先读根inode号,权限,指针

----》指向directory块,找目录下文件名a.txt和文件inode号

----》根据文件inode号指向inode块中文件类型,权限指针

----》指向实际存数据的普通block块

 

(三)软链接和硬链接

软链接和硬链接涉及文件系统中的索引节点(index node又称inode),而索引节点是linux虚拟文件系统的四个重要概念之一。

1.软链接:同windows下的快捷方式

(1)命令: ln  -s  /source/a.txt   /dst/aa.txt  (aa.txt要不存在)   

ln  -s   源文件路径    链接文件路径

*   软链接用“ l ” 表示文件类型

*  改变源文件内容,链接文件内容也改变;改变链接文件内容,源文件已改变;源文件删除,链接文件也就没有了;

*  软连接文件可以跨分区

(2)源文件和软链接文件工作原理

源文件工作原理:

源文件—(1)——>inode号—(2)—>block数据

软链接文件工作原理:

链接文件—(1)——>源文件—(2)——>inode号—(3)—>block数据

注:链接文件本身也有inode号,但它先找的是源文件名,软链接指向文件名

2.硬链接:

(1)命令:

ln  /b.txt  /c.txt        ln + 源文件路径   +   链接文件路径

2.硬链接工作原理:

                                  b.txt------------>inode<---------c.txt      inode-------->block

*  b.txt与c.txt共用同一个inode号

*  操作b或者c.txt,对方同步改变

*  硬链接删除源文件,链接文件还在,可以继续用

*  硬链接不可以跨分区

 

(四)内存

1.命令:

free  查看内存信息     free  -m   以MB为单位查看内存信息

swapo   -s  swap内存分区

swapoff   /dev/sdb8  卸载swap分区

echo 3 >/proc/sys/vm/drop_caches    清理虚拟机缓存(cache)命令

一个比较业余的测硬盘读写能力的命令:

dd  if=/dev/zero  of=/a.txt  bs=1G count=1    (if---input file     of-----output  file)

2. 内存主要由buffer和cache组成

buffer: 还没有被写入磁盘的东西,用于要存放到硬盘上的数据

cache:从磁盘中已经读到内存里;存放从disk上读出的数据

shared 共享内存  主要是多道复用

*  内存就是分配buffer和cache,分配出去的buffer和cache由分为正在使用的buffer和cache,和未使用的buffer和cache。 

*  内存使用率=正在使用的buffer和caceh/total

*  内存真实剩余量包含已分配未使用的buffer和cache;

 

(五)进程管理

1.概念

进程:是程序的一次动态执行

守护进程:在后台运行并提供系统服务的一些进程

父进程/子进程:当一个进程创建另一个进程时,第一个进程被称为新进程的父进程,而新进程则称为子进程

僵尸进程:CPU不调用的未从CPU中出来的进程,如父进程已死,子进程还在

2.命令

ps  查看进程     ps  aux  进程的详细信息

ps  aux  | grep gnome  查找关于某个进程,如gnome  (grep 过滤的意思)

pgrep   + 进程名    显示进程Pid

kill  Pid  杀进程   kill  -9  Pid  强制杀死进程

pkill -9 + 进程名    ---> pkill  -9  firefox  杀死firefox的进程

进程名  +  &   让进程在后台运行以不占用当前终端      ------>firefox &

pstree  查用户所有进程

pstree + 用户名  用户名下运行的进程

 

buffer和cache

磁盘分区,文件系统,软链接和硬链接,内存和进程管理