Linux学习

目录

1.Linux介绍

1.linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c++/java/python/java/go)都会部署到Linux/Unix系统上。

2.Linux目录结构

linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录

  1. /bin:存放最经常使用的命令
  2. /sbin:存放系统管理员使用的系统管理程序
  3. /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
  4. /root:该目录为系统管理员,也称作超级权限者的用户主目录
  5. /lib:系统开机所需要的最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。类似于windows的ddl文件
  6. /lost+found:此目录一般为空,用于系统非法关机时存放文件
  7. /etc:存放所有的系统管理所需要的配置文件和子目录
  8. /usr:存放用户的很多应用程序和文件,类似windows的program files目录
  9. /boot:存放在启动linux时使用的一些核心文件
  10. /proc:虚拟目录,是系统内存的映射
  11. /srv:service缩写,该目录存放一些服务启动之后需要提取的数据
  12. /sys:该目录安装了2.6内核中新出现的一个文件系统sysfs
  13. /tmp:用来存放一些临时文件
  14. /dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储
  15. /media:linux系统会自动识别U盘、光驱等设备,并把识别的设备挂载到这个目录下
  16. /mnt:让用户临时挂载别的文件系统,我们可以将外部的存储挂载在/mnt上。
  17. /opt:给主机额外安装软件所存放的目录
  18. /usr/local:另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
  19. /var:存放不断扩充着的东西,习惯将经常被修改的目录放在这个目录下
  20. /selinux:是一个安全子系统,能控制程序只能访问特定文件,有三种工作模式,可以自行设置

3.vi和vim编辑器

linux系统会内置vi文本编辑器,vim是vi的增强版本

3.1 常用的三种模式

  • 正常模式
    默认模式,在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。
  • 插入模式
    按下i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按i 即可
  • 命令行模式
    输入esc 再输入“:”,在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!

3.2 vi和vim快捷键

  • 拷贝当前行:yy,拷贝当前行向下的5行:5yy
  • 删除当前行:dd,删除当前行向下的5行:5dd
  • 查找关键字:/关键字,回车查找,输入n就是查找下一个
  • 设置文件的行号::set nu
  • 取消文件的行号::set nonu
  • 撤销动作:在一般模式下,u

4.开机、重启和用户登陆注销

  1. shutdown -h now ,立刻关机
  2. shutdown -h 1 ,1分钟后关机
  3. shutdown -r now ,立刻重启
  4. halt ,同关机
  5. reboot ,同重启
  6. sync ,把内存的数据同步到硬盘
  7. su - 用户名 ,切换用户
  8. logout ,注销用户(只有在运行级别3下有效)

5.用户管理

Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,在/home下生成一个目录,然后以这个账号的身份进入系统

5.1 添加用户

useradd 用户名,(默认目录在/home下),也可以 useradd -d 指定目录 用户名,(指定家目录位置)

5.2 指定/修改密码

passwd 用户名

5.3 显示当前用户所在目录

pwd

5.4 删除用户

userdel 用户名(会保留家目录)
userdel -r 用户名(不保留家目录)

5.5 查询用户信息

id 用户名

5.6 切换用户

su 用户名
权限高 - > 权限低 不需要输密码,反之需要
切换之后返回到原用户:exit/logout

su
是申请切换root用户,需要申请root用户密码。有些Linux发行版,例如ubuntu,默认没有设置root用户的密码,所以需要我们先使用sudo passwd root设置root用户密码。我设置的是root123456,设置完之后就可以通过此指令输入root的密码切换到root
对于 centos ,新创建后,切换到 root 用户 指令为 su - ,按照提示输入当前用户密码。切换进去后 passwd root 为 root 用户设置密码。

sudo su
是当前用户暂时申请root权限,所以输入的不是root用户密码,而是当前用户的密码。sudo是用户申请管理员权限执行一个操作,而此处的操作就是变成管理员。

5.7 查看当前用户/登录用户

who am i

5.8 用户组

类似于角色,系统可以对有共性/权限的多个用户进行统一的管理

