Linux复习笔记
Linux
hsp
1.远程登陆到linux服务器
- 为什么要远程?——->小组公网共享linux服务器
- 远程操作的软件:xshell(远程登陆),xftp(远程文件上传下载)
- 如何连接?:linux 的ifconfig命令
- xshell可以实现远程进行linux命令操作,xftp远程文件的windows和xftp互传
2.linux vi和vim编辑器
linux系统内置的vi文本编辑器(相当于windows的记事本)
vim是vi的增强版,有程序编辑能力
2.1常用的三种模式:
- 正常模式:用vim打开文档就直接进入的默认模式,可以上下左右移动光标,可以删除字符或删除整行
- 插入模式:输入
i/I
- 命令行模式:读取,存盘,替换,离开vim,显示行号。从插入模式进入命令行模式—->先输入
esc
,再输入冒号(:
)
2.2vi/vim的快捷键:
- vi/vim的各种模式的切换:输入
vim filename
打开文件(默认模式),输入i/I进入编辑模式 按esc回到默认模式,在默认模式输入:或者 / 进入命令模式 按下esc键退出。在命令模式下:wq(保存退出),q(退出,不保存),q!(强制退出,不保存)。 - 拷贝当前行:
yy
,若要拷贝当前行向下5行(包括当前行)5yy
(选中几行)然后输入p(粘贴) - 删除当前行:
dd
,若要删除当前行向下5行(包括当前行)5dd
- 查找关键字:要在命令行下进行操作:进入命令行,然后输入**/关键字**,回车查找,输入n是查找下一个
- 设置文件行号:
set nu
(设置),set nonu
(取消文件行号) - 跳转文件首尾行:在默认模式下,
G
就是文件尾行,gg
是文件首行。 - 撤销动作:在默认模式下,输入
u
。 - 快速定位到某一行:在默认模式下,输入20(定位到20行),再输入
shift+g
- 其他…看hsp文档
2.3.关机重启
shutdown -h(halt的意思:停止) now
立刻进行关机shutdown -h 1
,提醒用户一分钟之后关机,与直接输入shutdown的效果一致shutdown -r(reboot的意思) now
现在重启计算机halt
关机reboot
重启计算机sync
把内存数据同步到磁盘:目前的shutdown/reboot/halt
命令都会在关机前自动执行sync命令
2.3.1用户登陆或注销
- 切换管理员账户
su root
细节:su - root
和su root
:前者用户是root(在root家),后者用户还是原用户(在ahao家),只是有了root权限 - logout注销当前用户:注意必须是在 非图形运行级别(在shell下才行,退出当前用户),并且在 运行级别为3 下才有效。
2.4.用户管理
- linux是多用户操作系统,若要进行操作,首先要向系统申请用户账号。
- 添加用户:
useradd 用户名
,添加谁就会自动创建该用户的家目录,在/home/用户名 中。 useradd -d 指定目录 用户名
在指定目录下(没有可以自动创建),创建用户名同名文件夹。passwd 用户名
给用户指定密码,若不写用户名则默认给当前用户设置。- 显示当前用户所在的目录
pwd
- 删除用户:
userdel 用户名
(会保留家目录),userdel -r 用户名
(会连带家目录一起删除),但是两者都不能继续登陆了。 - 一般情况下建议保留家目录:工作资料要保留。
2.4.1 用户管理2
- 查询用户信息指令:
id 用户名
,可以查询uid,gid和当前组 - 切换用户
su - 用户名
注意:从权限高的用户切换到权限低的用户不需要输入密码,反之需要。切换回原来:exit/logout - 查看当前用户:
whoami(当前用户名)/who am i(首次登陆的用户)
2.4.2 用户组
- 给权限相同的组进行分组
groupadd 组名
进行添加,groupdel 组名
进行删除- linux特点:没有消息就是好消息。当默认创建一个用户时,系统会自动将用户分配给与用户名相同的组。
- 将用户指定组名进行添加:
useradd -g 用户组 用户名
- 将用户切换到另外的组:
usermod -g 用户组 用户名
- 用户组和相关文件:
- /etc/passwd文件:用户配置文件,记录各种信息。每行含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shll
- /etc/shadow文件:口令配置文件,每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- /etc/group文件:记录linux包含的组的信息,每行含义:组名:口令:组标识号:组内用户列表
- shell的作用:将口令进行解释,输入linux内核操作。
3.实用指令
3.1运行级别
0关机,1单用户(可以找回丢失的密码),2多用户状态下没有网络服务,3多用户状态下有网络服务(2 4用的少,这个用的多),4系统未使用保留给用户,5图形界面,6系统重启
常用3和5,init指令切换不同的运行级别:
init 3
切换至3修改默认运行级别,在centos7以前,etc/inittab文件中的
multi-user.target:analogous to runlevel 3 graphical.target:analogous to runlevel 5
这两句话中之后(centos7)用
systemctl get-default
命令查看当前用户级别systemctl set-default TARGET.target(用户级别)
命令修改当前用户级别
3.2找回root密码
- 不同版本不同
- 以7之后为例:在开机界面按“e”,速度要快。
- 看老韩文档照抄就行。
3.3帮助指令
- man+指令:获取帮助信息,如
man ls
查看ls指令的帮助信息(ls -a列出包括 . 开头的隐藏文件,linux的隐藏文件以 . 开头) - help+指令
3.4文件目录指令
- pwd:显示当前所在的绝对路径。相对路径:从当前目录开始找。
- ls显示文件:-l是以列表形式,-lh是以单位显示文件大小。
- cd切换:cd ~回到家目录,cd ..回到上一目录
- mkdir:
mkdir 选项 要创建的目录
如-p:可以创建多级目录,mkdir -p /home/animal/dog
,相应的目录都会创建 - rmdir:删除空目录,
rmdir 选项 要删除的空目录
,若要删除非空目录:rm -rf 要删除的目录
:该命令会递归删除文件夹下所有的文件。(跑路指令rm -rf /*) - touch:创建一个空文件,
touch 文件名称
- cp:
cp 选项 source dest
:复制从源文件夹source到目标文件夹dest,-r:递归整个文件夹。第二次执行会覆盖,系统会提示。强制覆盖且不提示\cp
反斜杠cp - rm指令:
rm 选项 要删除的目录或者文件
:-r:递归删除整个文件夹,-f:强制删除不提示,-rf:递归删除且不提示 - mv指令:移动文件与目录或者重命名。
mv 老文件 新文件(重命名)
,mv 老文件位置 新位置(将文件移动到这个位置去)
,还可以移动并且重命名。mv 老文件名 新路径/新名称
,对文件夹也是相同的操作 - cat指令:查看文件内容,
cat 选项 要查看的文件
常用选项:-n,显示行号。对于重要的文件推荐使用cat,因为这个指令只能读不能改。为了方便浏览,一般会带上管道命令 | more(将前一个指令的结果交给后面more的指令进行交互,如可以翻页等) - more指令:是基于vi编辑器的文本过滤器,以全屏幕的方式按页显示文本文件的内容。可以和cat配合使用,也可以单独使用。more指令中的快捷键:空格键(向下翻页),enter键(向下一行),q(离开文件,并且不再显示内容),ctrl+f(向下滚动一屏),ctrl+b(返回上一屏),**=(输出当前的行号),:f**(输出文件名和当前行号)。
- less指令:与more类似,但比more更加强大,支持各种显示终端。less文件显示内容,并不是一次性全加载,而是根据显示需要加载,对大型文件效率更高。空格键:向下翻页,PageDown和PageUp:向上向下翻页。**/字串:n:向下查找,N:向上查找。q**:离开less这个程序。
- echo指令:输出内容到控制台,
echo 选项 输出内容
- head指令:
head 文件名
默认查看文件的头十行内容。head -n 5 文件名
-n指定查看文件头几行内容 - tail指令:与head相反,默认查看尾10行的内容,-n用法相同,
tail -f 文件名
实时追踪该文档的所有更新。 - 箭头>和>>指令:输出重定向和>>追加,echo和>配合:将要输出的指令写在指定的文件中。>会覆盖文件中的原内容,>>追加内容,原先的内容不会覆盖。如果没有这个文件,则会自动创建。
- 基本语法:
ls -l > 文件
ls(列表)出来的内容写入文件中(覆盖)。ls -al >> 文件
列表出来的内容追加到文件的末尾。cat 文件1 > 文件2
文件1内容覆盖文件2内容echo "内容" >> 文件
将要在控制台输出的内容追加到文件
- ln指令:
- 软链接,也称为符号链接,类似于windows里面的快捷方式。主要存放了链接其他文件的路径。
- 说白了就是访问一个已经链接好的,就相当于访问那个被链接的文件,相当于创建桌面快捷方式来访问程序的意思。
- 语法:在当前目录下创建一个软链接到哪儿
ln -s 原文件或目录 软连接名(自定义软链接名,可以加路径,就是自定义的软链接创建到哪儿)
- 删除的话直接rm删除软链接名
- history指令:查看已经执行过的历史命令。
history 10
:查看历史执行过的10条指令。!5
:执行曾经执行过的第五条指令。
3.5时间日期指令
- date指令:显示当前日期:
date
:显示当前时间date +%Y
:显示当前年份date +%m
:显示当前月份date +%d
:显示当前是哪一天date"+%Y-%m-%d%H:%M:%S”
:显示年月日时分秒,按照固定格式date -s 字符串时间
,可以设置当前系统时间。cal 选项
:不加选项直接显示当前月的日历,cal 2022
:显示2022年整年的日历。
3.6查找指令
- find指令:
find 文件夹名 -name 文件名
:根据名称查找find 文件夹名 -user 文件名
:按拥有者查找find 文件夹名 -size 200M
:按文件大小查找(+是大于,-是小于,不写n是等于,我这个例子就是等于。还有单位有k,M,G)- 文件夹名写
/
就是查全部
- locate指令:查找速度特别快,无需遍历整个文件系统,是建立locate数据库。第一次运行前,必须使用updatedb指令创建。
- which指令:可以查看指令在哪个目录下
- grep指令:grep过滤查找也就是只查找这一个,往往和管道符号
|
结合使用,表示将前一个命令的处理结果输出传递给后面的命令处理。-n
显示匹配行和行号-i
忽略字母大小写- 例子:
cat a.txt | grep "hello"
会显示hello所在行,后面还可以继续加管道符cat a.txt | grep "hello" | ...
。示意图:
3.7压缩和解压
gzip/gunzip指令:gzip用于压缩文件,gunzip用于解压文件
gzip 文件
:压缩文件为*.gz文件gunzip 文件.gz
:解压缩gz文件
zip/unzip:往往用于文件夹压缩,项目打包发布。
zip 选项 压缩成.zip 要压缩的内容
unzip 选项 文件名.zip
zip -r
:递归压缩,即压缩目录:将某一个文件夹以及下面的内容压缩。注意压缩目录必须用这个命令。unzip -d 路径 要解压的文件.zip
:将文件解压到哪儿,要解压的文件前可加此文件的路径,更精确。
tar指令:是打包指令,没有untar一说。最后打包的指令是.tar.gz文件。
语法:
tar 选项 xxx.tar.gz(是打包以后的文件名) 打包的内容
,打包目录和文件都行。-c
:产生.tar打包文件。-v
:显示详细信息-f
:指定压缩后的文件名-z
:用gzip对文档进行压缩或解压-x
:解包.tar文件Linux只能压缩一个文件,而多个文件要先对多个文件进行打包才能压缩。
4.linux组的介绍
- 每个用户必须属于一个组,不能独立于组外。
- 每个文件都有,所有者,所在组,其他组的概念。
- 文件属于哪一个用户创建的,就属于这个用户所在组,组内成员对这个文件有一定的权限,其他组成员没有。
4.1所有者
- 文件/目录的所有者:一般来说,谁创建了该文件/目录,谁就是所有者。
- 查看文件所有者命令:
ls -ahl
:查看当前目录下文件的所有者。 - 修改文件的所有者:
chown 要改成的用户名 文件名
4.2所在组
- 创建组,
groupadd 组名
- 添加用户
useradd -g 组名 用户
- 所在组:当用户创建了文件以后,文件所在组就是用户所在组。
- 查看文件/目录所在组指令:
ls -ahl
:第一个是用户名,第二个是组名。 - 修改文件所在组:
chgrp 组名 文件名
4.3其他组
- 除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组:说白了就是除去操作的组就是其他组
- 在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
- 添加:
usermod -g 新组名 用户名
- 修改:
usermod -d 目录名 用户名 改变该用户登陆的初始目录
:修改时必须要有进入新目录的权限。
- 添加:
5.权限
5.1rwx权限
举例:
-rwxrw-r--1 root root 1213 Feb 2 09:39 abc
- 前十位
-rwxrw-r--1
- 第零位
-
:第0位确定文件类型(d,-,I,c,b),-就是没有
I是链接,相当于windows的快捷方式
d是目录,相当于windowsl的文件夹
c是字符设备文件,鼠标,键盘
b是块设备,比如硬盘 - 第1-3位
rwx
确定所有者(该文件的所有者)拥有该文件的权限。–User - 第4-6位
rw-
确定所属组(同用户组的)拥有该文件的权限,-Group - 第7-9
r--
位确定其他用户拥有该文件的权限-Other
- 前十位
rwx权限:
- 文件:
- [r]代表可读(read:可以读取,查看
- [w]代表可写(wite:可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
- [x]代表可执行(execute):可以被执行
- 目录:
- [r]代表可读(read):可以读取,Is查看目录内容
- [w]代表可写(wite:可以修改,对目录内创建+删除+重命名目录
- [x]代表可执行(execute):可以进入该目录
rwx举例:
-rwxrw-r--1 root root 1213 Feb 2 09:39 abc
-(文件类型)rwx(文件拥有者的权限是读写执行)rw-(与文件拥有者同在一个组的权限是读写)r--(其他组成员对文件的权限是读)1(文件:硬连接数。 如果是目录:子目录数) root(用户) root(所在组) 1213(文件大小(字节),如果是文件夹,显示4096字节) Feb 2 09:39(最后修改日期) abc
(文件名)在linux中也可以用数字来代表相应的权限:可用数字表示为:r=4,W=2,x=1因此rwx=4+2+1=7
5.2 chmod
修改文件/文件夹权限:
第一种方式:+、-、=变更权限。u:所有者,g:所有组,o:其他人,a:所有人(u、g、o的总和)
1
2
31)chmod u=rwx,g=rx,o=x 文件/目录名 我要给后面的文件/目录的所有者rwx,所在组的成员rx,其他人x权限
2)chmod o+w 文件/目录名 给其他用户赋予w的权限
3)chmod a-x 文件/目录名 给所有人剔除x权限变绿说明可执行
第二种方式:通过数字变更权限 r=4 w=2 x=1
rwx=4+2+1=7chmod u=rwx,g=rx,o=x 文件目录名
相当于chmod 751 文件目录名
5.3 chown
- 修改文件拥有者
chown newowner(所有者名字) 文件/目录
:改变所有者chown newowner:newgroup(所有者名字:所有者所在组) 文件/目录
:改变所有者和所在组-R
:chown -R 所有者 目录
如果是目录则使其下所有子文件或目录递归生效
5.4 chgrp
- 修改文件/目录所在组
chgrp newgroup(新组名) 文件/目录
改变所有组
6.crond任务调度
6.1 概述
- 任务调度:是指系统在某个时间执行的特定命全或程序。
- 任务调度分类:
- 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
- 个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
6.2 crontab
定时任务设置
- 基本语法:
crontab 选项
- 常见选项:
- 举例说明:
ls -l /etc/ > /tmp/to.txt
:指令的意思是将/etc/路径重定向(覆盖)到/tmp/to.txt路径如:
*/1**** ls -l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls-/etc/>/tmp/to.txt命令。*/1就是每一分钟都执行占位符说明:
特殊符号说明:
举例:
6.3at定时任务
at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。
默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了。
在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看:
ps -ef | grep atd
。ps -ef
:检测当前正在运行的指令有哪些。at命令格式:
at [选项] [时间]
Ctrl+D结束at命令的输入
图例:
at时间定义:
- at指定时间的方法:
- 接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如:04:00
- 便用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较摸糊的词语来指定时间。
- 采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如:12pm。
- 指定命令执行的具体日期,指定格试为month day(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。例如:04:00 2021-03-1。
- 使用相对计时法。指定格式为:now+count time-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。例如:now+5 minutes。(五分钟以后)
- 直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
- at指定时间的方法:
7.linux挂载,磁盘分区
- 原理介绍:Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
- Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
- 示意图:进入到一个目录就是访问某个分区了,就是逻辑存储和物理存储之间的映射。
- 查看所有设备挂载的情况:
lsblk或者lsblk -f
,-f:有分区情况,uuid分区唯一标识符,mountpoint挂载点。 - 如果硬盘一满了导致/home不够用了,可以加一块硬盘挂载到/home,达到扩容的效果,其他同理。
7.1 linux分区介绍
硬盘说明:
- Linux硬盘父IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。
- 对于IDE硬盘,驱动器标识符为“hdx
”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。”×”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“”代表分区前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。 - 对于SCSI硬盘,则标识为“sdx~”,SCSI硬盘是用”sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
磁盘情况查询:
df -h
查询系统整体磁盘使用情况du -h
查询指定目录的磁盘占用情况,默认为当前目录。- -s 指定目录占用大小汇总
- -h 带计量单位
- -a 含文件
- –max-depth=1 子目录深度
- -c 列出明细的同时,增加汇总值
实用指令:
8.Linux网络配置
8.1 NAT网络原理图
网络配置指令:
- windows查看VMnet8网络配置:ipconfig指令
- linux查看网络配置:ifconfig
- ping:测试主机之间网络的连通性
linux网络配置:
自动获取ip,缺点是每次获取的ip都不一样。
指定ip:直接修改配置文件来指定ip,并可以连接到外网(程序员推荐)编辑
vi /etc/sysconfig/network-scripts/ifcfg-ens33
要求:将ip地址配置的静态的,比如:ip地址为192.168.200.130。ifcfg-ens33 文件说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14DEVICE=eth0 #接口名(设备,网卡)
HWADDR=00:0C:2X:6x:0x:Xx #MAC地址
TYPE=Ethernet #网络类型(通常是Ethemet)
UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #随机id
#系统启动的时候网络接口是否有效(yes/no)
ONBOOT=yes
#IP的配置方法[none|static|bootpdhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
#IP地址
IPADDR=192.168.200.130
#网关
GATEWAY=192.168.200.2
#域名解析器
DNS1=192.168.200.2在vm的虚拟网络编辑器配置上也要修改
8.2 主机名和hosts映射
设置主机名
- 为了方便记忆,可以给Linux系统设置主机名,也可以根据需要修改主机名
vim /etc/hostname
- 指令hostname:查看主机名
- 修改文件在/etc/hostname指定
- 修改后,重启生效
- 为了方便记忆,可以给Linux系统设置主机名,也可以根据需要修改主机名
设置hosts映射
- windows:在C:\Windows\System32\drivers\etc\hosts 文件指定即可
案例:192.168.200.130 hspedu100 - linux:在/etc/hosts文件 指定
案例:192.168.200.1 ThinkPad-PC - 通过
ping 主机名
来测试连通性。
- windows:在C:\Windows\System32\drivers\etc\hosts 文件指定即可
主机名解析过程分析(Hosts、DNS)
- Hosts是什么:一个文本文件,用来记录IP和Hostname(主机名)的映射关系
- DNS:
1.DNS,就是Domain Name System的缩写,翻译过来就是域名系统
2.是互联网上作为域名和P地址相互映射的一个分布式数据库
举例:当用户输入一个网站
- 浏览器先检查浏监器缓存中有没有该域名解析IP地址,有就先调用这个IP完成解析;如果没有检查操作系统DNS解析器缓存,如果有直接返回IP完成解析。这两个缓存,可以理解为本地解析器缓存。
- 一般来说,当电脑第一次成功访问某一网站后,在一定时间内,浏览器或操作系统会缓存他的P地址(DNS解析记录)如在cmd窗口中输入
ipconfig /displaydns //DNS域名解析缓存
还有ipconfig /flushdns //手动清理dns缓存
。 - 如果本地解析器缓存没有找到对应映射,检查系统中hosts文件中有没有配置对应的域名IP映射,如果有,则完成解析并返回。
- 如果 本地DNS解析器缓存 和 hosts文件 中均没有找到对应的IP,则到域名服务DNS进行解析域。
9.进程管理
- 进程,就比如windows任务管理器里面的进程。程序运行起来就是一个进程。在LINUX中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(id,进程号)=>windows =linux。
- 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
9.1ps指令
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数。
进程的相关信息:
可以结合管道命令来过滤信息,比如我想看看有没有sshd服务:
ps -aux | grep sshd
9.2父子进程
如果把父进程kill掉,子进程也都将消失
举例:
分析结果:
9.3终止进程
kill和killall:若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用killall命令来完成此项任务。
kill [选项] 进程号
(功能描述:通过进程号杀死/终止进程)killall 进程名称
(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)常用选项
-9
:表示强迫进程立即停止
9.4查看进程树
- 基本语法:
pstree [选项]
,可以更加直观的来看进程信息 - 常用选项:
-P
:显示进程的PID-u
:显示进程的所属用户
9.5服务管理
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的情求,比如(mysqld,sshd 防火墙等),因此我们又称为守护程,是Linux中非常重要的知识点。【原理图】
service管理指令:
service 服务名 [start|stop|restart|reload|status]
- 在CentoS7.0后很多服务不再使用service,而是systemctl(后面专门讲)
- service指令管理的服务在/etc/init.d查看
查看服务名:
方式1:使用
setup
-> 系统服务 就可以看到全部。带星号的为自启动方式2:
/etc/init.d
看到service指令管理的服务ls -l /etc/init.d
服务的运行级别:
checkconfig指令
- 语法:
- 查看服务
chkconfig --list [|grep xxx]
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off
- 查看服务
- 使用细节:chkconfig重新设置服务后自启动回或关闭,需要重启机器reboot生效。
- 案例:
systemctl管理指令
基本语法:
systemctl [start|stop|restart|status] 服务名
systemctl指令管理的服务在/usr/Iib/systemd/system查看
systemctli设置服务的自启动状态
1.systemctl list-unit-files [|grep服务名]
(查看服务开机启动状态,grep可以进行过滤)
2.systemctl enable 服务名
(设置服务开机启动)
3.systemctl disable 服务名
(关闭服务开机启动)
4.systemct is-enabled 服务名
(查询某个服务是否是自启动的)防火墙:防止重要端口被访问
细节讨论:
1.关闭或者启用防火墙后,立即生效。[telnet测试某个端口即可]
2.这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
3.如果希望设置某个服务自启动或关闭永久生效,要使用systemctl [enable|disable] 服务名
firewall指令
- 打开端口:
firewall-cmd --permanent --add-port=端口号/协议
关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
重新载入,才能生效:firewall-cmd --reload
查询端口是否开放:firewall-cmd --query-port=端口/协议
- 打开端口:
动态监控进程
top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
语法:
top 选项
选项说明:
直接top,默认-d是三秒
交互操作(排序操作):
监控网络状态
- 查看系统网络情况netstat:基本语法,
netstat [选项]
- 选项说明:
- -an:按一定顺序排列输出
- -p:显示哪个进程在调用
- 查看系统网络情况netstat:基本语法,
10.rpm与yum
10.1rmp
- 介绍:rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHats软件包管理工具)的缩写,类以windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
- rpm包的简单查询指令:查询已安装的rpm列表
rpm -qa|grep xx
- rpm包名格式:
- 其他查询指令:
rpm-qa
:查询所安装的所有rpm软件包rpm -qa | more
rpm -qa | grep X [rpm -qa | grep firefox]
- 案例:
- rpm包的管理:
- 卸载rpm包语法:
rpm -e RPM包的名称 //erase
- 安装rpm包的语法:
rpm -ivh RPM包全路径名称
- 参数说明:i=install安装,v=verbose提示,h=hash进度条
- 卸载rpm包语法:
10.2yum
- 介绍:Yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并目且安装,可以自动处理依赖性关系,并目一次安装所有依赖的软件包。
示意图 - yum的基本指令:查询yum服务器是否有需要安装的软件
yum list|grep xx软件列表
安装指定的yum包yum install xxx 下载安装