linux从入门到大神,包含所有重难点(下篇)

linux从入门到大神,包含所有重难点(下篇)

linux运维,大数据集群搭建必用
10 磁盘分区与挂载
10.1 分区的方式
1) mbr分区:
最多支持四个主分区
系统只能安装在主分区
扩展分区要占一个主分区
MBR最大只支持2TB,但拥有最好的兼容性

2) gtp分区:
支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
windows764位以后支持gtp
10.2 Linux分区与Windows分区的区别
1) Windows分区
在这里插入图片描述

2)Linux分区
在这里插入图片描述

对Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
Linux采用了一种叫“载入(mount)”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
示意图【分区和文件目录】

10.3 Linux下的磁盘说明
Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。

对于IDE硬盘,驱动器标识符为“hdx”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。sdb1 [表示第2块scsi 硬盘的第1个分区]

10.4 lsblk 或者lsblk -f (老师不离开)
查看所有设备(光驱 /media,u盘, 硬盘)挂载情况
在这里插入图片描述

10.5 经典案例——在系统中增加一块硬盘,挂载到/home/newdisk上
步骤:
1.增加一块硬盘 1G [到设置中添加一块硬盘即可]
在这里插入图片描述

2.重启一下服务器 reboot

3.lsblk
在这里插入图片描述

4.给sdb 硬盘分区,分区命令:fdisk /dev/sdb
选项:
m 显示命令列表
p 显示磁盘分区 同 fdisk –l
n 新增分区
d 删除分区
w 写入并退出
说明:开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
在这里插入图片描述

5.格式化 sdb1
mdfs -t ext4 /dev/sdb1 [把 /dev/sdb1 分区格式化]
在这里插入图片描述

6.挂载
mkdir /home/newdisk
mount /dev/sdb1 /home/newdisk [说明;挂载时,当前目录不要在 /home/newdisk ]
在这里插入图片描述

7.上面的方式,只是临时生效,当你重启系统,挂载的关系没有, 配置Linux的分区表,实现启动时,自动挂载。
vim /etc/fstab
在这里插入图片描述

重启后,会自动挂载

9.如果,我们希望卸载
umount /dev/sdb1(设备名)或/home/newDisk(挂载名)

10.6 磁盘的另外一些命令
1)查询系统整体磁盘使用情况 df -h
2)查询指定目录的磁盘占用情况(默认为当前目录) du -h 目录
选项:
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
实例:
3)du -ach --max-depth= 1 /usr 查询 /usr 目录的磁盘占用情况,深度为 1
4)ls –l /home/ | grep “^-” | wc -l 统计/home 文件夹下文件的个数
5)ls –l /home/ | grep “^d” | wc -l 统计/home 文件夹下目录的个数
6)ls –lR /home/ | grep “^-” | wc -l 统计/home 文件夹下文件的个数,包括子文件夹里的
7)ls –lR /home/ | grep “^d” | wc -l 统计/home 文件夹下目录的个数,包括子文件夹里的

11 网络配置原理和说明
11.1 前景知识
手动安装好Linux系统时,会出现一个问题,那就是连接网络仅仅是在右上角点击连接网络来进行,而且可能每次Linux上网时,IP地址都会改变。这在实际工作中的效率是很低的,所以,要好好学一下网络配置。
NAT模式的连接图
在这里插入图片描述

*11.2 Linux网络环境配置
*
11.2.1 自动获取
操作如下:系统-首选项-网络连接-自动连接,重启后会发现之后都可以网络自动连接。然而这种方法运用后,每次linux启动后会自动获取ip,也就是说每次ip可能不一样,所以不适合用在服务器上,因为我们服务器的ip需要是固定的。

11.2.2 配置固定的IP地址(推荐)
修改该文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0
在这里插入图片描述

其中,网关的序号可以在VMware的菜单栏-编辑-虚拟网络编辑器中查看。该文件修改好后reboot(重启电脑)或者service network restart (重启网络)即可达到目的。
按照上面这步骤操作虽然会有很多迷糊,但一步一步弄下来就是正确的。

11.3 ping [目的主机]
测试当前服务器是否可以连接到目的主机
示例:
ping www.baidu.com   测试Linux服务器是否可以连接到百度的服务器
ctrl+c                终止命令

11.4 修改主机名
hostname 查看当前主机名
vim /etc/sysconfig/network 修改linux的主机映射文件
文件中内容
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME= hadoop //写入新的主机名,注意:主机名称不要有“_”下划线
修改 /etc/hosts 增加ip和主机的映射
192.168.102.130 hadoop
并重启设备,生效.
如果希望windows也可以通过主机名来连接centos, 进入C:\Windows\System32\drivers\etc\hosts,加入192.168.102.130 hadoop。
同理,如果我在该文件下写入www.sharm.com 百度,那么我在浏览器搜索百度时会到我写的这个网站中,这也叫做dns劫持。

