Linux指令

vi和vim使用

yy拷贝当前行,5yy拷贝当前行开始向下的5行,yy5是拷贝重复拷贝当前行5次(输入p)

dd删除当前行,5dd删除当前行向下的5行

按shift+冒号键,在命令行输入“/words"即查找单词words,再次按n,会自动查找下一个words

按shift+冒号键,在命令行输入set nu或者set nonu,设置文件行号或者取消文件行号

在一般模式下,快速定位到最尾行按G,快速定位到最首行,按gg

在一个文件中输入一个字符串,在一般模式下撤销这个动作 按u

sp上下分屏,在上下两个分屏之间切换,使用ctrl+w进行切换,ctrl+w再按c,关闭当前窗口,ctrl+w再按q,也是关闭当前窗口,ctrl+w再按r,交换上下两个分屏的位置。

Ctrl+w+h/j/k/l        切换上下左右窗口(按顺序分别为左/下/上/右

Ctrl+w w 依次切换屏幕

vsp左右分屏,退出时wq all;

Linux一般命令

1、linux开机重启,用户登录、注销命令

shutdown -h now,立即关机,halt也是关机

shutdown -h 1 ,1分钟之后关机

shutdown -r now,现在重新启动计算机 reboot 也是重新启动计算机

sync,把内存的数据同步到磁盘,无论是重启还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中,目前的关机和重启命令均已在关机前进行了sync

su+root 输入密码,登录root用户,按exit退出root用户

2、添加新用户

useradd 用户名:添加用户,此时会默认在/home/创建一个和用户名同名的目录。

useradd -d newdir 用户名:指定目录,在该目录下创建用户的家目录。

passwd 用户名:给添加的新用户指定密码

userdel 用户名:删除用户,此时保留了家目录

userdel -r 用户名:删除用户以及用户主目录。一般情况下建议保留家目录

3、添加新用户并赋予root权限

1.useradd -d /usr/xxx -m xxx

2.cd /usr/xxx

3、更改密码 passwd xxx

4、赋予权限 vim /etc/sudoers 找到 root ALL=(ALL)ALL 这行

在下面添加一行 。 xxx . ALL = (ALL) ALL

查询用户信息的指令

id 用户名,如id root,用户不存在,返回无此用户,用户存在则返回gid、uid等信息

切换用户指令: su 切换用户名

查看当前用户:whoami;(中间无空格)

用户组方便系统对有相同权限的多个用户进行统一的管理。

新增组:groupadd 组名

删除组:groupdel 组名

修改用户的组:usermod -g 新的用户组 用户名

用户和组相关文件

1、/etc/passwd文件,为用户的配置文件,记录用户的各种信息,具体含义:“用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell”

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

3、/etc/group文件,为组的配置文件,记录Linux包含组的信息,每行的含义:“组名:口令:组标识号:组内用户列表”

4、运行级别

0:关机

1:单用户(找回丢失密码)

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

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

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

5:图形界面

6:系统重启

常用运行界别是3和5,也可指定默认级别

命令:init 【0123456】,通过init来切换不同的运行级别

multi-user.target:运行界别3

graphical.target:运行级别5

查看系统默认运行级别指令:systemctl get-default

修改系统默认运行级别指令:systemctl set-default 运行级别(例如multi-user.target)

5、如何找回root密码?(面试题)

1、首先,启动系统,进入开机界面,在界面中按“e”,进入编辑界面

2、进入编辑界面后,使用键盘上的上下键将光标向下移动,找到以“Linux16"开头的内容所在的行数,在行的最后输入:init=/bin/sh;

3、输入完成后,按CTRL+x进入单用户模式。

4、进去之后,在光标闪烁的位置输入:mount -o remount,rw/ 并按回车。

5、在新的一行最后输入:passwd,按回车,之后输入密码,按回车之后再次输入密码,密码修改成功后,会显示passwd......的样式,说明密码修改成功。

6、接着在光标闪烁的位置,输入:touch /.autorelabel,然后按回车。

7、继续在新的一行输入:exec /sbin/init,然后按回车键等待系统自动修改密码,完成后系统会重启,新的密码便会生效

帮助指令

man 指令;获取该指令的描述性信息。如 man ls;

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

6、修改网络配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改BOOTPROTOCOL="static"

INADDR=...

GATWAY=...

DNS1=...

NETMASK=...

7、防火墙设置

systemctl stop firewalld (本次开机状态下防火墙关闭)

systemctl disable firewalld (重启时防火墙关闭)

systemctl status firewalld (显示防火墙状态)

8、软件安装限制

操作系统对未知软件的安装有可能拒绝或者警告,需要禁用这个功能

vi /etc/selinux/config

修改SELINUX=disabled

文件目录类指令

1、pwd

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

2、ls指令

ls 【选项】 目录或者文件名:查看当前目录的所有内容信息,

【选项】:

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

-l:以单列的方式显示信息。

-C:以多列的形式显示信息

-R:递归显示文件,列出所有子目录下的文件

3、cd指令

cd 目录名;切换到指定目录。cd ~或者 cd 回到当前用户的家目录。cd ..回到上一级目录。

4、mkdir指令

mkdir指令用于创建目录。用法: mkdir 【选项】 目录名;

【选项】

-p :创建多级目录 mkdir -p test/test1/test2

5、rmdir指令

用于删除空目录。用法:rmdir 空目录名;

rmdir要删除的是空目录,如果目录下有内容时是无法删除的。如果要删除非空目录需要使用以下指令:rm -rf 目录名。

6、touch指令

创建空文件。用法:touch 文件名。可以一次性创建多个,touch one.txt two.txt three.txt

7、cp指令

拷贝文件到指定目录。用法:cp 【选项】 要拷贝的文件或者文件夹 指定目录。

【选项】

-r :递归复制整个文件夹。

在拷贝的时候,如果目标目录有相同的文件名,则会提示。强制覆盖不提示的方法为:\cp,使用方式为:\cp -r /home/bbb /opt;

8、rm指令

移除文件或目录。用法:rm 【选项】 要删除的文件或者目录。

【选项】

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

-f : 强制删除不提示。

9、mv指令

移动文件与目录或者重命名。用法:mv 文件或者目录名 目的目录/新名字。

10、cat指令

查看文件内容,是以只读的方式打开 。

用法:cat 【选项】 文件名。

选项 -n :显示行号。

cat只能浏览文件,而不能修改文件,默认是将文件所有内容全部展示出来

为了浏览方便,一般会带上管道命令 | more,即以全屏的方式按页显示文本文件的内容,按空格键显示下一页。

11、more指令

是一个基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本文件的内容,按空格键显示下一页。

按enter键表示向下翻一行,

按q代表离开more不再显示该文件内容。

按 f 向下滚动一屏

按 b 返回上一屏

按 = 输出当前行号

12、less指令

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

用法:less 文件名。

按空格键显示下一页。pagedown向下翻动一页,pageup向上翻动一页。

/字符串 ,向下搜寻【字符串】的功能;n向下查找,N向上查找。

?字符串,向上搜寻【字符串】的功能;n向上查找,N向下查找。

q,离开这个less程序。

13、echo指令

输入内容到控制台。用法:echo 输出内容。如用echo输出环境变量。

echo字符串中加入转义字符的运用,选项要加上-e

常用的转义字符:\b 转义后相当于按退格键(backspace) ,但前提是”\b”后面存在字符

\c 不换行输出,在”\c”后面不存在字符的情况下,作用相当于echo -n

\n 换行

\f 换行,但是换行后的新行的开头位置连接着上一行的行尾

\v 与\f相同;

\t 转以后表示插入tab,即制表符

\r 光标移至行首,但不换行,相当于使用”\r”以后的字符覆盖”\r”之前同等长度的字符

\ 表示插入”\”本身;

14、head指令

用于显示文件的开头内容,默认情况下,显示前10行内容。

用法:

  • head 文件名

  • head -n 5 文件名(显示前5行的内容)

15、tail指令

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

用法:

  • tail 文件名

  • tail -n 5 文件名(显示后·5行的内容)

  • tail -f 文件(实时追踪该文档的所有更新。)

16、>输出重定向和>>追加指令。

用例:

ls -l > 文件名:列表内容写到文件中(覆盖写)。

ls -l >>文件名 :列表内容追加到文件末尾

cat 文件1>文件2:将文件1的内容覆盖到文件2

echo "内容" >>文件(追加)

17、ln指令

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

用法:ln -s 源文件或者目录名 软链接名。

删除软链接用 rm -rf 指令,通过软连接到达一个目录,当用pwd指令查看目录时,依然是软链接所在的目录。

硬链接:操作系统给每一个文件赋予一个唯一的Inode,当有相同的Inode文件存在时,彼此同步,删除时,只将硬链接计数减一,减为0时,inode被释放。

ln 源文件或者目录名 硬链接名; 保存的是Inode(i节点)指向同一个文件。

18、readlink指令

readlink 符号链接名:显示符号链接路径

19、ps -aux

显示当前所有进程,以及进程所占系统资源的信息

aux:

a 显示现行终端机下的所有程序,包括其他用户的程序

u 以用户为主的格式来显示程序状况

x 显示所有程序,不以终端机来区分。

所以,ps aux就是打印所有进程。

20、ps -ajx

显示当前所有进程,从左到右一次包括父进程id,进程id,进程组id,会话id。

21、ps -Lf指令查看当前线程

ps -Lf 线程号(LWP):查看指定线程的信息

LWP为线程号,与线程id不同

22、查看TCP连接状态

netstat -napt

23、查看路由表

route:在网络中,route命令用来显示、添加、删除和修改网络的路由。

route-参数的含义:

route -n:查看路由表,也可以使用ip route查看路由表

添加到达主机的路由

route add -host 10.1.111.111 gw 10.2.111.111 dev eth0

添加到达目标网络的路由

route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.2.111.111 dev eth0

或者

route add -net 10.1.0.0/16 gw 10.2.111.111 dev eth0

dev指定该路由表项对应的输出接口

添加默认路由

route add default gw 10.2.111.111

删除路由记录:

1)删除到达目标主机的路由记录route del -host 主机名2)删除到达目标网络的路由记录route del -net 目标网络/子网掩码3)删除默认路由route del default

