linux的各种常用命令

命令

关机&重启命令

基本命令:

shutdown -h now 立刻进行关机

shutdown 立刻进行关机,和上面一样

shutdown -h 1 1分钟后关机

shutdown -r now 立刻重启计算机

halt 关机,作用和上面一样

reboot 重新启动计算机

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

注意:无论是重启系统还是关闭系统,都要先运行sync命令,把内存中的数据写到磁盘中。虽然目前的shutdown/reboot/halt等命令均已经在关机前自动运行了sync命令。

用户登录和注销

  1. 登录时尽量少用root账号登录,因为它是系统管理员,拥有最大的权限,为了避免操作失误,可以利用普通用户登录,登录后再用 "su - 用户名",(注意空格)命令来切换成系统管理员身份。

  2. 当切换用户后,想要回到原来的用户的话,只需要在提示符下输入logout即可回到上一个用户,当当前用户是最开始的登录用户的话使用logout命令会关闭虚拟机。

注意:logout注销指令在图形运行级别无效,在Xshell中运行才会生效。

用户管理

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

添加用户:[useradd 用户名],添加的用户的家目录在root/home下,且创建用户成功后,会自动创建和用户同名的家目录。

在指定目录添加新用户:useradd -d 指定目录 用户名

给指定用户设置或者修改密码:passwd 用户名 ,注意:如果没有指定用户名,则默认给当前用户修改密码。

删除指定用户,但要保留家目录:userdel 用户名

删除指定用户以及用户家目录:userdel -r 用户名 删除时候要注意,因为删除家目录后,该用户里面的数据也会被删除。一般情况下建议保留家目录。

查询用户信息:id 用户名

切换用户:su - 要切换的用户名(switch user)

在操作Linux中,如果当前用户的权限不够,可以通过此指定切换到高权限的用户,比如root,

从权限高的用户切换到权限低的用户,不需要输入密码,反之则需要。

需要返回到原来的用户时,使用exit/logout指令。

查看当前用户/登录用户:whoami/who am i 显示第一次登录的用户的信息,即使用su命令之后还是显示之前的用户信息

用户组

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

新增组:groupadd 组名

删除组:groupdel 组名

添加用户时直接加上组:useradd -g 用户组 用户名,如果添加用户的时候没有指定组,则系统会自动创建一个与用户名一样的用户组,将用户放入。

修改/切换用户的组:usermod -g 目标用户组 用户名

用户和组相关文件

  • /etc/passwd 文件

    用户(user)的配置文件,记录用户的各种信息

    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

  • /etc/shadow 文件

    口令的配置文件

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

  • /etc/group 文件

    查看组信息 : cat /etc/group

    组(group)的配置文件,记录Linux包含的组的信息

    每行含义:组名:口令:组标识号:组内用户列表

实用指令

指定运行级别

  • 0:关机

  • 1:单用户[经常被用来找回丢失密码]

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

  • 3:多用户状态有网络服务(即没有图形的界面)

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

  • 5:图形界面

  • 6:系统重启

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

指定运行级别命令:init n (n代表0,1,2,3,4,5,6之一)

查看当前运行级别:systemctl get-default

设置默认级别为3:systemctl set-default multi-user.target,与init 3 不同的是,这个指令重启也不会失效

设置默认级别为5:systemctl set-default graphical.target ,与init 5 不同的是,这个指令重启也不会失效

文件目录类指令

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

帮助指令:man 获取帮助信息

语法:man [命令或配置文件]

例:查看ls命令的帮助信息: man ls

help指令:语法:help 命令 功能:获得shell内置命令的帮助信息

ls指令:ls 选项[目录或者文件]

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

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

-lh:将信息以列表的方式显示出来,并且更易读懂

两者可以组合 ls -la或者 ls -al

cd指令:cd [参数] 切换到指定目录,包括绝对路径和相对路径。

cd ~ 或者cd:回到自己的家目录

cd .. 回到当前目录的上一级目录

mkdir指令:mkdir 指令用于创建目录

语法:mkdir [选项] 即要创建的目录,

例:mkdir /home/dog 在home目录下创建dog目录

-p :创建多级目录

例:mkdir -p /home/animal/tiger 在home目录下创建animal目录,并且在animal目录下创建tiger目录