5.8.1 新增组

groupadd 组名

5.8.2 删除组

groupdel 组名

5.8.3 增加用户时可以直接加上组

user add -g 用户组 用户名

5.8.4 修改用户的组

usermod -g 用户组 用户名

5.9 用户和组相关文件

5.9.1 /etc/passwd 文件

用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shel
在这里插入图片描述

5.9.2 /etc/shadow文件

口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
在这里插入图片描述

5.9.3 /etc/group文件

组(group)的配置文件,记录Linux 包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
在这里插入图片描述

6. 实用指令

6.1 基本介绍

运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3 和5 ,也可以指定默认运行级别
命令:init [0123456]
在centos7以后进行了简化,有以下两种级别
multi-user.target 3级别
graphical.target 5级别
通过systemctl get-default 获取当前运行级别
通过systemctl set-default TARGET.target 来设置运行级别

6.2 帮助指令

man 获得帮助信息
help 获得shell内置命令的帮助信息

6.3 文件目录类

6.3.1 pwd指令

用于显示当前工作目录的绝对路径

6.3.2 ls指令

用于展示文件
ls [选项] [目录或文件]
常用选项:
-a:显示当前目录的所有文件和目录,包括隐藏的
-l:以列表的方式显示信息

6.3.3 cd指令

cd [参数] ,切换到指定目录
cd ~,回到自己的家(当前用户)目录
cd …,回到当前目录的上一级目录
“/” 代表切到根目录“;
…/”代表切到上一级目录;cd …/user/bin 表示切换到上一级目录下的user中的bin中。
"./"代表当前目录,与什么都不加效果一样。

6.3.4 mkdir指令

用于创建目录
基本语法:mkdir [选项] 要创建的目录
-p:创建多级目录

6.3.5 rmdir指令

用于删除空目录
基本语法:rmdir [选项] 要删除的空目录
使用细节:rmdir 删除的是空目录,如果目录下有内容是无法删除的。如果需要删除非空目录,需要使用 rm -rf 要删除的目录

6.3.6 touch指令

用于创建空文件
基本语法:touch 文件名称

6.3.7 cp指令

拷贝文件到指定目录
基本语法:cp [选项] source dest
-r:递归复制整个文件夹

6.3.8 rm指令

删除文件或目录
基本语法:rm [选项] 要删除的文件或目录
-r:递归删除整个文件夹
-f:强制删除不会提示你 “是否要删除”

6.3.9 mv指令

移动文件与目录 或 重命名
基本语法:
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)

6.3.10 cat指令

查看文件内容
基本语法:cat [选项] 要查看的文件
-n:显示行号
使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
cat -n /etc/profile | more [进行交互]

6.3.11 more指令

more 指令是一个基于VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若
干快捷键(交互的指令),详见操作说明
在这里插入图片描述

6.3.12 less指令

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

基本语法:less 要查看的文件
在这里插入图片描述

6.3.13 echo指令

输出内容到控制台
基本语法:echo [选项] [输出内容]

6.3.14 head指令

用于显示文件的开头部分内容,默认情况下head 指令显示文件的前10 行内容
基本语法:
head 文件 (功能描述:查看文件头10 行内容)
head -n 5 文件 (功能描述:查看文件头5 行内容,5 可以是任意行数)

6.3.15 tail指令

与head相反

6.3.16 > 指令 和 >> 指令

“>” 输出重定向和 “>>” 追加
基本语法:
ls -l >文件 (功能描述:列表的内容写入文件a.txt 中(覆盖写))
ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt 的末尾)
cat 文件1 > 文件2 (功能描述:将文件1 的内容覆盖到文件2)
echo “内容”>> 文件 (追加)

6.3.17 ln指令

软链接也称为符号链接,类似于windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法:
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

6.3.18 history指令

查看已经执行过历史命令,也可以执行历史指令
基本语法:
显示最近使用过的10 个指令:history 10
执行历史编号为5 的指令:!5

6.4 时间日期类

6.4.1 date指令-显示当前日期

