Linux学习笔记


Linux基础篇


Linux目录结构

具体的目录结构(不用背,知道即可)

  • /bin [常用](/usr/bin、/usr/local/bin)是Binary的缩写,这个目录存放着最经常使用的命令
  • /sbin (/usr/sbin、/usr/local/sbin) s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /home [常用]存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
  • /root [常用]该目录为系统管理员,也称作超级权限者的用户主目录
  • /lib 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
  • /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
  • /etc [常用]所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库 my.conf
  • /usr [常用]这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
  • /boot [常用] 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
  • /proc[不能动] 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
  • /srv[不能动] service缩写,该目录存放一些服务启动之后需要提取的数据
  • /sys[不能动] 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
  • /tmp 这个目录是用来存放一些临时文件的
  • /dev 类似于windows的设备管理器,把所有的硬件用文件的形式存储
  • /media[常用]linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
  • /mnt [常用]系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
  • /opt 这是给主机额外安装软件所存放的目录。如安装ORACLE数据库就可放到该目录下。默认为空
  • /usr/local [常用]这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
  • /var[常用]这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
  • /selinux[security-enhanced linux]SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。

Linux远程链接

  • XShell:命令行运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3gWcXqQk-1666952158260)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221026184853102.png)]

  • Xftp:文件传输
    在这里插入图片描述
  • 如何处理中文乱码
    在这里插入图片描述

vi和vim各种模式的互相切换

在这里插入图片描述

快捷键使用练习

1.拷贝当前行 yy,拷贝当前行向下的5行 5yy,并粘贴。[一般模式下]

2.删除当前行 dd,删除当前行向下的5行5dd[一般模式下]

3.在文件中查找某个单词[命令行下][/关键字 ,回车查找,输入n 就是查找下一个]

4.设置文件的行号,取消文件的行号。[命令行下][显示一般模式:set nu和不显示一般模式:set nonu]

5.编辑/etc/profile文件,使用快捷键到该文档的最末行[G]和最首行[gg]

6.在一个文件中输入"hello",然后又撤销这个动作[一般模式下] [u]

7.编辑 /etc/profile 文件,并将光标移动到 20行 shift+g [一般模式下]

关机&重启命令

  • 注:
    • 不论是重启还是关闭系统,首先运行sync命令,把内存中的数据写到磁盘中;
    • 目前的shutdown/reboot/halt等命令均已经再关机前进行了sync,但小心一点总是好的。
shutdown -h now # 立刻进行关机
shutdown -1 now # 1mins后进行关机
shutdown -r now # 现在重启计算机
shutdown # 1mins后进行关机
halt # 关机,作用和上面一样
reboot # 现在重启计算机
sync # 将内存拿数据同步到磁盘

用户管理

添加用户

  • 用户创建成功后,会自动的创建和用户同名的家目录
  • 也可以通过useradd -d制定目录 新的用户名,给新创建的用户指定家目录
useradd [-d [指定位置]] 新创建用户名
passwd 用户密码

删除用户

删除用户时,一般会保留家目录。

  • 删除用户,保留家目录
userdel 用户名
  • 删除用户以及用户主目录
userdel -r 用户名

查询用户信息

id 用户名

切换用户

su - 切换用户名

用户组

介绍:类似狱中角色,系统可以对有共性的多个角色进行统一管理

增加组

groupadd 组名

删除组

groupdel 组名

增加用户时直接加上组

  • 这个用户组需要存在,才能加入
useradd -g 用户组 用户名

修改用户的组

usermod -g 用户组 用户名

用户和组的相关文件

  • 掌握】用户信息配置文件(用户信息):/etc/passwd

    • 每行的含义:登录名:口令:用户标识号:组标识号:注释性描述:主目录(家目录):登录shell
      在这里插入图片描述
  • 掌握】组配置文件(组信息):/etc/group

    • 每行的含义:组名:口令:组标识号:组内用户列表
  • 口令配置文件(密码和登录信息,是加密):/etc/shadow

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