rmdir 指令:用来删除空目录。

语法:rmdir [选项] 要删除的空目录

rmdir只能删除空目录,如果目录下有内容要使用rm -rf 删除目录。

touch指令:用来创建空文件

语法:touch 文件名称

cp指令:用来拷贝文件到指定目录

语法:cp [选项] 要拷贝的文件 拷贝到的地方

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

强制覆盖不提示的方法:\cp -r 要拷贝的文件 拷贝到的目的地

rm指令:用来移除文件或目录

语法:rm [选项] 要删除的文件或目录

常用选项:

-r:递归删除整个文件

-f:强制删除不提示

mv指令:用来移动文件或者目录或者给文件重命名

语法:mv oldNameFile newNameFile (功能:重命名)

mv 要移动的文件地址 移动后的目标地址 (功能:移动文件)

cat指令:用来查看文件内容(只能查看,不能修改,因此为了浏览方便,一般会带上管道命令 | more 来进行交互)

语法:cat [选项] 要查看的文件

常用选项:-n 作用:显示行号

more指令:more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,more指令中内置了若干快捷键(交互指令)。

语法:more 要查看的文件

快捷键:

空格键(space):代表向下翻一页

Enter:代表向下翻一行

q:代表立刻离开more,不再显示该文件的内容

Ctrl+F:向下滚动一屏

Ctrl+B:返回上一屏

=:输出当前行的行号

:f :输出文件名和当前行的行号

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

语法:less 要查看的文件

快捷键:

空格(space):向下翻动一页

PageDown:向下翻动一页

PageUp:向上翻动一页

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

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

q:离开less这个程序

echo指令:输出内容到控制台

语法: echo [选项] [输出内容]

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

语法:

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

head -n 5 文件名 (功能:查看文件头5行内容)

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

语法:

1)tail 文件名 (功能:查看文件尾10行内容)

2)tail -n 5 文件名 (功能:查看文件尾5行内容)

3)tail -f 文件名 (功能:实时追踪该文档的所有更新)

>指令和>>指令:> 输出重定向 和 >> 追加

语法:1)ls -l > 文件名 (功能:列表的内容写入到文件中(覆盖写),如果文件不存在系统会自动创建)

2)ls -al >> 文件名 (功能:列表的内容追加到文件的末尾)

3)cat 文件1 > 文件2 (功能:将文件1的内容覆盖到文件2)

4)echo “内容” >> 文件

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

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

当用pwd指令查看目录时,仍然看到的是软链接所在的目录

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

语法:1)history (功能:查看已经执行过的历史命令)

2)history n (功能:查看最近使用过的n个指令)

时间日期类

date指令-显示当前时间

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

2)date +%Y (功能:显示当前年份)

3)date +%m (功能:显示当前月份)

4)date +%d (功能:像是当前是哪一天)

5)date “+%Y-%m-%d %H:%M:%S" (功能:显示年月日时分秒)

date指令-设置日期

基本语法:date -s 字符串时间

例:设置系统当前时间:2020-11-11 20:02:10 (语句:date -s “2020-11-11 20:02:10”)

cal指令:查看日历指令

语法:cal [选项] (功能:如果不加选项,则显示本月日历)

cal 年份 (功能:显示某一年的日历)

搜索查找类

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

语法:find [搜索范围] [选项]

选项:-name<查询方式> 功能:按照指定的文件名查找模式查找文件

-user<用户名> 功能:查找属于指定用户名所有文件

-size<文件大小> 功能:按照指定的文件大小查找文件

例:查找整个lunux系统下大于200M的文件(+n 大于 -n 小于 n 等于,单位有k ,M,G)

find / -size +200

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

语法:locate 要搜索的文件

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

which指令:可以查看某个指令在哪个目录下,比如ls指令在哪个目录 which ls

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

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

选项:-n 功能:显示匹配行及行号

-i 功能:忽略字母大小写

例:在home文件夹下的hello.txt文件中,查找“yes”所在行,并且显示行号

写法1:cat -n /home/hello.txt | grep "yes"

写法2:cat /home/hello.txt | grep -n "yes"

写法3:grep -n "yes" /home/hello.txt

压缩和解压类

