linux学习五

一.系统服务管理

  1.概念

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

  2.指令

service 服务名 [start | stop | restart | reload | status]
在CentOS7.0后 不再使用service ,而是 systemctl

  3.案例

1) 查看当前防火墙的状况,关闭防火墙和重启防火墙。
  service iptables status
  service iptables start
  service iptables stop

注:centeros后面的版本指令:

    systemctl start 服务名称
    systemctl stop 服务名称
    systemctl status 服务名称
    systemctl restart 服务名称

  systemctl status firewalld

  systemctl stop firewalld 
    systemctl start firewalld

   sys
temctl restart firewalld
  


可以通过测试来判断:
  windows命令:telnet ip 端口

   4.查看所有服务

方式1:使用setup -> 系统服务 就可以看到。
方式2: /etc/init.d/服务名称

  5.服务的运行级别

服务的运行级别(runlevel):
查看或者修改默认级别: vi /etc/inittab

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

开机的流程说明:
开机--> BIOS--> boot--> init进程1--> 运行级别---> 运行级对应的服务

  6.chkconfig指令

介绍
通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关
• 基本语法
1) 查看服务 chkconfig --list|grep xxx
2) chkconfig 服务名 --list
3) chkconfig --level 5 服务名 on/off

注意:用指令设置完成之后,需要重启机器!

还有就是如果chkconfig在7以后很多都不能用了,要使用systemctl这个指令了

   7.top指令

  top与ps命令很相似。它们都用来显示正在执行的进程。 Top与ps最大的不同之处,在于top
在执行一段时间可以更新正在运行的的进程
  top [选项]
      
选项 功能
-d  秒数 指定top命令每隔几秒更新。 默认是3top命令的交互模式当中可以执行的
命令:
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。



交互操作说明:

  案例1.监视特定用户
    top:输入此命令,按回车键,查看执行的进程。
      u:然后输入“u”回车,再输入用户名,即可
    案例2: 终止指定的进程。
      top:输入此命令,按回车键,查看执行的进程。
      k:然后输入“k”回车,再输入要结束的进程ID
    案例3:指定系统状态更新的时间(每隔10秒自动更新)

操作 功能
P CPU使用率排序, 默认就是此项
M 以内存的使用率排序
N PID排序
q 退出top




   8.netstat指令(查看系统中开放的端口)

• 基本语法
  netstat [选项]
• 选项说明
  -an 按一定顺序排列输出
  -p 显示哪个进程在调用
netstat -tunlp • 应用案例   请查看服务名为 sshd 的服务的信息。
  netstat -anp | grep sshd

  9.selinux

    SELinux是Linux系统上一个常见的安全软件

    1.查看selinux的状态

getenforce
[root@qishi
~]# getenforce Enforcing #这是强制开启状态

    2.临时关闭selinux(重启失效)

setenforce 0

    3.永久关闭selinux

编辑selinux配置文件
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
保存退出

   10.防火墙

iptables -L  # 查看系统防火墙规则
iptables -F  # 清空所有防火墙规则

systemctl stop firewalld  # 停止防火墙
systemctl status firewalld # 查看防火墙运行状态
systemctl start firewalld  # 启动
systemctl disable firewalld  # 永久关闭防火墙

   11.DNS(Domain Name System,域名系统)

      解析原理:

1 我在本地访问www.baidu.com
2 首先会从本地DNS缓存中去查找,如果没有
3 就会去本地hosts文件中去查找,如果没有
4 去公网的DNS服务器查看是否有此域名解析记录,如果还没有
5 说明此域名没有在公网注册解析

      hosts文件:

/etc/hosts

8.8.8.8 #谷歌的DNS
114.114.114.114 #114的DNS
119.29.29.29 # 腾讯的DNS
223.5.5.5 # 马云的DNS
223.6.6.6 # 马云的DNS

电信的DNS
202.96.134.133
202.96.134.134
202.96.128.86

  12.nslookup(域名解析)

用来将域名解析为IP
nslookup
nslookup www.baidu.com

