zoukankan      html  css  js  c++  java
  • 磁盘分区,文件系统,软链接和硬链接,内存和进程管理

    (一)磁盘分区

    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

  • 相关阅读:
    MapReduce之Map Join
    MapReduce之Reduce Join
    MapReduce清洗日志数据统计PV量
    Hadoop MapReduce自定义数据类型
    ES6 对象拓展方法
    ES6箭头函数与this指向
    ES6参数默认值,剩余参数及展开数组
    ES6模板字符串及字符串的扩展方法
    浅谈ES6数组及对象的解构
    ECMAScript概述及浅谈const,let与块级作用域
  • 原文地址:https://www.cnblogs.com/weigege2015/p/7350745.html
Copyright © 2011-2022 走看看