gzip/gunzip指令:gzip用于压缩文件,gunzip用于解压文件

语法:gzip 文件 (功能:压缩文件,只能将文件压缩为*.gz文件)

gunzip 文件.gz (功能:解压文件)

zip/unzip指令:zip用于压缩文件,unzip用于解压,此指令在项目打包发布中很有用。

语法:zip [选项] XXX.zip 将要压缩的内容 (功能:压缩文件和目录的命令)

unzip [选项] XXX.zip (功能:解压缩文件)

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

unzip常用选项: -d<目录> 指定解压后文件的存放目录

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

语法:tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

选项:1)-c 功能:产生.tar打包文件

2)-v 功能:显示详细信息

3)-f 功能:指定压缩后的文件名

4)-z 功能:打包同时压缩

5)-x 解包.tar文件

应用:1)压缩多个文件,将/home/dog.txt和/home/cat.txt压缩成pc.tar.gz

tar -zcvf pc.tar.gz /home/dog.txt /home/cat.txt (注意空格)

2)将/home的文件夹压缩成myhome.gar.gz

tar -zcvf myhome.gar.gz /home/

3)将pc.tar.gz解压到当前目录

tar -zxvf pc.tar.gz

4)将myhome.tar.gz 解压到/opt/tem目录下

tar -zxvf /home/myhome.tar.gz -C /opt/tmp

组管理和权限管理

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

文件 /目录所有者

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

  • 查看文件的所有者

    指令: ls -ahl

    实例:drwx------. 16 hao hao 4096 12月 27 13:28 hao (第一个hao即为文件所有者,第二个hao为文件所在组)

  • 修改文件所有者

    指令:chown 用户名 文件名 (change owner)

    例:在root下创建一个文件hello.txt,将其所有者改为tom

    chown tom hello.txt

  • 修改文件所在的组

    指令:chgrp 组名 文件名

其他组

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

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

  • 改变用户所在组

    1)usermod -g 组名 用户名

    2)usermod -d 目录名 用户名 改变该用户登录的初始目录。

权限

执行 ls -l 命令后会有以下结果:

-rw-r--r--. 1 root root 104 12月 26 16:59 hello.java

各个部分分别代表:

-rw-r--r--. 文件权限

1 文件:硬连接数或 目录:子目录数

root 用户

root 文件所在组

104 文件大小(字节),如果是文件夹,显示4096字节

12月 26 16:59 最后修改日期

hello.java 文件名

对-rw-r--r--.的详细说明

0-9位说明:

  1. 第0位确定文件类型(d,-,l,c,b)

    • d是目录,相当于windows的文件夹

    • -代表的是该文件是一个普通文件

    • l是链接,相当于windows的快捷方式

    • c是字符设备文件,鼠标,键盘

    • b是块设备,比如硬盘

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

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

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

rwx权限详解:

  • rwx作用到文件

    • [r]代表可读(read):可以读取,查看

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

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

  • rwx作用到目录/文件夹

    • [r]代表可读(read):可以读取,ls查看目录内容

    • [w]代表可写(write):可以修改,对目录里面可以创建+删除+重命名 目录/文件

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

chmod 修改权限

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

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

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

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

    2)chmod o+w 文件/目录名 作用:给所有组的对指定文件的权限增加w(写)权限

    3)chmod a-x 文件/目录名 作用:给所有组的对指定文件的权限出去x(执行)权限

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

    r=4 w=2 x=1 rwx=4+2+1=7

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

    相当于 chmod 751 文件目录名

修改文件所有者-chown

语法:chown newowner 文件/目录 作用:改变所有者

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

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

例:将/home/abc.txt 文件的所有者修改成tom

chown tom /home/abc.txt

修改文件/目录所在的组-chgrp

语法:chgrp newgroup 文件/目录 作用:改变所在组

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

例:将/home/abc.txt 文件的所在组修改成shaolin

chgrp shaolin /home/abc.txt

定时任务调度

crond任务调度

crontab 进行定时任务的设置

概述:

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

  • 任务调度分类:

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

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

基本语法:

crontab 选项

选项: -e 编辑crontab定时任务

-l 查询crontab任务

-r 删除当前用户所有的crontab任务

快速入门:例

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

设置个人任务调度,执行crontab -e 命令