基本语法:
date (功能描述:显示当前时间)
date +%Y(功能描述:显示当前年份)
date +%m(功能描述:显示当前月份)
date +%d (功能描述:显示当前是哪一天)
date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)

6.4.2 date指令-设置日期

基本语法:
date -s 字符串时间
例:date -s “2020-11-03 20:02:10”

6.4.3 cal指令

查看日历指令cal
基本语法:
cal [选项] (功能描述:不加选项,显示本月日历)
显示2020 年日历:cal 2020

6.5 搜索查找类

6.5.1 find指令

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:
find [搜索范围] [选项]
选项说明:
在这里插入图片描述
应用案例:
案例1: 按文件名:根据名称查找/home 目录下的hello.txt 文件
find /home -name hello.txt
案例2:按拥有者:查找/opt 目录下,用户名称为 nobody 的文件
find /opt -user nobody
案例3:查找整个linux 系统下大于200M 的文件(+n 大于 -n 小于 n 等于, 单位有 k,M,G)
find / -size +200M

6.5.2 locate指令

locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate 时刻。
基本语法:
locate 搜索文件
特别说明:
由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb 指令创建locate 数据库。

6.5.3 grep指令和管道符号 |

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
基本语法:
grep [选项] 查找内容 源文件
常用选项:
在这里插入图片描述
应用实例:
案例1: 请在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号
写法1: cat /home/hello.txt | grep “yes”
写法2: grep -n “yes” /home/hello.txt

6.6 压缩和解压类

6.6.1 gzip / gunzip 指令

gzip 用于压缩文件, gunzip 用于解压
基本语法:
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)

6.6.2 zip / unzip 指令

zip 用于压缩文件, unzip 用于解压的
基本语法:
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip常用选项:
-r:递归压缩,即压缩目录
unzip常用选项:
-d <目录> :指定解压后文件的存放目录

6.6.3 tar指令

tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
基本语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:
在这里插入图片描述
应用实例:
案例1: 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例2: 将/home 的文件夹 压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例3: 将 pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz
案例4: 将myhome.tar.gz 解压到 /opt/tmp2目录下
(1) mkdir /opt/tmp2
(2) tar -zxvf /home/myhome.tar.gz -C /opt/tmp2

7. 组管理和权限管理

7.1 linux组基本介绍

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

7.2 文件/目录 的所有者

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

7.2.1 查看文件的所有者

指令:ls -ahl

7.2.2 修改文件所有者

指令:chown 用户名 文件名

7.3 组的创建

基本指令:groupadd 组名

7.4 文件/目录 所在组

7.4.1 查看文件/目录的所在组

基本指令:ls -ahl

7.4.2 修改文件/目录所在的组

基本指令:chgrp 组名 文件名

7.5 其他组

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

7.6 改变用户所在组

usermod –g 新组名 用户名
usermod –d 目录名 用户名 改变该用户登陆的初始目录

7.7 权限的基本介绍

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位说明
第0 位确定文件类型(d, - , l , c , b)
l 是链接,相当于windows 的快捷方式
d 是目录,相当于windows 的文件夹
c 是字符设备文件,鼠标,键盘
b 是块设备,比如硬盘
第1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
第4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
第7-9 位确定其他用户拥有该文件的权限 —Other

7.8. rwx权限详解

7.8.1 rwx作用到文件