24、查看ARP缓存内容

arp指令用来管理系统的arp缓冲区,可以显示、删除、添加静态mac地址

arp -a

25、查看端口的网络连接状态

netstat -apn | grep port

26、突破1024文件描述符设置

突破 1024 文件描述符限制:

​ cat /proc/sys/fs/file-max 当前计算机所能打开的最大文件个数。 受硬件影响。

​ ulimit -a 当前用户下的进程,默认打开文件描述符个数。 缺省为 1024

修改:

打开 sudo vi /etc/security/limits.conf, 写入:*soft nofile 65536 设置默认值, 可以直接借助命令修改。 【注销用户,使其生效】

* hard nofile 100000 --> 命令修改上限。

cat /proc/sys/fs/file-max 查看最大文件描述符上限

27、KILL指令
Kill -9 是强制杀掉,这个信号程序应该是无法捕捉的。 kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞

linux 使用 kill -9 命令杀死程序,程序是无法主动释放资源的。操作系统从进程表中直接清除该程序,而不会给程序任何通知和反应时间。

kill -15 是可以被执行、阻塞和忽略的

系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情:

  • 程序立刻停止

  • 当程序释放相应资源后再停止

  • 程序可能仍然继续运行

​ 大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出相应。也就是说,SIGTERM多半是会被阻塞、忽略的