然后输入任务调度文件:

如:*/1 * * * * ls -l /etc/ > /tem/to.txt

代表每小时的每分钟执行ls -l /etc/ > /tem/to.txt命令

参数说明:五个占位符的说明

项目含义范围
第一个* 一小时当中的第几分钟 0-59
第二个* 一天当中的第几个小时 0-23
第三个* 一个月当中的第几天 1-31
第四个* 一年当中的第几月 1-12
第五个* 一周当中的星期几 0-7(0和7都代表星期日)

特殊符号的说明:

特殊符号含义
* 代表任何时间,比如第一个*就代表一小时中每分钟都执行一次的意思
代表不连续的时间,比如“0 8,12,16 * * * 命令“,代表在每天的8点0分,12点0分,16,点0分都执行一次命令
- 代表连续的时间范围,比如“0 5 * * 1-6 命令”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次,比如“*/10 * * * * 命令“,代表每隔10分钟就执行一遍命令

例:每隔一分钟,将当前日期和日历都追加到/home/mycal.txt文件中

步骤:1)vim /home/my.sh

写入内容 date >>/home/mycal.txt

cal >> /home/mycal.txt

2)给my.sh增加执行权限,chmod u+x /home/my.sh

3)crontab -e 增加

*/1 * * * * /home/my.sh

at定时任务

基本介绍:

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

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

  3. at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了

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

at命令格式: at [选项] [时间]

ctrl+D 结束at命令的输入,按两次

atq命令:用来查看系统中执行的工作任务 语法:atq

atrm命令:用来删除已经设置好的任务,语法: atrm 编号

at命令选项:

选项含义
-m 当指定的任务被完成后,将给用户发送邮件,即使没有标准输出
-I atq的别名(用来显示任务列表)
-d atrm的别名(用来删除任务)
-v 显示任务将被执行的时间
-c 打印任务的内容到标准输出
-V 显示版本信息
-q<队列> 使用指定的队列
-f<文件> 从制定文件读入任务而不是从标准输入读入
-t<时间参数> 以时间参数的形式提交要运行的任务

at时间定义:

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 (明天)来指定完成命令的时间。

案例

1)两天后的下午5点执行/bin/ls /home

指令:at 5pm + 2 days

/bin/ls /home

ctrl+D ctrl+D

2)明天17点钟,输出时间到指定文件内 比如/home/hello.txt

指令:at 5pm tomorrow

date > /home/hello.txt

ctrl+D ctrl+D

Linux磁盘分区、挂载

原理介绍:

1)Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分

2)Linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,切将一个分区和一个目录联系起来,这时要载入的一个分区将使他的存储空间在一个目录下获得

硬盘说明:

  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硬盘的表示方法一样。

查看所有设备挂载情况:

命令:lsblk 或者 lsblk -f

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

命令:df -h

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

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

选项: -s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

--max-depth=1 子目录深度

-c 列出明细的同时,增加汇总值

网络配置

查看windows环境中VMnet8网络配置:ipconfig

查看linux的网络配置:ifconfig

ping测试主机之间网络连通性:

语法:ping 目的主机 功能:测试当前服务器是否可以连接目的主机

设置主机名:

方法:vim /etc/hostname 修改主机名,保存修改内容,reboot

设置主机名和hosts映射:

  • windows下

    在C:\Windows\System32\drivers\drivers\etc\hosts 文件下指定即可

    案列:192.168.200.130 hao100

  • linux下

    在/etc/hosts 文件中指定

    案例:192.168.200.130 hao100

进程管理

进程简介

  1. 在linux中,每个执行的程序都称为一个进程,每一个进程都分配一个id号(pid,进程号)

  2. 每个进程都可能以两种方式存在的,前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但由于屏幕上无法看到进程,通常使用后台方式执行

  3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,知道关机才结束

显示系统执行的进程:

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

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

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

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

ps -aux | grep xxx 查看某个特定的进程

字段说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消CPU时间
CMD 正在执行的命令或进程名

指令说明:

  • System V 展示风格

  • USER 用户名称

  • PID 进程号

  • %CPU 进程占用CPU百分比

  • %MEN 进程占用物理内存的百分比

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

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

  • TTY 终端名称,缩写

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

  • STARTED 进程的启动时间

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

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