二.包管理

  1.rpm介绍

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

  2.rpm使用

rpm包的简单查询指令:
  查询已安装的rpm列表 rpm –qa|grep xx  (查询所有的,过滤出我们要的)

rpm包名基本格式:
  一个rpm包名: firefox-45.0.1-1.el6.centos.x86_64.rpm
  名称:firefox
  版本号: 45.0.1-1
  适用操作系统: el6.centos.x86_64
  表示centos6.x64位系统
  如果是i686i386表示32位系统, noarch表示通用。。

rpm包的其它查询指令:
  rpm -qa :查询所安装的所有rpm软件包
  rpm -qa | more
  rpm -qa | grep X [rpm -qa | grep firefox ]
  rpm -q 软件包名 :查询软件包是否安装
  rpm -q firefox
  rpm -qi 软件包名 :查询软件包信息
  rpm -qi file
  rpm -ql 软件包名 :查询软件包中的文件
  rpm -ql firefox
  rpm -qf 文件全路径名 查询文件所属的软件包 (反向查询)
  rpm -qf /etc/passwd
  rpm -qf /root/install.log

卸载rpm包:
  • 基本语法
    rpm -e RPM包的名称
  • 应用案例
  1) 删除firefox 软件包
  • 细节讨论
  1) 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
    如: $ rpm -e foo
  removing these packages would break dependencies:foo is needed by bar-1.0-1
  2) 如果我们就是要删除 foo这个rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一
  般不推荐这样做, 因为依赖于该软件包的程序可能无法运行
    如: $ rpm -e --nodeps foo

安装rpm包:
基本语法
  rpm -ivh RPM包全路径名
参数说明
  i=install 安装
  v=verbose 提示
  h=hash 进度条

   3.yum使用(推荐使用)

    rpm安装遇到依赖包会一直询问是否安装依赖包,所以更推荐用yum来安装软件

    yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

  Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定
的服务器自动下载RPM包并且安装,可以自动处理依赖性关系, 并
且一次安装所有依赖的软件包。

yum的基本指令
查询yum服务器是否有需要安装的软件
yum list|grep xx软件列表
安装指定的yum
yum install xxx 下载安装


yum(选项)(参数)
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

常用命令:

yum list

yum install 软件名

yum update 软件名

yum remove 软件名

yum info 软件名

yum clean all 清除所有仓库缓存

   阿里云配置

#1. 备份原有的.repo源文件
cd  /etc/yum.repos.d
mkdir repobak
mv * repobak

#2. 下载阿里云的源文件和第三方扩展源文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#3.清空yum缓存和创建新的缓存 yum clean all yum makecache #4.安装软件扩展源(依赖) yum install -y epel-release #5. 使用yum工具下载安装nginx yum install nginx 注意: 只要是使用yum安装的软件,都可以使用systemctl进行管理 #6. 启动nginx systemctl start ngxinx #7.浏览器访问ngix http://192.168.226.128

 三.linux运行级别

  1.指定运行级别

运行级别说明:
    0:关机
    1:单用户(可以找回丢失的密码)相当于windows的安全模式
    2:多用户没有网络服务
    3:多用户有网络服务
    4:系统未使用保留给客户
    5:图形界面
    6:系统重启

常用的级别是3和5,要修改默认运行级别可修噶文件
/ect/iniittab文件下的id:5 initdefault这一行中的数字

 

  2.基本语法

把运行级别从当前切换到指定的运行级别:  
  init 0/1/2/3/4/5/6
例:init 0 关机
  init 3多用户有网络级别
忘记root密码该如何:
  思路:用单用户模式(不需要密码就可以登录)修改密码,重启,再进入正常模式用新密码进行登录
  步骤:开机-->在开机因到时候输入enter键--->新的图形界面输入 e-->来到一个新的图形界面--->移动到第二行(编辑内核模式) 输入 e--->
在这行最后输入 1回车键 --->再输入b进入单用户模式,进入到单用户模式就可以使用passwd命令修改root密码
原文地址:https://www.cnblogs.com/tjp40922/p/10200876.html