[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
[ x ]代表可执行(execute):可以被执行

7.8.2 rwx作用到目录

[ r ]代表可读(read): 可以读取,ls 查看目录内容
[ w ]代表可写(write): 可以修改, 对目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录

7.9 上述ls展示内容解释

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
第一组rwx : 文件拥有者的权限是读、写和执行
第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
其他说明:
1:文件:硬连接数 ;目录:子目录数
root: 用户
root:组
1213:文件大小(字节),如果是文件夹,显示 4096 字节
Feb 2 09:39:最后修改日期
abc:文件名

7.10 修改权限-chmod

通过chmod指令,可以修改文件或者目录的权限

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

u:所有者,g:代表,o:其他人,a:所有人
案例:
(1)给abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
chmod u=rwx,g=rx,o=rx abc
(2)给abc 文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc
(3)给abc 文件的所有用户添加读的权限
chmod a+r abc

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

r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件/目录名
相当于 chmod 751 文件/目录名

8. 定时任务调度

8.1. crond任务调度

crontab 进行 定时任务的设置

8.1.1 概述

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

8.1.2 基本语法

crontab [选项]

8.1.3 常用选项

在这里插入图片描述

8.1.4 快速入门

如:*/1 * * * * ls -l /etc/ > /tmp/to.txt
意思:每小时的每分钟执行ls -l /etc/ > /tmp/to.txt 命令
5个占位符的说明:
在这里插入图片描述
特殊符号的说明:
在这里插入图片描述
特殊时间执行案例
在这里插入图片描述

8.1.5 应用实例

(1)每隔1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
*/1 * * * * date >> /tmp/mydate
(2)每隔1 分钟, 将当前日期和日历都追加到 /home/mycal 文件中
步骤:
(1)写一个脚本: vim /home/my.sh 写入内容 date >> /home/mycal 和 cal >> /home/mycal
(2) 给 my.sh 增加执行权限,chmod u+x /home/my.sh
(3) crontab -e 增加 */1 * * * * /home/my.sh

8.1.6 crond相关指令

conrtab –r:终止任务调度。
crontab –l:列出当前有那些任务调度
service crond restart [重启任务调度]

8.2 at定时任务

8.2.1 基本介绍

(1) at 命令是一次性定时计划任务,at 的守护进程atd 会以后台模式运行,检查作业队列来运行。
(2) 默认情况下,atd 守护进程每60 秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
(3) at 命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
(4) 在使用at 命令的时候,一定要保证atd进程的启动 , 可以使用相关指令来查看
ps -ef | grep atd //可以检测atd 是否在运行

8.2.2 命令格式

at [选项] [时间]
Ctrl + D 结束at命令的输入,按两次

8.2.3 at时间定义的方法

(1)接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00
(2) 使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4 点)等比较模糊的词语来指定时间。
(3) 采用12 小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 例如:12pm
(4) 指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2021-03-1
(5) 使用相对计时法。指定格式为:now + count time-units ,now 就是当前时间,time-units 是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count 是时间的数量,几天,几小时。 例如:now + 5 minutes
(6) 直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

9. linux磁盘分区、挂载

9.1 linux分区

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

9.2 查看所有设备挂载情况

命令:lsblk 或者 lsblk -f

9.3 如何添加一块硬盘

1、 虚拟机添加硬盘
2、 分区
命令:fdisk /dev/sdb
开始对/sdb分区,开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
3、格式化硬盘
命令:mkfs -t ext4 /dev/sdb1
其中ext4是分区类型
4、挂载
将一个分区与一个目录联系起来
mount 设备名称 挂载目录
例如: mount /dev/sdb1 /newdisk
(将sdb1 与 建立的newdisk目录联系起来)
5、永久挂载
通过修改/etc/fstab实现挂载
添加一行:/dev/sdb1 … /new disk … … 0 0
添加完成后 执行mount -a 即刻生效
6、取消挂载
umount 设备名称 或者 挂载目录
即 umount /dev/sdb1 或者 umount /newdisk

9.4 磁盘情况查询

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

基本语法:df -h

9.4.2 查询指定目录的磁盘占用情况(默认为当前目录)

基本语法:du -h
选项:
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
例:查询 /opt 目录的磁盘占用情况,深度为1
du -hac --max-depth=1 /opt

9.5 磁盘情况-工作实用指令

1、统计/opt 文件夹下文件的个数
ls -l /opt | grep “^-” | wc -l
2、统计/opt 文件夹下目录的个数
ls -l /opt | grep “^d” | wc -l
3、统计/opt 文件夹下文件的个数,包括子文件夹里的
ls -lR /opt | grep “^-” | wc -l
4、统计/opt 文件夹下目录的个数,包括子文件夹里的
ls -lR /opt | grep “^d” | wc -l
5、以树状显示目录结构 tree 目录(如果没有tree ,则使用 yum install tree 安装)
tree /home