kill -15 只是通知对应的进程要进行"安全、干净的退出",退出前一般会进行资源释放、临时文件清理等等,再进行程序的终止。但如果在"准备工作"进行过程中,遇到阻塞或者其他问题导致无法成功,那么应用程序可以选择忽略该终止信号。

时间日期类指令

1、history

查看已经执行过的历史命令,也可以执行历史命令。

用法:history 【数字】

没有数字时显示全部历史命令,有数字时显示指定数字的历史命令。

!5在history之后,执行历史编号为5的命令。

2、date

显示当前时间,date +%Y显示当前年份,date +%m显示当前月份,date +%d显示当前是哪一天,date "%Y-%m-%d %H:%M:%S"显示年月日时分秒。

设置日期:date -s 字符串时间;设置当前系统时间:date -s "2020-11-03 12:12:12";

3、cal指令

显示日历信息。

搜索查找类指令

1、find指令

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

用法:find 【搜索范围】 【选项】 【查询目标】

选项说明:

-name表示按照指定的文件名查找模式查找文件。-iname也是按文件名查找但是忽略大小写

-user表示要查找指定用户名的所有文件。

-size表示按照指定的文件大小查找文件。

-maxdepth h表示搜索层级,1就表示当前层级,不会进入当前目录的子目录搜寻

