admin 管理员组

文章数量: 887019

教学视频尚学堂的韩顺平老师

B站AV号:av21303002

Linux基础篇

1.Linux的目录结构

/bin(重点)是Binary的缩写,这个目录存放一些经常使用的命令

/sbin s就是Super User的意思,这里存放的是系统管理员使用的命令

/home(重点)存放普通用户的主目录,在Linux中每一个用户都有一个自己的目录,一般该目录是以用户的账号命名的。

/root(重点)该目录为系统管理员的用户目录。

/lib 系统开机所需要最基本的动态链接共享库,起作用类似于Windows里的DLL文件。几乎所有的而应用程序都需要用到这些共享库。

/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/etc(重点)所有的系统管理所需要的配置文件和子目录

/usr(重点)这事一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program.file目录。

/boot(重点)存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件

/proc 这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息。

/srv “srv”是service的缩写,该目录存放一些服务启动之后需要提取的数据。

/sys 这事Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs

以上/proc /srv /sys这三个目录是Linux高手会动的一些目录(新手不要动)。

/tmp 这个目录是用来存放一些临时文件的。

/dev 类似于Windows的设备管理器,把所有的硬件用文件的形式存储(Linux中每个硬件都有一个映射文件)。

/media(重点)Linux系统会自动识别一些设备,例如:U盘、光驱等等,当识别后,Linux会把识别的设备挂在到这个目录下。

/mnt(重点)系统提供该目录是为了让用户临时挂在别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里面的内容了。

/opt 这是给主机额外安装软件的安装包所摆放的目录。如安装ORACLE数据库就可以放到该目录下。默认为空。

/usr/local(重点)这是另一个给主机额外安装软件的目录。一般是通过编译源码的方式安装的程序。

/var(重点)这个目录中存放着在不符按扩充着的东西,习惯将经常北徐该的目录放在这个目录下。比如:各种日志文件。

/selinux(security-enhanced linux)selinux是一种安全子系统,它能控制程序只能访问特定文件。

总结:

​ 1.Linux的目录中有且仅有一个根目录

​ 2.Linux的各个目录存放的内容是规范好的

​ 3.Linux是以文件的形式管理我们的设备,因此Linux系统中,一切皆为文件。

2.vi和vim编辑器

所有的Linux系统都会内建vi文本编辑器。

vim具有程序编辑能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译以及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

vi和vim的常用的三种模式

