对于一块新的磁盘来说,系统能够使用需要有分区、格式化文件系统、挂载等主要操作,下面通过命令的方式对一块磁盘进行操作。

一、 Linux系统分区

1.1 在虚拟机开机前选择虚拟机配置,添加一个新的SCSI接口的硬盘,设定大小为15G

1.2 查看系统现在的磁盘情况

ls /dev/sd 通过tab按键可以查看/dev/sd挂载的硬盘,刚才添加的磁盘是第三块硬盘,所以名字是sdc,硬盘的命名就是以英文字母的顺序命名的

1.3 对新添加的磁盘sdc进行分区

分区命令是fdisk /dev/sdc

现在通过帮助信息开始操作

1.3.4 新建分区

输入n,在选项中有两个,p和e,p是创建主分区,e是扩展分区。

给主分区添加5G

扩展分区选择系统大小的时候,将剩余的全部空间给扩展分区,就选择默认

主分区最多能创建4个,需要注意的是,如果先创建了4个主分区后就不能再创建扩展分区

逻辑分区是在扩展分区的基础上创建的

当再选择n创建的时候,选项就可以选择创建逻辑分区l,逻辑分区的默认标号是从5开始,为新创建的逻辑分区添加5G的空间

最后通过w命令写入,完成分区,通过查看/dev/sdc下面的磁盘可以看出,分区已经完成

2.1 对新创建的分区格式化

文件系统有很多种,当前最常用的文件系统是ext4,centos6采用的就是此文件系统,centos7采用的是xfs文件系统,这是未来的主流文件操作系统

查看当前文件系统的命令 df -T

2.1.1将新建的主分区格式化成ext3

使用的命令是mkfs.ext3,当不知道的时候可以mkfs.+tab按键

通过命令将mkfs.ext3 /dev/sdc1 格式化成ext3

3 挂载分区

在根目录新建一个/sdc1用于挂载新建的主分区,使用mount进行挂载

4 设置交换分区

4.1 查看交换分区

swapon -s 可以查看当前的交换分区,这个交换分区是当初安装系统的时候创建的

4.2 将创建的逻辑分区设置成交换分区

mkswap命令用于在一个文件或者设备上建立交换分区

mkswap /dev/sdc5 将/dev/sdc5 设置成交换分区

4.3 将设置的交换分区启用(激活)

swapon -a /dev/sdc5

通过swapon -s查看交换分区的状态

通过swapoff /dev/sdc5就可以关闭启用的交换分区,重新启用下并查看

二、查看内存以及内存的使用率

1 free命令查看内存

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

free不加参数默认数据单位是字节,可以加-m,-g,分别以M、G为单位查看,下面是对比图

通过对比发现,以字节为单位的方式是最精确的,使用M更符合人的查看,使用G时误差较大

2 关于buffer和cache

buffer:通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据。

cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。

总结一下就是,CPU、内存、硬盘之间存在速度差,为了解决这个问题,引入了buffer和cache,buffer是将没有写入的数据积累一定的量后一块写入,cache是将数据读入内存中的,下次可以直接使用

3 清空内存

echo 3 > /proc/sys/vm/drop_caches

4 真实内存使用率

使用free命令查看内存的信息

内存的使用率计算:

{used+(buff/cache)}/total=(519116+211236)/2172412=33.6%

5 使用dd命令测试硬盘的速度

dd if=/dev/zero of=/a.txt bs=2M count=1

if:input file

of:output file

bs:block size

在测试的时候需要考虑真实物理内存的大小

二、进程管理

进程是一个资源单位,当执行一个命令的时候就会产生一个进程

1 查询进程

查询一个进程

ps命令直接查询全部的命令

ps aux |grep firewalld 查询到的进程pid是608

2 杀死进程

想要杀死进程 kill -9 pid

-9是传递信息,所以只需要知道进程的pid就可以

再次查看后,firewalld进程已经不存在了,下面的进程是执行的命令,每次执行一次命令都会产生一个进程

三、软件包管理

软件包的安装有两种方式,第一种是二进制文件安装,第二种是源码安装

1 rpm安装

rpm的全称是Redhat package Manager

