磁盘分区,文件系统,软链接和硬链接,内存和进程管理
(一)磁盘分区
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