用例:

find /home -name hello.txt;在/home目录下查找文件名为hello.txt的文件

find / -size +200M ;在linux系统中查找大于200M的文件;(+表示大于,-表示小于,没有符号表示等于)

2、locate指令

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

用法:locate 文件名。

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

3、which指令

用于查看指令在哪个目录下

用法:which 指令。如which ls;

4、grep指令和管道符号 ”|“

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

语法:

grep 【选项】 查找内容 源文件

选项:

-n显示匹配行及行号

-i忽略字母大小写

压缩和解压缩类指令

1、zip、gunzip

zip用于压缩文件,gunzip用于解压文件。

语法:gzip 文件 ,gunzip xxx.gz

2、zip用于压缩文件,unzip用于解压文件

语法:zip 【选项】 xxx.zip 要压缩的内容 ,unzip 【选项】 xxx.zip

zip常用选项:

-r :递归压缩,即压缩目录,如 zip -r myhome.zip /home;

unzip的常用选项:

-d:只当解压后的文件存放目录,例如 unzip -d /opt/tmp/ /home/myhome.zip;

3、tar指令为打包指令,最后打包的文件是.tar.gz的文件

语法:tar 【选项】 xxx.tar.gz 要打包的内容

选项:

-c :产生.tar打包文件

-v :显示详细信息

-f :指定压缩后的文件名

-z :打包同时压缩

-x :解包.tar文件

用例:

tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt;压缩多个文件

tar -zxvf pc.tar.gz;解压文件

组管理和权限管理

linux的每个文件都有所有者、所在组、其他组的概念。

ls -ahl;查看文件或者目录所在组、所有者等信息。

修改文件所有者:chown 新的用户名 文件名

修改文件或目录所在组:chgrp 新的组名 文件名

权限介绍:

ls -l显示内容如下 :-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

1:对于文件而言表示硬链接数,对于目录而言,表示子目录数。

myblinux:用户。

myblinux:组。

576:表示文件大小。

Mar 31 20:53:表示最后修改时间。

authorized_keys:文件名。

第0位确定文件类型:d(目录)、-(普通文件)、l(链接)、c(字符设备文件)、b(块设备文件)

第1-3位表示所有者权限,第4-6位表示所属组的权限,第7-9位表示其他用户的权限。

rwx对于文件而言:

r表示可读,可以读取、查看

w表示可写,可以修改,但是不可以删除,删除一个文件必须对该文件所在目录具有写权限,才能删除该目录下的文件。

x表示可执行,可以被执行。

rwx对于目录而言:

r表示可读,可以读取、查看,ls可以查看目录内容。

w表示可写,可以修改,对目录内创建、删除、重命名目录

x表示可执行,可以被执行,可以进入该目录。

可以用数字进行组合:r=4,w=2,x=1

修改权限

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

第一种方式:+,-,=变更权限,u代表所有者,g代表所在组,o:代表其他人,a:所有人

用例:

chmod u=rwx,g=rx,o=x 文件名或者目录名

chmod o+w 文件名/目录名

chmod a-x 文件名/目录名

第二种方式:通过数字变更权限,r=4,w=2,x=1

用例:chmod u=rwx,g=rx,o=x 文件名或者目录名 相当于 chmod 751 文件/目录名

修改文件所有者

改变所有者:chown 新的用户名 文件名

改变所有者和所在组:chown newowner:newgroup 文件/目录

如果后面是目录名: -r 表示使其下所有子文件或者目录递归生效。

修改文件过或目录所在组

chgrp 新的组名 文件名

定时任务调度

任务调度概述

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

任务调度分类

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

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

一、crond任务调度
(1)crontab进行定时任务的设置。

语法:crontab 【选项】

选项:

-e :编辑crontab定时任务。

-l :查询crontab任务。

-r :删除当前所有的crontab任务。

(2)设置定时任务调度快速入门:

(1)设置任务调度文件: /etc/crontab