终止进程kill和killall

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

语法:kill [选项] 进程号 功能:通过进程号杀死/终止进程

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

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

查看进程树pstree

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

选项:-p 显示进程PID

-u 显示进程的所属用户

服务(service)管理:

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

service管理指令:1.service 服务名 [start | stop | restart | reload | status]

2.在Centos7.0之后,很多服务不再使用service,而是systemctl

3.service指令管理的服务可以在/etc/init.d中查看

chkconfig指令:

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

2.chkconfig指令管理的服务在/etc/init.d查看

基本语法:

1.查看服务 chkconfig --list [ | grep xxx ]

2.chkconfig 服务名 --list

3.chkconfig --level 5 服务名 on/off

注意:chkconfig重新设置服务后自启动或关闭,需要重启机器reboot后生效

服务管理:

语法: systemctl [start | stop | restart | status] 服务名

systemctl指令管理的服务在/user/lib/systemd/system查看

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

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

2.systemclt enable 服务名 (设置服务开机启动)

3.systemctl disable 服务名 (关闭服务开机启动)

4.systemctl is-enabled 服务名 (查询某个服务是否是自启动的)

注意:1.关闭或者启用防火墙后,立即生效,不需要重启

2.自己的设置防火墙开启和关闭等只会临时生效,当重启系统后,还是会回归到以前对服务的设置

3.如果希望设置某个服务自启动或者关闭永久生效,要使用 systemctl [enable|disable] 服务名来设置

打开或关闭指定端口:

在真正的生产环境,往往需要将防火墙打开,但是如果把防火墙打开,外部请求数据包就不能跟服务器监听端口通信,这时候就需要打开指定的端口。

指令:

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

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

重新载入,设值才会生效:firewall-cmd --reload

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

例:开放111端口:firewall-cmd --permanent --add-port=111/tcp

firewall-cmd --reload

动态监控进程:

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

语法:top [选项]

选项:-d 秒数 功能:指定top命令每隔几秒更新,默认是3秒

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

-p 功能:通过指定监控进程ID来仅仅监控某个进程

交互操作说明:

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

应用实例:

1.监视特定用户,比如tom用户

top:输入此命令,按回车键,查看执行的进程

u:然后输入“u”回车,再输入用户名,即可

2.终止指定的进程

top:输入此命令,按回车键,查看执行的进程

k:然后输入“k”回车,再输入要结束的进程ID号

监控网络状态:

语法:netstat [选项]

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

-p 显示哪个进程在调用

RPM与YUM

rpm包的管理

rpm用于互联网下载包的打包及安装工具,它包含在某些linux分发版中,它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然搭上了RedHat的标志,但理念是通用的

Linux的分发版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准了。

rpm包的简单查询指令:

查询已安装的rpm列表 rpm -qa | grep xx

例:查看当前系统是否安装了firefox

rpm -qa | grep firefox

返回:firefox-60.2.2-1.el7.centos.x86_64

其中各个部分代表含义为:

名称:firefox

版本号:60.2.2-1

适用操作系统:el7.centos.x86_64

表示centos7.x的64位系统

如果是i686、i386表示32位系统,noarch表示通用

其他指令:rpm -qa 查询所安装的所有rpm软件包

rpm -q 软件包名 查询软件包是否安装

rpm -qi 软件包名 查询软件包信息

rpm -ql 软件包名 查询软件包中的文件

rpm -qf 文件全路径名 查询文件所属软件包

卸载rpm包:

语法:rpm -e RPM包的名称 //erase

应用案例:删除firefox软件包:rpm -e firefox

细节:如果其他软件包依赖于要卸载的软件包,卸载时会产生错误信息

如:rpm -e foo 会报错

如果要强制删除,应该加参数 --nodeps (不推荐),强制删除可能导致依赖该软件包的程序无法运行

rpm -e --nodeps foo

安装rpm包:

语法:rpm -ivh RPM包全路径名称

参数说明:i=install 安装

v=verbose 提示

h=hash 进度条

yum包的管理

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

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

yum install xxx 下载安装 安装指定的yum包



posted @ 2022-01-04 11:46  AMHAO  阅读(160)  评论(0编辑  收藏  举报