1.1 将光盘挂载到/media

进入/media下查看Package文件,文件中存放的是安装的文件

卸载命令是umount /media ,在当下的路径下的时候是不能卸载的,想要强制卸载,加上参数-l

1.2 查看系统已经安装的rpm

  • 查看系统已经安装的rpm : rpm -qa

rpm -qa|less 可以将已经暗转的信息分屏输出

  • 查看时否安装了某个安装包,如dhcp

rpm -q 直接查看是否安装
rpm -qa |grep dhcp 是将所有安装过的过滤出来

通过验证发现,已经安装了dhcp

  • 查看安装包的信息

rpm -qi dhcp

  • 查看安装路径,里面包含的文件

  • which ls 可以查看ls时由哪个软件包产生的

  • rpm -qf /bin/ls 查看ls是由哪个安装包产生的

ls是怎么和文件建立联系的

ls----->sehll---->PATH(环境变量)------>user/bin/ls------->alias(别名)---->ls --->color =auto

通过which ls 可以查看ls命令的路劲,/user/bin/ls 的效果和ls是一样的,都能实现查看的功能,ls命令在此基础上添加了颜色自动高亮的功能

  • 卸载dhcp

rpm -e dhcp

这里注意的是dhcp不是全名,可以通过tab补全,之前的也已经通过-qa命令获得了全名

测试中发现想要卸载dhcp安装包,必须卸载dhclient,他们之间有依赖关系,想要卸载必须把他们的依赖全部卸载

2 yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

采用rpm安装的时候,安装某个软件还需要安装相应的依赖,比较繁琐,通过yum就可以自动获取依赖关系并安装。

2.1 yum需要一个仓库(在本地自己创建yum仓库)

在系统光盘中Package目录下存放的就相当于一个仓库,有了仓库还需要相应的配置文件指向仓库。配置文件存放在/etc/yum.repo.d/中,这些事yum的网络配置文件

2.2在本地自己定义yum仓库

在本地定义仓库的配置文件同样要放在/etc/yum.repo.d/,需要先把网络的配置文件保存到/tmp/bak中,这样做是为了自己严格控制版本

  • 自定义yum的配置文件

  • yum安装httpd

yum repolist all 可以查看现在所有的yum源

yum install httpd

yum在安装的时候自动查找依赖并自动安装,下面是在安装的时候依赖自动安装

yum -y install 不提示输入y

  • yum 删除httpd

卸载的时候不会把依赖删除

yum -y remove httpd

yum -y erase httpd

通过rpm -qa |grep httpd 查看已经安装了httpd

  • 使用yum安装组件'KDE 桌面':yum –y groupinstall 组件名

在登录的时候可以选择KDE登录

  • 删除组件KDE

yum -y groupremove KDE

  • 查找yum安装的软件包

yum search httpd

3 使用源码安装Python

3.1 下载源码文件

从Python官网下载最新的Python3.6 source code

使用xshell5远程连接centos7,需要lrzsz软件实现ftp上传下载

3.2 安装编译器

源码需要编译,用到的是gcc

yum grouplist 可以查看仓库中的组件,我们需要的是开发工具,组件安装方式是

yum groupinstall '组件名'

yum groupinstall 'Development tools'

下面是安装过程,我们需要的就是gcc

3.3 加压Python源码

使用tar xf /python3.6解压,进入解压后路径

设置安装路径并执行脚本文件

3.4 编译并安装

make && make install

c出现错误提示,缺少zlib,yum 安装后重新 make install

3.5 执行

进入Python3.6的安装路径下的bin文件 可以执行

3.6 设置环境变量

这样直接输入python3.6就能在终端中运行

现在Python3.6能够在当前终端中运行,但是PATH接受的是临时变量,想要以后应用就要写入配置文件

vim /etc/profie

在最后面添加PATH=/usr/local/python3.6/bin:$PATH,保存后再在任何终端中输入Python3.6都能执行

PATH=$PATH:/user/local/python3.6/bin 添加了环境变量