(2)设置个人任务调度:执行 crontab -e 命令。

(3)接着输入任务到调度文件,如*/1 * * * * ls -l /etc/ > /tmp/to.txt,意思每分钟执行一次 ls -l /etc/ > /tmp/to.txt命令。

五个占位符的说明:

特殊符号的说明:

特殊时间执行案例:

(3)crond相关指令

conrtab -r :终止任务调度

crontab -l:列出所有当前的任务调度

service crond restart :重启任务调度

二、at定时任务
(1)概述

at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。

默认情况下,atd守护进程每60秒检查一次作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。

在使用at命令时,一定要保证atd进程的启动,可以使用相关指令来查看。

ps -ef | grep atd;该命令可以检测atd是否在运行。

(2)at命令格式

at 【选项】 【时间】

选项:

(3)at时间定义

(1):hh:mm时间指定,加入时间已经过去,则在第二天生效

(2):使用midnight(深夜)、noon(中午)、teatime(饮茶时间,一般是下午四点)

(3):采用12小时计时制,在时间后面加上am或者pm

(4):指定命令执行的具体日期,指定格式为month day或者mm/dd/yy或者dd.mm.yy,指定的日期必须跟在指定的事件后面。如 04:00 2020-04-05

(5):使用相对计时法,指定格式为now + count time-units ,now指当前时间,time-units指时间单位,如minutes,hours,days,weeks。count指时间的数量,几天,几小时,几分钟。

(6):直接使用today、tomorrow来指定完成命令的时间。

(4)案例

案例1:两天后的下午5点执行/bin/ls/home : at 5pm + 2 days ,at> /bin/ls/home

案例2:atq命令来查看系统中没有执行的工作任务

案例3:明天17点钟,输出时间到指定文件内:at 5pm tomorrow,at> date > /root/date100.log

案例4:两分钟后,输出时间到指定文件内:at now + 2 minutes,at> date > /root/date.txt

案例5:删除已设置的任务:atrm 编号,即将job队列中,编号为4的job删除

df -h查看系统磁盘使用情况。

du -h 目录名:查询指定目录的磁盘占用情况,默认为当前目录

linux网络环境配置

网络环境配置有两种方法

(1)登陆后,通过界面的设置自动获取ip,缺点是每次自动获取的ip可能不同。

(2)第二种方法,指定IP,直接修改配置文件来指定IP,并可以链接到外网。

步骤:

编辑:vi /etc/sysconfig/network-scripts/ifcfg-ens33

设置主机名和hosts映射

1、设置主机名

为了方便记忆,可以给Linux设置主机名,也可根据需要修改主机名。

指令hostname:查看主机名。修改文件在/etc/hostname指定,修改后重启生效。

2、设置hosts映射

思考:如何通过主机名能够找到(比如ping)某个linux系统?

windows系统下

在C:\Windows\System32\drivers\hosts文件指定即可,如192.168.200.130 hspedu100

linux系统下

在/etc/hosts文件指定

主机域名解析过程分析(Hosts、DNS)

1、hosts是什么?

一个文本文件,用来记录IP与Hostname(主机名)的映射关系

2、DNS

DNS就是域名系统,是互联网上作为域名与IP地址相互映射的一个分布式数据库。

3、用户在浏览器中输入网址之后发生的一列过程。

(1)浏览器先检查浏览器缓存中有没有该域名解析IP地址,有就调用这个IP完成解析;如果没有,就检查DNS解析器缓存,若有就返回IP完成解析。这两个缓存可以理解为本地解析器缓存。

(2)一般来说,当电脑第一次成功访问某一网站后,在一定时间内,浏览器或者操作系统会缓存它的IP地址(DNS解析记录)。

在cmd窗口输入 ipconfig /displaydns 查看dns域名解析缓存

在cmd窗口输入 ipconfig /flushdns 手动清理dns缓存。

(3)如果本地解析器缓存没有找到对应映射,检查系统中hosts文件中有没有配置相应的域名IP映射,若有,则返回IP并完成解析。

(4)如果dns解析器缓存和hosts文件中均没有找到对应的IP,则到域名服务dns进行解析。

进程管理