正常模式: 以vim打开一个档案就直接进入一般模式了(这事默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】和【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。

插入模式/编辑模式:按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,按ESC键回到正常模式。

命令行模式:在这个模式当中,可以提供相关指令 ,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的。

vim的常用快捷键

1.拷贝当前行“yy”,从当前行开始拷贝5行“5yy”。粘贴“p”

2.删除当前行“dd”,从当前行开始删除5行“5dd”

3.在文档中查找某个单词,在命令行模式下"/"+关键字 -> 回车查找(输入“n”查询下一个)

4.设置行号“:set nu”,取消行号“:set nonu”

5.在正常模式下输入‘’G“到文档末行,输入”gg“到文档首行

6.在正常模式下输入“u”执行撤销动作

7.在正常模式下输入想要移动到的行数,然后shift+g

3.关机&重启和用户登录&注销

关机&重启

shutdown -h now 立即关机

shutdown -h 1 1分钟后关机

shutdown -r now 立即重启

halt关机

reboot重启

sync把内存的数据同步到磁盘

**注意:**当我们关机或重启时,都应该执行一下sync指令,把内存的数据写入磁盘,防止数据丢失。

用户登录&注销

1.登录时尽量少用root账号登录,避免操作失误。普通用户登录后可以使用“su 用户名”命令来切换成root用户

2.在提示符下输入logout即可注销用户

**注意:**logout注销指令在图形运行级别无效,在运行级别3下有效

4. 用户管理

基本介绍

1.Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

2.Linux的用户至少要属于一个组。

添加用户

useradd 用户名。

注意:

1.创建用户时如果没有指定家目录,会自动创建一个和用户同名的家目录。也可以通过”useradd -d 家目录名 用户名“来指定用户家目录,但是要注意使用的目录不能是已经存在的目录。

2.创建用户是如果没有指定组,会自动创建一个和用户同名的组

指定/修改密码

passwd 用户名

删除用户

userdel 用户名,这种只删除用户不删除用户的家目录

userdel -r 用户名,删除用户的同时也删除用户的家目录

查询用户信息

id 用户名

切换用户

su 用户名(另一种格式su - 用户名) -> 输入密码

exit,返回到上一个用户

whomi(CentOS 6.4没有此命令)/who mi(CentOS 6.4没有反应),查看当前是哪个用户

注意:

1.从root用户切换到其他用户不用输入密码

2.切换到root用户时只输入“su”指令,就是默认切换到root用户

创建组

groupadd 组名

删除组

groupdel 组名

创建用户的同时指定组/修改用户的组

useradd -g 组名 用户名,**注意:**只能指定已经创建的组

用户和组相关的文件

/etc/passwd文件:用户(user)的配置文件,记录用户的各种信息,每行的含义,用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

/etc/shadow文件:口令的配置文件,每行的含义,登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group文件:组(group)的配置文件,每行含义,组名:口令:组标识号:组内用户列表

Linux实操篇

1.运行级别

基本介绍

0:关机

1:单用户模式【可以用来找回root账户的密码】

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

切换到指定的运行级别

**修改配置文件:**可以修改运行级别的配置文件“/etc/inittab”的”id:5:initdefault:“这一行中的数字,来改变默认的运行级别(重启之后才会生效)

**指令:**init 0~6(不需要重启直接生效)

**找回密码:**开机 -> 在引导时按回车键 -> 看到一个选择界面输入e -> 看到一个新的选择界面 -> 选中第二行(编辑内核) -> 输入e -> 输入1(单用户模式)回车 -> 输入b -> 进入到单用户模式,使用passwd指令修改密码

2.帮助指令

基本介绍

当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法

man指令

man 命令或配置文件,获取帮助信息

help指令

help 命令,获取shell内置命令的帮助信息

3.文件目录类

pwd 指令

pwd,显示当前工作目录的绝对路径

ls 指令

ls [选项] [目录或文件]

选项:

​ -a:显示当前目录所有文件和目录,包括隐藏的

​ -l:以列表的方式显示信息

**目录或文件:**指定要查看的文件或目录(不指定默认为当前文件或目录)

cd 指令

cd [参数],切换到指定目录

参数:

​ 绝对路径或相对路径

​ ”~“或“ ”回到当前用户的家目录

​ …回到当前目录的上一级目录

mkdir 指令

mkdir [选项] 目录名,用于创建目录

选项:

​ -p:创建多级目录

rmdir 指令

rmdir [选项] 目录名,删除空目录

touch指令

touch 文件名,创建一个空白文件

cp指令[重要]

cp [选项] source dest,将指定文件拷贝到指定目录

选项:-r,递归复制整个文件夹

\cp,cp前加一个反斜杠表示强制覆盖不需要提示

rm指令

rm [选项] 要删除的文件或目录名

选项:

-r,递归删除整个文件夹

-f,强制删除不需要提示

mv指令

mv oldNameFile newNameFile,重命名

mv 指定文件或目录 移动到指定目录

cat指令

cat [选项] 要查看的文件

选项:-n,显示行号

**使用细节:**cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令“ | more”。cat 文件名 | more[分页浏览

more指令

more 要查看的文件

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

more指令中内置的快捷键:

1.空格键、Ctrl+f,向下翻一页

2.回车键,向下翻译一行

3.q,离开more

4.Ctrl+b,回到上一页

5.=,输出当前行号

6.:f,输出文件名和当前行号

less指令

less 文件名

less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

less指令中内置的快捷键:

1.空格键、【pagedown】,向下翻一页

2.【pageup】,向上翻一页

3.q,离开less

4./字符串,向下搜寻 n:下一个 N:上一个

5.?字符串,向上搜寻 n:上一个 N:下一个

>指令和>>指令

> 输出重定向 :会将原来的文件的内容覆盖

>> 追加:不会覆盖原来文件的内容,而是追加到文件的尾部

echo 指令

echo [选项] [输出内容],输出内容到控制台

echo $PATH,输出当前的环境路径

head 指令

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容

head 文件 (功能描述:查看文件头 10 行内容)

head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)

tail 指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容

tail 文件名 (功能描述:查看文件后 10 行内容)

tail -n 5 文件名 (功能描述:查看文件后 5 行内容,5 可以是任意行数)

tail -f 文件名 (功能描述:实时追踪该文档的所有更新,工作经常使用)

ln 指令

软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

注意:

  1. 删除软连接时最后不要带/,否则提示资源忙。

  2. 当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在目录。

history 指令

history [个数,不写默认全部],查看已经执行过历史命令,也可以执行历史指令

“!历史命令的行号”,执行某行的历史命令指令

4.时间日期类

date 指令-显示当前日期

date(功能描述:显示当前时间)

date “+%Y”(功能描述:%Y年%m月%d日%H时%M分%S秒,中间可以用分割符)

date 指令-设置日期

date -s “年-月-日 时:分:秒”

cal 指令

cal [年份],(功能描述:不加年份,显示本月日历)

5.搜索查找类

find指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

find [搜索范围] [选项] [搜索内容]

选项:

-name,按照指定的文件名查找模式查找文件

-user,查找属于指定用户名所有文件

-size,按照指定大小查找文件(+大于 -小于 无等于)

locate 指令

locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

locate 文件名

**注意:**由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。

grep 指令和 管道符号 |

grep 过滤查找 , 管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

grep [选项] 查找内容 源文件

选项:

-n 显示匹配行的行号

-i 忽略字母大小写

6.压缩和解压类

gzip/gunzip 指令

gzip用于压缩文件, gunzip用于解压的

gzip 文件名,只能将文件压缩为*.gz 文件,压缩后源文件默认不保留

gunzip 文件名.gz,解压后源文件默认不保留

zip/unzip 指令

zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用

zip [选项] XXX.zip 将要压缩的内容

unzip [选项] 文件名

zip选项:-r,递归压缩,即压缩目录

unzip选项:-d [目录],指定解压后文件的存放目录

tar 指令

tar指令是打包指令,最后打包后的文件是以.tar.gz后缀的文件。

tar [选项] xxx.tar.gz 打包的内容

选项:

-c(产生.tar打包文件)

-v(显示详情信息)

-f (指定 打包/解包 后的文件名)

-z(打包/解包 同时 压缩/解压)

-x(解包.tar文件)

实操篇 组管理和权限管理

1. Linux组的基本介绍

在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。

2. 文件/目录 所有者/所在组

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

查看 文件/目录 的 所有者/所在组

ls -la

修改文件/目录所有者

chown newOwner fileName

chown newOwner:newGroup fileName(改变用户的所有者和所有组)

-R 如果是目录这使其下所有子文件或目录递归生效

修改文件/目录所在组

chgrp 组名 文件名

3. 其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组.

4. 改变用户所在组

  1. usermod –g 组名 用户名

  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录。

5.权限的基本介绍

ls -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

0-9 位说明

  1. 第 0 位确定文件类型(d目录,-文件,l软连接,c字符设备[键盘、鼠标],b块文件[硬盘])

  2. 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User

  3. 第 4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group

  4. 第 7-9 位确定其他用户拥有该文件的权限 —Other

后八项说明

  1. 第一项"1",文件:硬连接数或 目录:子目录数

  2. ”第二项root“ 用户

  3. 第三项“root” 组

  4. 第四项”1213“ 文件大小(字节),如果是文件夹,显示 4096 字节

  5. 第五、六、七项“Feb 2 09:39” 最后修改日期

  6. 第八项“abc” 文件名

6. rwx 权限详解
rwx 作用到文件
  1. [ r ]代表可读(read): 可以读取,查看

  2. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

  3. [ x ]代表可执行(execute):可以被执行

rwx 作用到目录
  1. [ r ]代表可读(read): 可以读取,ls 查看目录内容

  2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

  3. [ x ]代表可执行(execute):可以进入该目录

7. 修改权限-chmod

**基本说明:**通过 chmod 指令,可以修改文件或者目录的权限

第一种方式:+ 、-、= 变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名

  2. chmod o+w 文件目录名

  3. chmod a-x 文件目录名

第二种方式:通过数字变更权限

规则:r=(二进制)100 w=10 x=1,rwx=111相当于十进制的7

“chmod u=rwx,g=rx,o=x 文件目录名” 相当于 “chmod 751 文件目录名”

实操篇 crond任务调度

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

  1. 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等

  2. 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。

基本语法:

crontab [选项]

service crond restart 重启任务调度

选项:-e(编辑crontab定时任务),-l(查询crontab任务),-r(删除当前用户所有的crontab任务)

5个占位符的说明:

  1. 第一个“*”,一个小时中的第几分钟,0-59
  2. 第二个“*”,一天中的第几个小时,0-23
  3. 第三个“*”,一个月中的第几天,1-31
  4. 第四个“*”,一年中的第几个月,1-12
  5. 第五个“*”,一周中的星期几,0-7(0和7都代表星期日)

特殊符号的说明:

  1. “*”,代表任何时间。
  2. “,”,不连续的时间节点以“,”分割。
  3. “-”,代表连续的时间,从一个时间节点到另一个时间节点。
  4. “*/n”,代表每隔多长时间执行一次

实操篇 Linux磁盘分区、挂载

1. 分区基础知识

分区的方式:

mbr 分区:

  1. 最多支持四个主分区

  2. 系统只能安装在主分区

  3. 扩展分区要占一个主分区

  4. MBR 最大只支持 2TB,但拥有最好的兼容性

gtp 分区:

  1. 支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)

  2. 最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB )

  3. windows7 64 位以后支持 gtp