Linux系统分区 进程管理 软件包安装的更多相关文章

  1. Linux系统编程@进程管理(一)

    课程目标: 构建一个基于主机系统的多客户即时通信/聊天室项目 涉及的理论知识 进程控制:僵尸进程/孤儿进程.进程控制.守护进程... 进程间通信:管道.命名管道.信号... 多线程编程: 锁.信号量. ...

  2. Linux系统编程@进程管理(二)

    1.创建守护进程(Deamon) 守护进程的概念与作用 后台服务程序 – 系统服务,进程名字往往以’d’结尾,生存周期比较长(系统装入时启动,关闭时候终止.系统装入两种启动方式:1从启动脚本.etc/ ...

  3. [Linux] Linux系统(进程管理)

    进程:当我们运行程序时,Linux会为程序创建一个特殊的环境,包含程序运行的所有资源,这个环境就称为进程 前台进程:一般我们使用一些命令,都属于前台进程,直接输出结果到显示器 后台进程:在命令的末尾加 ...

  4. Linux系统编程@进程通信(一)

    进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统 ...

  5. Linux 系统分区

    合理的系统分区,便于后期管理和提高文件的搜索速度 分区格式说明 linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四 个,SCSI,SA ...

  6. Linux 文件与目录管理,Linux系统用户组的管理

      一.Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什 ...

  7. asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)

    原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...

  8. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

  9. Linux学习之进程管理(十九)

    Linux学习之进程管理 进程查看 查看系统中所有进程,使用BSD操作系统的格式 语法:ps aux 选项: a:显示所有前台进程 x:显示所有后台进程 u:显示这个进程是由哪个用户产生的 语法:ps ...

随机推荐

  1. 程序兵法:Java String 源码的排序算法(一)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第103篇原创 <程序兵法:Java Str ...

  2. E20180605-hm

    arbitrary adj. 乱; 随意的,任性的,随心所欲的; 主观的,武断的; 霸道的,专制的,专横的,独断独行的; session n. 开会,会议; (法庭的) 开庭; 会期,学期; (进行某 ...

  3. HDU2852【树状数组+二分】

    额..有点遗忘了树状数组特性了..印象中一直是前缀和,然后一定要记住树状数组是把给出的值(值太大可能可以离散化)也就是点到了区间,然后这个点存的值就是由自己来定了. 题意: 百度. 思路: 树状数组是 ...

  4. POJ3696【欧拉函数+欧拉定理】

    题意: 求最小T,满足L的倍数且都由8组成,求长度: 思路: 很强势的福利:点 图片拿出去食用更优 //#include<bits/stdc++.h> #include<cstdio ...

  5. POJ3191【(-2)进制本质】

    题意: 实现10进制数转换成-2进制数 思路: 有点意思,先扯些题外话,一个我们经常做的二进制:利用二进制有好多优化,大多都是利用了二进制能够表示一个数,然后优化了空间或者时间. 所以问题很清楚啊,就 ...

  6. Codeforces 174B【模拟构造】

    题意: 给你一个串只有小写字母和点,让你构造前缀是1-8,后缀是1-3长度的文件名: 思路: 那么以"."作为分割点,把字符串都拿出来,然后 首段长度<=8 OK; 中间&l ...

  7. [Xcode 实际操作]九、实用进阶-(3)给代码方法添加宏注释

    目录:[Swift]Xcode实际操作 本文将演示如何在方法列表中,对方法名称进行注释. 这样可以使程序,按功能分块,使方法清晰.易读并且方便定位. 在项目导航区,打开视图控制器的代码文件[ViewC ...

  8. Luogu P4892 GodFly的寻宝之旅【状压dp】By cellur925

    题目传送门 又是一道状压+计数类好题hh(真香).数据范围非常友好,告诉我们\(n<=18\),非常符合状压的性质. 其实感觉和\(Hamilton\)路径那题还是有些相似的,我们可以类似地设计 ...

  9. 计算机网络自顶向下方法第2章-应用层(application-layer).1

    2.1 应用层协议原理 2.1.1网络应用程序体系结构 1)在客户-服务器体系结构 (client-server architecture)中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为 ...

  10. django (四) model模型

    models模型 1. models 定义属性 概述 django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证 dj ...