在Linux中,每一个执行的程序都称为一个进程。每一个进程都有自己的进程号Pid。每个进程都可能以两种方式存在,前台进程和后台进程。所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但屏幕上无法看到的进程。一般系统的服务都是以后台进程的方式存在的,而且会常驻在系统中,直到关机才结束。

1、显示执行的进程

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

指令 ps -aux | grep xxx 查看有没有xxx进程在运行

USER:用户名

PID:进程号

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

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

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

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

TTY:终端名称,缩写

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

START:进程的启动时间

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

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

指令 ps -ef 是以全格式显示当前所有的进程。-e 为显示所有进程,-f 全格式

用例:

ps -ef | grep sshd

ps -ef中显示为BSD风格

uid为用户id

pid为进程id

ppid为父进程id

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

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

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

2、终止进程KILL 和 KILLALL

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

语法;

kill 【选项】 进程号

killall 进程名称

常用选项

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

3、查看进程树

语法:pstree 【选项】,可以更直观的来看进程的信息。

选项:

-p:显示进程的pid

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

4、服务管理

1、守护进程

服务的本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysqld,sshd,防火墙等),因此又称为守护进程。

2、service管理指令

(1)语法

service 服务名 【start / stop / status / restart / reload】

service管理的指令在/etc/init.d查看。

service --status-all 显示所有服务。

用例:使用服务指令,查看、关闭、启动network

systemctl network status;

systemctl network stop;

systemctl network start;

(2)chkconfig指令

通过chkconfig指令可以给服务设置在某运行级别下自启动/自关闭,需要重启之后生效。

语法:chkconfig --level 运行级别 服务名 操作【off/on】

案例:对network服务,把network在3运行级别,关闭自启动。

chkconfig --level 3 network off;

chkconfig --level 3 network on;

(3)systemctl管理指令

systemctl list-unit-files [grep 服务名] (查看服务开机启动状态,grep可以进行过滤)

systemctl enable 服务名:设置服务开机启动

systemctl disable 服务名:关闭服务开机启动

systemctl is-enabled 服务名:查看某个服务是否是自启动的

案例:

查看防火墙当前状况,关闭防火墙和重启防火墙

systemctl status firewalld;

systemctl stop firewalld;

systemctl start firewalld;

这种方式设置的关闭或者启用防火墙,立即生效,但是只是临时生效,当重启系统时,还是回归以前对服务的设置,如果希望设置某个服务自启动或者关闭永久生效,要使用systemctl [ebable | disable ] 服务名。

(4)打开或者关闭指定端口

在生产环境中,需要将防火墙打开,但是如果防火墙打开,那么外部请求数据包就不能与服务器监听端口进行通信。这时,需要打开指定的端口。如80,22.

firewall指令

打开端口:firewall-cmd --permanent --add-port=端口号/协议

关闭端口:firewall-cmd --permanent --remove-port=端口号/协议

设置完成后,重新载入才能生效:firewall-cmd --reload

查询端口是否开放:firewall-cmd --query-port=端口号/协议

案例:

1、启动防火墙,测试端口111是否能够telnet,结果不能

2、开放111端口并重新载入

firewall-cmd --permanent --add-port=111/tcp;

firewall-cmd --reload;

3、关闭111端口

firewall-cmd --permanent --remove-port=111/tcp;

(5)动态监控进程

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

语法:top 【选项】

选项:

-d:指定top命令每隔几秒更新,默认是3秒

-i:是top不显示任何闲置或者僵死进程

-p:通过指定监控进程Id来仅仅监控某个进程的状态。top -p 进程号

输入top指令之后可以进行的操作如下:

输入

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

M:以内存的使用率排序

N:以PID排序

q:退出top

u 回车 用户名:监视特定用户的进程

k 回车 进程号:结束指定的进程

(6)监控网络状态
1、查看系统网络情况 netstat

语法:netstat 【选项】

选项:

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

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

案例:

查看服务名为sshd的服务的信息

netstat -anp | grep sshd

(2)检测主机连接命令 ping

ping是一种网络监测工具,它主要是用来检测远程主机是否正常,或者是两部主机间的网线或者网卡故障。

有效ID

一个进程有两个ID:UID和EUID,EUID存在的目的是方便资源访问:它使得运行程序的用户拥有该程序的有效用户的权限。如 su进程的有效用户为root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值