2. Linux 分区

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

3. 硬盘说明

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

4. lsblk 指令

lsblk -f,查看系统的分区和挂载情况

lsblk,查看磁盘和磁盘下的分区信息

5. 如何增加一块新磁盘

  1. 虚拟机设置中添加一个新磁盘(完成后要重启)

  2. 分区,fdisk 设备名(如:/dev/sdb)

    开始对/sdb 分区

    •m 显示命令列表

    • p 显示磁盘分区同 fdisk –l

    • n 新增分区

    • d 删除分区

    • w 写入并退出

    说明: 开始分区后输入 n,新增分区,然后选择 p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入 w 写入分区并退出,若不保存退出输入 q。

  3. 格式化,mkfs -t 分区类型(ext4) 设备名

  4. 挂载,mount 设备名 目录名(不设置自动挂载的话重启后挂载就没了)

  5. 设置 自动挂载/永久挂载 在“etc”目录下的fstab文件中按格式添加要挂载的目录。

    例:/dev/sdb1(设备名或UID) /home/newdisk(目录名) ext4(分区类型) defaults 0 0

卸载指令

umount 设备名或者目录名

6. 磁盘情况查询

查询系统整体磁盘使用情况

df -h

查询指定目录的磁盘占用情况

du [选项] 目录(查询指定目录的磁盘占用情况,默认为当前目录)