实用指令

指定运行级别

init 级别

0:关机

1:单用户【找回丢失密码】

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

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

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

5:图形界面

6:系统重启

常用运行级别是3和5,要修改默认的运行级别可改文件

/etc/inittab的id:5:initdefault:这一行中的数字
在这里插入图片描述

面试题

  • 如何找回root密码
  • 思路:进入到单用户模式,然后修改root密码。进入单用户模式,root不需要密码就可以登陆。

帮助指令

  • 获得帮助信息
man [命令or配置文件] 

文件目录类

  • pwd

    • 显示当前目录的绝对路径
  • ls

    • 查看当前目录文件信息

    • ls [选项] [目录或是文件]
      
  • cd

    • 切换到指定目录

    • cd ~ 和 cd 相同,都是切换到家目录
      
  • mkdir

    • 用于创建目录

    • mkdir [选项] 要创建的目录
      
    • 常用选项:-p 创建多级目录

  • rmdir

    • 删除空目录

    • rmdir [选项] 要删除的空目录
      
    • 目录是非空的无法删除

    • 删除非空目录,需要使用rm -rf 要删除的目录删除非空目录

  • touch

    • 创建空文件,可以一次性创建多个文件

    • touch 文件名称1 [文件名称2] [文件名称3] ...
      
  • cp

    • 拷贝文件到指定目录

    • cp [选项] 源文件目录 目标文件目录 # 若目标目录下存在的相同文件,则会提示是否确认覆盖,需要三次确认
      
    • 常用选项:-r 递归复制整个文件夹

    • cp [选项] 源文件目录 目标文件目录 # 若目标文件目录不存在,会自动创建
      
    • \cp [选项] 源文件目录 目标文件目录 # 强制覆盖目标目录下的已存在的相同文件
      
  • rm

    • 移除文件或目录
    • 常用选项
      • -r :递归删除整个文件夹
      • -f:强制删除不提示
    • 使用细节
      • 强制删除不提示的方法:带上-f参数即可
  • mv

    • 移动文件与目录或重命名

    • mv 旧文件名 新文件名 # 重命名
      
    • mv 文件名 文件路径 # 移动文件
      
  • cat

    • 查看文件内容,只能浏览不能修改,只读

    • cat [选项] 要查看的文件路径
      
    • 常用选项-n:显示行号

    • 小技巧:与more结合使用,分页显示

      cat [选项] 要查看的文件[路径] | more
      
  • more

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

    • more指令内置了若干快捷键。

    • more 要查看的文件
      
    • 操作功能说明
      空格代表向下翻【一页】
      Enter代表向下翻【一行】
      q代表立刻离开 more,不再显示该文件内容。
      Ctrl+F向下滚动一屏
      Ctrl+B返回上一屏
      =输出当前行的行号
      :f输出文件名和当前行的行号
  • less

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

    • less 要查看的文件[路径]
      
    • 操作功能说明
      空格向下翻动一页
      [pagedown]向下翻动一页
      [pageup]向上翻动一页
      /字串向下搜寻【字串】的功能;n:向下查找,N:向上查找
      ?字串向上搜寻【字串】的功能;n:向上查找,N:向下查找
      q离开less这个程序
  • >

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

    • 追加:不会覆盖文件原内容

    • ls -l > 文件 # 功能描述:列表的内容覆盖写入文件中(文件不存在则创建文件)
      
    • ls -al >> 文件 # 功能描述:列表的内容追加到文件中(文件不存在则创建文件)
      
    • cat 文件1 > 文件2 # 功能描述:将文件1的内容覆盖到文件2
      
    • echo "内容" > 文件 # 将内容直接写入文件
      
  • echo

    • 输出内容到控制台

    • echo [选项] [输出内容]
      
      • echo $PATH # 输出当前环境变量路径
        
  • head

    • 用于显示文件的开头部分内容,默认显示前10行内容

    • head 文件 # 显示文件前10行内容
      
    • head -5[-n 5] 文件 # 显示文件前5行内容
      
  • tail

    • 用于显示文件的尾部内容,默认显示后10行内容

    • tail 文件 # 显示文件后10行内容
      
    • tail -5[-n 5] 文件 # 显示文件后5行内容
      
    • tail -f 文件 # 实时追踪该文档的所用更新
      
  • ln(这个是LN,不是IN

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

    • ln -s [源文件或目录] [软连接名] # 给源文件创建一个软连接,类似于创建一个快捷方式
      
    • rm -rf [软连接名] # 删除软连接
      
    • 删除软连接的时候软连接名称不要带/,举例:

      • rm -rf SOFTLINK/ # 错误
        rm -rf SOFTLINK # 正确
        
  • history

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

    • history 数字 # 显示[数字]个指令
      
    • history !数字 # 显示历史编号为[数字]的指令
      

时间日期类

  • date

    • 显示当前时间

    • date +[时间格式字符串] # 显示当前时间,格式为时间格式字符串
      
    • 例子:date "+%Y-%m-%d %H:%M%S"
      
    • 设置日期

      • date -s "2022-11-01 12:45:45" # 将系统时间设置为2022-11-01 12:45:45
        
  • cal

    • 查看日历

    • cal [选项] # 选项为年份,即显示某一年的整年日历
      

搜索查找类

  • find

    • find [搜索范围] [选项]
      
    • 常用指令

      选项功能
      -name<查询方式>按照指定的文件名查找模式查找文件
      -user<用户名>查找属于指定用户名所有文件
      -size<文件大小>按照指定的文件大小查找文件
    • 查找文件大小大于20兆的文件

      • find / -size +20M # +n 文件大小大于n;-n 文件大小小于n;n 文件大小等于n
        
    • 查找/目录下,所有带有.txt的文件

      • find / -name *.txt # 支持通配符
        
  • locate

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

    • 特别说明:

      • 由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate。
    • updatedb
      locate hello.txt
      
  • grep 和 管道符号|

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

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

      • 选项功能
        -n显示行号
        -i忽略字母大小写
      • 在这里插入图片描述

压缩和解压类

  • gzip/gunzip

    • gzip:压缩文件

      • 文件压缩后,不会保留原文件

      • gzip 文件名 # 会自动将文件后缀添加为.gz
        
    • gunzip:解压文件

      • gunzip 文件.gz
        
  • zip/unzip

    • zip:压缩文件

      • zip [选项] xxx.zip 将要压缩的内容(路径)
        
      • 常用选项:-r 递归压缩,即压缩目录

    • unzip:解压文件

      • unzip [选项] xxx.zip 
        
      • 常用选项:-d 目录:制定解压后文件的存放目录

  • tar

    • 打包指令:打包目录,压缩后的文件格式:.tar.gz

    • tar [选项] XXX.tar.gz 打包的内容
      
    • 选项说明

      • 选项功能
        -c产生.tar打包文件
        -v显示详细信息
        -f指定压缩后的文件名
        -z打包同时压缩
        -x解包.tar文件
    • 将多个文件打包压缩

      tar -zcvf test.tar.gz test1.txt test2.txt ...
      
    • 将某个目录下的文件压缩

      tar -zcvf test.tar.gz /home/
      
    • 将 test.tar.gz 解压到当前目录

      tar -zcvf test.tar.gz
      
    • 将 test.tar.gz 解压到 /home/temp目录下,若目录不存在,不会自动创建,会报错

      tar -zcvf test.tar.gz -c /home/temp
      

组管理和权限管理

Linux组的基本介绍

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

  • 所有者
  • 所在组
  • 其它组
  • 改变用户所在的组

文件/目录 所有者

查看文件所有者
  • ls -ahl
    
  • 文件所有者,并不一定在文件所在组
    在这里插入图片描述

修改文件所有者
  • chown 用户名 文件名
    

组的创建

  • groupadd 组名
    

文件/目录所在组

修改文件所在的组
  • chgrp 组名 文件名
    

其他组

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

改变用户所在组

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

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

权限的基本介绍

rwx权限讲解【重点】

ls -l中显示的内容如下

-rwxrw-r-- 1 root root 1212 Feb 2 09:39 abc
  • 0-9位说明:
    • 可用数据表示为:
      • r=4
      • w=2
      • x=1
      • 因此,rwx = 4+2+1 = 7
    • 第0位确定文件类型:
      • d(目录)
      • -(文件)
      • l(链接,即软连接)
      • c(
      • b
    • 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。–User
    • 第4-6位确定所属组(同用户组的)拥有该文件的权限。—Group
    • 第7-9位确定其他用户拥有该文件的权限。–Other
  • 1
    • 文件:硬连接
    • 目录:子目录数量
  • 第一个root:用户
  • 第二个root:组
  • 1212:文件大小(字节),如果时文件夹,显示4096字节
  • Feb 2 09:39 :文件最后一次修改时间
  • abc:文件名or目录名
rwx作用到文件
  • [r]代表可读(read):可以读取,查看。

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

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

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

权限管理

  • 修改文件or目录权限

    chmod
    
第一种方式:+、-、=变更权限
  • 字母含义:

    • u:所有者
    • g:所有组
    • o:其他人
    • a:所有人(u、g、o的总和)
  • chmod u=rwx,g=rx,o=x # 文件目录名
    chmod o+w # 文件目录名
    chmod a-x # 文件目录名
    
第二种方式:通过数字变更权限
  • r=4,w=2,x=1

    • rwx=4+2+1=7

    • 相当于

      chmod 751
      
修改文件所有者
chown newowner file # 改变文件的所有者
chown newowner:newgroup file # 改变用户的所有者和所有组
  • 案例演示:请将/home/kkk目录下所有的文件和目录的所有者都改成tom

    • 提示:应该使用root用户操作

    • chown -R tom kkk/
      
修改文件所在组
chgrp newgroup file # 改变文件的所有组
最佳时间-警察土匪游戏
  • police组

    • jack,jerry
  • bandit组

    • xh,xq
  • 创建组:

    • groupadd police
      
    • groupadd bandit
      
  • 创建用户

    • useradd -g police jack
      useradd -g police jerry
      useradd -g bandit xh
      useradd -g bandit xq
      
  • 指定密码

    • passwd jack # 123
      passwd jerry # 123
      passwd xh # 123
      passwd xq # 123
      
  • jack创建一个文件,自己可以读写,本组人可以读,其他组没任何权限

    • chmod 640 jack01.txt
      
  • jack修改该文件,让其他组人可以读,本组人可以读写

    • chmod o=r,g=rw jack01.txt
      
  • xh投靠警察,看看是否可以读写

    • usermod -g police # root用户修改
      
    • id xh # xh没有权限
      
    • chmod g=rx /jack # 修改jack目录同组权限
      
    • xh在修改权限过后需要重新登陆才可以
      
课后练习一
  • 建立两个组(神仙,妖怪)
  • 建立四个用户(唐僧,悟空,八戒,沙僧)
  • 设置密码
  • 把悟空,八戒放入妖怪;唐僧,沙僧在神仙
  • 用悟空建立一个文件(monkey.java该文件要输出i am monkey)
  • 给八戒一个可以rw的权限
  • 八戒修改monkey.java加入一句话(i am pig)
  • 唐僧沙僧对该文件没有权限
  • 把沙僧放入妖怪组
  • 让沙僧 修改 该文件 monkey,加入一句话(“我是沙僧,我是妖怪”)
课后练习二
  • 用root登录,建立用户mycentos,自己设定密码
  • 用mycentos登录,在主自录下建立目录test/t11/t1
  • 在t1中建立一个文本文件aa,用vi编辑其内容为ls -al
  • 改变aa的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aa
  • 删除新建立的目录test/t11/t1
  • 删除用户mycentos及其主自录中的内容
  • 将linux设置成进入到图形界面的
  • 重新启动linux或关机

Linux磁盘分区、挂载

分区基础知识

  • gtp分区比mbr优越:
    • 分区更多
    • 容量更大

Linux分区

原理

  • Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
  • Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
  • 挂载:磁盘分区加载到Linux文件系统下的方式
  • 卸载:Linux文件系统下的磁盘分区移除
  • 示意图:在这里插入图片描述

硬盘说明

  • Linux 硬盘分 IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

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

  • 对于SCSI硬盘则标识为“sdx-”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

  • 使用lsblk指令查看当前系统的分区情况:在这里插入图片描述

查看所有设备挂载情况

lsblk 
lsblk -f

挂载的经典案例

  • 需求:给我们的Linux系统增加一个新的硬盘,并挂载到/home/newdisk

  • 步骤一:在这里插入图片描述

  • 步骤二:

    • 查看分区:lsblk
      
    • 分区命令 fdisk /dev/sdb

    • 开始对/sdb分区

      • m 显示命令列表
      • p 显示磁盘分区同fdisk -|
      • n 新增分区
      • d 删除分区
      • w 写入并退出
    • 说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q

  • 格式化磁盘:

    • 分区命令:mkfs -t ext4 /dev/sdb1
      
    • 其中ext4是分区类型

  • 挂载:

    • mount 设备名称 挂载目录
      
    • 例如:

      mount /dev/sdb1 /newdisk
      
    • 卸载

      umount 设备名称or挂载目录
      
      • 例如:
      umount /dev/sdb1
      umount /newdisk
      
  • 永久挂载

    • 通过修改文件etc/fstab实现

      • vim etc/fstab
        
      • /dev/sdb1 /home/newdisk ext4 defaults 0 0
        

      在这里插入图片描述

磁盘情况查询

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

    • df -h
      
    • 在这里插入图片描述
  • 查询指定目录的磁盘占用情况

    • du -h /目录 # 默认为当前目录
      
    • 选项含义
      -s指定目录占用大小汇总
      -h带计量单位
      -a含文件
      –max-depth=1子目录深度
      -c列出明细的同时,增加汇总值
    • 应用实例

      • 统计/home文件夹下文件的个数

        • ls -l /home | grep "^-" | wc -l # wc 统计个数
          
      • 统计/home文件夹下目录的个数

        • ls -l /home | grep "^d" | wc -l
          
      • 统计/home文件夹下文件的个数,包括子文件夹里的

        • ls -lR /home | grep "^-" | wc -l # -R 递归统计
          
      • 统计/home文件夹下目录的个数,包括子文件夹里的

        • ls -lR /home | grep "^d" | wc -l
          
      • 以树状显示目录结构

        • tree
          
        • 没有tree,使用yum安装

          yum tree
          

网络配置原理

原理图(含虚拟机)

  • 目前我们的网络连接是NAT模式,网络环境:
    • 在这里插入图片描述

查看网络IP和网关

查看虚拟网络编辑器

在这里插入图片描述

修改IP地址

查看网关

在这里插入图片描述

查看Windows环境中的VMnet8网络配置(ipconfig指令)

  • 使用ipconfig查看
  • 从网络适配器中查看

Linux网络环境配置

指定固定的IP地址

  • 直接修改配置文件来指定IP,并可以链接到外网,编辑vim /etc/sysconfig/network-scripts/ifcfg-ens33
    • 要求:将IP地址配置为静态的
  • 在这里插入图片描述
  • 修改后要重启服务service network restart(重启机器reboot也可以)

进程管理

进程的基本介绍

  • 每个执行的程序(代码)都成为一个进程,每个进程都分配一个ID号。

显示系统执行的进程

  • 查看进程使用的指令:ps,一般来说使用的参数是ps -aux

    • ps指令详解

      字段说明
      PID进程识别号
      TTY终端机号
      TIME此进程所消耗CPU时间
      %CPU正在执行的命或进程名
      %MEM占用内存情况
      VSZ使用的虚拟内存大小(单位:KB)
      RSS使用的物理内存大小(单位:KB)
      STAT进程的状态:S->休眠;R->运行;Z->僵死进程
      COMMAND进程执行时的命令行,过长会被截断
      USER用户名
      STARTED进程的启动时间
      [PPID]父进程识别号
  • ps -a:显示当前终端的所有进程信息

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

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

  • ps -ef | more # 查看父进程,以全格式显示当前所有的进程
    
    • -e:显示所有进程
    • -f:全格式

终止进程kill和killall

  • kill [选项] 进程号 # 通过进程号杀死进程
    
  • killall 进程名称 # 通过进程名杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
    
  • 应用实例

    • 终止非法用户

      • ps -aux | grep sshd # sshd 查看远程登陆的用户
        kill 进程号
        
    • 终止远程登陆服务sshd,在适当时候再次启动sshd

      • ps -aux | grep sshd # sshd 查看远程登陆的用户
        kill [sshd进程的进程号]
        
      • service start sshd # 重启sshd
        
      • 在这里插入图片描述

    • 终止多个gedit编辑器

      • killall gedit # gedit是进程名
        
    • 强制终止进程

      • 终端对应的文件名是/bin/bash

      • kill -9 [进程号]
        

查看进程数pstree

pstree -p # 树状形式显示进程PID
pstree -u # 树状形式显示进程的所属用户ID

服务管理

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

  • systemctl [start|stop|restart|reload|status] 服务名
    
  • 使用案例:

    • 关闭防火墙:

      systemctl [start|stop|restart|reload|status] firewalld
      
  • 注:这种方式是临时生效,重启后,回到原来的设置;

  • 如果希望永久关闭,or自启动,需要使用chkconfig指令

查看服务名

  • 查看/etc/init.d文件

运行级别

  • 详见实用指令-指定运行级别

开机的流程说明

在这里插入图片描述

chkconfig指令

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

  • 基本语法:

    • 查看服务:

      • chkconfig --list | grep xxx 
        
      • 在这里插入图片描述
    • chkconfig 服务名 --list
      
      • 在这里插入图片描述
    • chkconfig --level 5 服务名 on/off # 请将sshd服务在运行级别为5的情况下,不要自启动
      
      • 在这里插入图片描述

动态监控进程

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

  • top [选项]
    
  • 选项说明 :

    • 选项功能
      -d 秒数指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令。
      -i使top不显示任何闲置或者僵死进程
      -p通过指定监控进程ID来仅仅监控某个进程的状态
  • 交互操作:

    • 操作功能
      P以CPU使用率排序,默认就是此项
      M以内存的促用率排序
      N以PID排序
      U监控某个指定用户
      q退出top

查看系统网络情况

  • netstat [选项]
    
    • 选项说明:
      • -an:按一定顺序排列输出
      • -p 显示哪个进程在调用
  • netstat -anp # 查看所有网络服务
    
  • netstat -anp | grep sshd # 查看名为sshd的网络服务
    

RPM(RedHat Package Manager)包管理

简单查询指令

  • rpm -qa | grep xx # 查询已安装xx软件的rpm列表
    
    • noarch:表示软件是x86等版本通用的

其他查询指令

  • -qa:查询所安装的所有rpm软件包
  • -q 软件包名:查询软件包是否安装
  • -qi 软件包名:查询软件包信息
  • -ql 软件包名:查询软件包中的文件
  • -qf 文件全路径名:查询文件所属的软件包

卸载rpm包

  • rpm -e xxx # 卸载名为xxx的软件包
    
  • rmp -e --nodeps xxx # 强制删除名为xxx的软件包
    

安装apm包

  • rmp -ivh [RPM包全路径名称]
    
    • i:install 安装
    • v:verbose 提示
    • h:hash 进度条

YUM

基本介绍

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

使用yum的前提是可以联网。

默认是安装最新的版本。

基本指令

  • yum list | grep xxx # 查询yum服务器是否有需要安装的xx软件
    
  • yum install xxx # 安装指定xxx软件的yum包
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值