12 进程管理

12.1 概念
1)在Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。
3)每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
4)一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

12.2 ps -aux
查看当前进程,或者加入管道命令|得到我们关注的进程
在这里插入图片描述

其中,
STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU时间,即进程使用CPU的总时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
或者命令ps -ef 以全格式显示当前所有的进程

12.3 kill 和 killall
在windows中,我们常常用可视化来终止,但在linux中,我们常常用命令行。
kill [选项] 进程号   (功能描述:通过进程号杀死进程 选项-9表示强制终止)
killall 进程名称     (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
在这里插入图片描述

12.4 pstree
以树状图的形式来显示进程
选项:
-p :显示进程的PID
-u :显示进程的所属用户
在这里插入图片描述

12.5 进程管理之服务(service)管理
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux 中非常重要的知识点。
在这里插入图片描述

service管理指令:
service 服务名 [start|stop|restart|reload|status]
在CentOS7.0后不再使用service,而是systemctl
示例:
service iptables status 查看当前防火墙的状况,关闭防火墙和重启防火墙
注意:
关闭或者启用防火墙后,立即生效。
telnet ip [端口] 利用telnet指令检查linux的某个端口是否在运行
talnet 192.168.184.130 22(在window下测试)
service iptables stop;service iptables start
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令

12.6 查看服务名
方式1:使用菜单栏setup-系统服务
方式2: more /etc/init.d/服务名称

12.7 运行级别
查看或者修改默认级别: vim /etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明:
在这里插入图片描述

12.7.1 chkconfig –list
查看所有的服务在不同级别下的自启动按钮
在这里插入图片描述

chkconfig -list | grep sshd 如果只关心一个服务,那就用grep进行筛选
chkconfig sshd –list 或者直接输入该服务名
chkconfig --level 5 服务名 直接修改sshd在某个级别下自启动
chkconfig ssh off 如果在所有级别下都修改某个服务的自启动,那就不要加level这个词。
设计好之后,一定要reboot

12.8 进程管理之监控服务——top [选项]
top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程(默认每3秒变化一次)
选项:

在这里插入图片描述
在这里插入图片描述

交互操作说明:
在这里插入图片描述

应用实例:
1.如何监视特定用户
top:输入此命令,按回车键,查看执行的进程
u:然后输入“u”回车,再输入用户名
2.如何终止指定的进程
top:输入此命令,按回车键,查看执行的进程
k:然后输入“k”回车,再输入要结束的进程ID号

12.9 netstat [选项]
选项:
-an 按一定顺序排列输出
-p 显示哪个进程在调用
应用案例:
netstat –anp | grep sshd 查看服务名为 sshd 的服务的信息
在这里插入图片描述

13 RPM和YUM包管理器

13.1 rpm 包的管理
一种用于互联网下载包的打包及安装工具,它包含在某些Linux 分发版中。它生成具有.RPM 扩展名的文件。RPM是RedHat Package Manage(r RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。Linux的分发版本(suse,redhat,centos等等)都有采用,可以算是公认的行业标准了。

13.1.1 rpm包的简单查询指令
rpm –qa|grep xx 查询已安装的rpm列表(其中-qa代表的是query all)
在这里插入图片描述

可选参数:
rpm -qa 查询所安装的所有rpm软件包
rpm -qa | grep firefox 具体到某一个软件包
rpm -q 软件包名 查询该软件包是否安装
rpm -qi 软件包名 查询该软件包的信息
rpm -ql 查询该软件安装后形成了哪些文件,这些文件放在哪些文件
rpm -qf 查询某个文件属于哪个rpm包

13.1.2 rpm包名基本格式
一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
适用操作系统: el6.centos.x86_64,表示centos6.x的64位系统,如果是i686、i386表示32位系统,noarch表示通用

13.1.3 卸载某一个软件包
rpm -e firefox 卸载软件包
rpm -e –nodeps firefox 强制删除

13.1.4 安装某一个软件包
这里自己又新获得了一个知识点:原来光驱的挂载意思就是把光盘插在电脑里,只不过现在的都是虚拟光驱。同理,挂载光驱后,则可以在/media目录下查看该光驱里面的文件。
步骤:
1)挂载光驱
2)进入到光驱的目录(cd /media/CentOS_6.8_Final/Packages )
3)cp firefox-45.0.1-1.el6.centos.x86_64.rpm /opt
4)rpm -ivh /opt/firefox-45.0.1-1.el6.centos.x86_64.rpm
   参数说明:
   i=install 安装 v=verbose 提示 h=hash 进度条

13.2 yum包管理器的使用
yum 是一个Shell 软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
yum的基本指令:
yum list|grep xx软件列表    查询yum服务器是否有需要安装的软件
yum install xxx        安装指定的yum包(默认会安装最新版本的软件)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据小理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值