选项:

  1. -s 指定目录占用大小汇总
  2. -h 带计量单位
  3. -a 含文件
  4. –max-depth=1 子目录深度
  5. -c 列出明细的同时,增加汇总值
统计/home目录下文件的个数,包括子目录里的文件

ls -lR /home | grep “^-” | wc -l

以树状显示目录结构

tree,(下载tree指令yum instal tree)

Linux实操篇 网络配置

指定固定ip

修改vim /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes 启用boot配置成yes

BOOTPROTO=static 已经静态方式获取ip

IPADDR=192.168.29.128 指定ip

GATEWAY=192.168.184.2 网关

DNS1=192.168.184.2 dns(域名)和网关保持一致即可

修改后,一定要 重启服务

  1. service network restart
  2. reboot 重启系统

Linux实操篇 进程管理

1. 进程的基本介绍

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

2. 显示系统执行的进程

说明:

​ 查看进行使用的指令是ps ,一般来说使用的参数是 ps -aux

​ ps -a:显示当前终端的所有进程信息

​ ps -u:以用户的格式显示进程信息

​ ps -x:显示后台进程运行的参数

​ 以全格式显示当前所有的进程,查看进程的父进程

​ ps -e 显示所有进程

​ ps -f 全格式

ps指令详解
  1. 指令:ps –aux,**例:**看看有没有 sshd 服务,ps -aux | grep sshd

  2. 指令说明:

    System V 展示风格

    USER:用户名称

    PID:进程号

    %CPU:进程占用 CPU 的百分比

    %MEM:进程占用物理内存的百分比

    VSZ:进程占用的虚拟内存大小(单位:KB)

    RSS:进程占用的物理内存大小(单位:KB)

    TTY:终端名称,缩写 .

    STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

    STARTED:进程的启动时间

    TIME:CPU 时间,即进程使用 CPU 的总时间

    COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

  3. 指令:ps -ef

    UID:用户 ID

    PID:进程 ID

    PPID:父进程 ID

    C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高

    STIME:进程启动的时间

    TTY:完整的终端名称

    TIME:CPU 时间

    CMD:启动进程所用的命令和参数