10.进程管理

10.1 显示系统执行的进程

ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数

10.2 ps 详解

指令:ps -aux | grep xxx ,比如看看有没有sshd 服务
指令说明:
System V 展示风格
USER:用户名称
PID:进程号
%CPU:进程占用CPU 的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
TT:终端名称,缩写 .
STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU 时间,即进程使用CPU 的总时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

10.3 以全格式显示当前所有的进程(包括父进程)

命令:ps -ef。-e 显示所有进程。-f 全格式
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU 用于计算执行优先级的因子。数值越大,表明进程是CPU 密集型运算,执行优先级会降低;数值越小,表明进程是I/O 密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数

10.4 终止进程kill和killall

基本语法:
kill [选项] 进程号(功能描述:通过进程号杀死/终止进程)
killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
常用选项:
-9 :表示强迫进程立即停止

10.5 查看进程树

基本语法:pstree [选项]
常用选项:
-p:显示进程的PID
-u:显示进程的所属用户

10.6 服务(service)管理

10.6.1 介绍

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

10.6.2 service管理指令

基本指令:
service 服务名 [start | stop | restart | reload | status]
service指令管理的服务在 /etc/init.d 查看
ls -l /etc/iniit.d/

10.6.3 service管理指令案例

使用service 指令,查看,关闭,启动 network:
service network status
service network stop
service network start

10.6.4 查看服务名

方式1:使用setup–>系统服务 就可以看到全部
方式2:/etc/init.d 看到service指令管理的服务

10.6.5 服务的运行级别

还是之前说过的 init [0123456]

10.6.6 chkconfig指令

介绍:通过chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭
基本语法:
(1)查看服务 chkconfig --list [| grep xxx]
(2)chkconfig 服务名 --list
(3)chkconfig --level 5 服务名 on/off
案例展示:
把network 在3 运行级别,关闭自启动
chkconfig --level 3 network off
使用细节:
chkconfig 重新设置服务后自启动或关闭,需要重启机器reboot 生效

10.6.7 systemctl 管理指令

基本语法:
systemctl [start | stop | restart | status] 服务名
systemctl 指令管理的服务在 /usr/lib/systemd/system 查看
应用案例: 查看当前防火墙的状况,关闭防火墙和启动防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld
细节:
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
如果希望设置某个服务自启动或关闭永久生效,要使用 systemctl [enable|disable] 服务名

10.6.8 systemctl 设置服务的自启动状态

(1)systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤)
(2)systemctl enable 服务名 (设置服务开机启动)
(3)systemctl disable 服务名 (关闭服务开机启动)
(4)systemctl is-enabled 服务名 (查询某个服务是否是自启动的)

10.6.9 打开或者关闭指定端口(也就是防火墙指定某端口可以打开/关闭)

(1) 打开端口: firewall-cmd --permanent --add-port=端口号/协议
(2) 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
(3) 重新载入,才能生效 : firewall-cmd --reload
(4) 查询端口是否开放: firewall-cmd --query-port=端口/协议

10.7 动态监控进程

10.7.1 介绍

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

10.7.2 基本语法

top [选项]
选项说明:
在这里插入图片描述
交互操作说明:
在这里插入图片描述
应用实例:
(1) 监视特定用户, 比如我们监控 tom 用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”回车,再输入用户名,即可,
(2) 终止指定的进程, 比如我们要结束tom 登录
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程ID 号
(3) 指定系统状态更新的时间(每隔10 秒自动更新), 默认是 3 秒
top -d 10

10.8 监控网络状态

10.8.1 查看系统网络情况netstat

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

10.9 查看某个端口号是否被占用

CentOS 7

ss -tlnp | grep 端口号
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

henulmh

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

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

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

打赏作者

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

抵扣说明:

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

余额充值