3. 终止进程kill和killall

介绍:

​ 若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill 命令来完成此项任务。

基本语法:

kill [选项] 进程号(功能描述:通过进程号杀死进程)

killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

选项:

​ -9:表示强迫进程立即停止

4. 查看进程树pstree

基本语法:

pstree [选项],可以更加直观的来看进程信息

常用选项:

-p:显示进程的PID

-u:显示进程的所属用户

5. 服务管理

介绍:

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

service管理指令:

service 服务名 [start|stop|restart|reload|status],**例:**service iptables stop关闭防火墙

细节讨论:
  1. Windows中使用”telnet IP地址 端口号“来测试端口是否可以连接(win10在搜索框内查找 - 启用或关闭Windows功能 - 找到Telnet勾上)
  2. 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置
  3. 如果希望设置某个服务自启动或关闭永久生效,要使用 chkconfig 指令
开机的流程说明

开机 ——》 BIOS ——》 /boot ——》 init进程 ——》 运行级别 ——》 运行级别对应的服务

查看服务名:
  1. 使用setup -> 系统服务(init 3下不能用)。

  2. /etc/init.d目录下,ls查看

chkconfig指令

**介绍:**通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法:

  1. 查看服务chkconfig --list
  2. chkconfig 服务名 --list(同chkconfig --list | grep 服务名)
  3. chkconfig 服务名 on/off,在所有运行级别下
  4. chkconfig --level 运行级别 服务名 on/off

**注意:**chkconfig重新设置服务自启动的开启或关闭后,需要重启Linux

动态监控进程

介绍:

​ top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。

基本语法:

top [选项]

选项:

​ -d 秒数 ,指定top命令每个几秒更新。默认是3秒在top命令的交互模式当中可执行的命令

​ -i,使top不显示任何闲置或者僵死进程

​ -p,通过指定监控进程ID,来监控某个进程的状态

交互操作说明:

​ P,以CPU使用率排序,默认就是此项

​ M,以内存的使用率排序

​ N,以PID排序

​ q,退出top

​ u 进程名 回车,监视指定用户

​ k 进程ID 回车,结束指定进程

查看系统网络情况netstat(重要)

基本语法:

netstat [选项]

选项说明:

-an,按一定顺序排列输出

-p,显示哪个进程在调用

实操篇 RPM和YUM

1. rpm包的管理

介绍:

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

rpm包的简单查询指令

rpm -qa,查询所有

查询当前的 Linux 有没有安装 firefox,rpm -qa | grep firefox

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 表示通用

rpm包的其他查询指令:

rpm -qi 软件包名;查询安装的rpm包软件的信息

rpm -ql 软件包名;查询rpm包的文件安装到哪去了

rpm -qf 文件全路径名;查询某个软件属于哪个rpm包

卸载rpm包:
基本语法:

rpm -e RPM包名

细节:
  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,带上 --nodeps 就是强制删除

安装rpm包:
基本语法:

rpm -ivh RPM包全路径名称

参数说明:

i,install安装

v,verbose提示

h,hash进度条

示例:安装Firefox
  1. 前提ISO映像文件必须是指定的,不能是自动检测
  2. 然后到/media/CentOS_6.4_Final/Packages目录下,执行ls | grep firefox命令
  3. 将firefox安装包拷贝到/opt目录下,cp firefox安装包名 /opt
  4. rpm -ivh firefox安装包名,安装

2. yum

介绍:

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

yum的基本指令

yum list;查看yum服务器的软件列表,yum list | grep firefox

yum install xxx;下载xxx

示例:安装firefox

yum install firefox

本文标签: 笔记 Linux