Linux

Linux

第一章 Linux的目录结构

  • /bin:是Binary的缩写,这个目录存放着最经常使用的命令

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序

  • /home:存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该用户名是以用户的账号命名的

  • /root:该目录为系统管理员的用户主目录

  • /lib:系统开机所需要的最基本的动态连接共享库,其作用类似于Windows中的dll文件,几乎所有的应用程序都需要用到这些共享库

  • /lost+found:一般情况下是空的,当系统非法关机后,这里就存放一些文件

  • /etc:所有的系统管理所需要的配置文件和子目录

  • /usr:用户的很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录

  • /boot:存放的时启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

  • /proc:这个文件是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息

  • /src:service缩写,该目录存放一些服务启动之后需要提取的数据

  • /sys:这个目录下安装了2.6内核中新出现的一个文件系统ysfs

  • /tmp:这个目录是用来存放一些临时文件的

  • /dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以把外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了

  • /opt:这是给主机额外安装软件所摆放的目录,默认为空

  • /usr/local:这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序。

  • /var:这个目录中存放着再不断扩充着的东西,习惯将经常被修改的目录放到这个目录下,包括各种日志文件

  • /selinux:SELinux是一种安全子系统,他能控制程序只能访问特定文件

总结:

  1. linux的目录中有且只有一个根目录
  2. linux的各个目录存放的内容是规划好的,不用乱放文件
  3. lunux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件

第二章 远程登录Linux系统

  • 远程登录Linux系统的三个软件:Xshell,Xftp,Xmanager

  • XShell配置

image-20210802210155292
  • Xftp同上
  • Xmanager无需配置

第三章vi和vim编辑器

3.1 vi和vim的三种常见模式

  • 正常模式

  • 插入/编辑模式

    在此模式下,程序员可以输入内容

    按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按 i 即可

  • 命令行模式

    在此模式下,可以根据你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作

3.2 vi和vim模式的相互切换

image-20210802211658378

3.3 vi和vim模式的快捷键

  1. 复制当前行并粘贴:一般模式下按yy,复制当前行向下的5行:5yy
  2. 粘贴:一般模式下按p
  3. 删除当前行:一般模式下按dd,删除当前行向下的5行:5dd
  4. 在文件中查找某个单词:一般模式下按 / 关键字
  5. 设置文件的行号:命令行下set nu,取消文件的行号:命令行下set nonu
  6. 到达文档最末行:一般模式按G;到达文档第一行:一般模式按gg
  7. 撤销上一步操作:一般模式按u
  8. 到达文件第20行:
    1. 第一步:命令行下显示行号
    2. 第二步:命令行输入20

第四章 开机、重启和用户登录注销

  • 关机&重启命令

    • shutdown:关机
    • shutdown -h now:立即关机
    • shutdown -h 1:1分钟之后关机
    • shutdown -r now:立即重启
    • halt:关机
    • reboot:立即重启
  • sync:将内存命令同步到磁盘

  • 注销:logout(在图形运行级别无效,在运行级别3下有效)

第五章 用户管理

  • 创建用户

    • 基本语法:useradd 用户名
    • 当创建用户成功后,会自动创建和用户同名的家目录
    • 在指定的目录创建用户:useradd -d 指定目录 用户名,创建前不能有同名目录存在
    • 创建用户时加上组:useradd -g 用户组 用户名
    • 给用户指定/修改密码:passwd 用户名
  • 删除用户

    • 删除用户,但保存家目录:userdel 用户名
    • 删除用户和用户家目录:userdel -r 用户名
    • 建议使用保存家目录方式
  • 切换用户

    • 基本语法:su - 用户名
    • 返回到原来的用户:exit
  • 查看当前用户

    • 基本语法:who am i
  • 用户组

    • 类似于角色,系统可以对有共性的多个用户进行统一的管理
    • 添加组:groupadd 组名
    • 删除组:groupdel 组名
    • 修改用户的组:usermod -g 用户组 用户名

第六章 实用指令

6.1 指定运行级别

  • 常用运行级别为3和5,要修改默认的运行级别可更改文件/etc/inittabid:5:initdefault:这一行的数字
切换到指定运行级别的指令
  • 基本语法:init [0123456]

    init 0
    init 1
    init 2
    ……
    

    开机时输入回车键 -> 进入一个界面,输入e -> 新界面,选中第二行,输入e -> 在此行输入空格1,在输入回车 -> 输入b,进入单用户模式

  • 输入systemctl isolate runlevel5.target

    systemctl isolate runlevel0.target    -- 0...
    		  runlevel5.target    		  -- 5

6.2 帮助指令

  • 基本语法:man

    功能:获得帮助信息

  • 基本语法:help

    功能:获得shell内置命令的帮助信息

  • 百度

6.3 文件目录类指令

pwd指令
  • 功能:获取当前目录的绝对路径
ls指令
  • 基本语法:ls 【选项】【目录或者是文件】

  • 常用选项:

    • -a :显示当前目录所有的文件和目录,包括隐藏的
    • -l :以列表的方式显示信息
cd指令
  • 常用参数:
    • cd~ :回到自己的家目录
    • cd… :回到上一级目录
mkdir指令
  • 基本语法:mkdir【选项】目录名

  • 常用选项: -p :创建多级目录

    mkdir -p /home/animal/dog	-- 在home目录下创建animal目录,再在animal目录下创建dog目录
    
rmdir指令
  • 基本语法:rmdir【选项】要删除的空目录
  • !目录中有内容则无法删除
  • 强行删除有内容的目录:rmdir -rf 要删除的目录
touch指令
  • 基本语法:touch 文件名称

    touch zhan.txt	-- 创建一个空文件
    touch zhan1.txt zhan2.txt	-- 创建两个空文件
    
cp指令
  • 基本语法:cp【选项】source dest

    cp aaa.txt bbb/	-- 将当前目录的aaa.txt拷贝到bbb文件夹下
    
  • 常用选项:-r :递归复制整个文件夹

    cp -r test/ zwj/	-- 将test整个文件夹拷贝到zwj文件夹下
    
    \cp -r test/ zwj/	-- 强制将test整个文件夹拷贝到zwj文件夹下(zwj文件夹下已经有test文件夹)
    
rm指令
  • 基本语法:rm【选项】要删除的文件或目录
  • 常用选项:
    • -r :递归删除整个文件夹
    • -f :强制删除不提示
mv指令
  • 基本语法:
    • mv oldNameFile newNameFile:重命名
    • mv pig.txt /temp/movefile/targetFolder:移动文件
cat指令
  • 基本语法:cat【选项】要查看的文件

    cat -n /etc/profile | more 	## 一般配合 | more 分页使用
    
  • 常用选项:

    选项功能
    -n显示行号(空行有行号)
    -b显示行号(空行没有行号)
  • ! 只能查看文件内容,不能修改

tac命令

将文件以行 为单位的反序输出

wc指令
  • 基本语法:wc [option] filename

  • 常用选项

    选项功能
    -l统计行数
    -c统计字节数
    -m统计字符数
more指令
  • 基本语法:more 要查看的文件
  • 常用选项
    • +n:从第几行开始显示
    • -n:定义屏幕大小为n行
    • 空格键:向下翻一页
    • Enter:向下翻一行
    • q:离开more,不再显示该文件内容
  • 常用操作
    • Ctrl+F:向下滚动一屏
    • Ctrl+B:返回上一屏
    • =|:输出当前的行号
    • :f :输出文件名和当前的行号
less指令
  • 基本语法:less 要查看的文件
  • 常用选项:
    • -b:设置缓冲区大小啊
    • -e:文件显示结束自动退出
    • -f:强制打开特殊文件
    • -g:只标志最后搜索的关键词
    • -i:忽略搜索的大小写
    • -m:显示类似more命令的百分比
    • -N:显示行号
    • -o filename:将less输出的内容保存至指定文件
    • -s:显示连续空行为一行
    • -S:行过长时舍弃超出部分
  • 常用操作:
    • 空格键:向下翻动一页
    • [pagedown]:向下翻动一页
    • [pageup]:向上翻动一页
    • /字串:向下搜寻[字串]的功能:n:向下查找;N:向上查找
    • ?字串:向上搜寻[字串]的功能:n:向上查找;N:向下查找
    • q:离开
    • n:重复上一个搜索结果
    • N:反向重复前一个搜索结果
  • ! less指令在显示文件内容时,不是一次将整个文件加载完之后才显示,而是根据显示需要加载的内容,对于显示大型文件有较高的效率。less可以随意浏览文件,而more仅能向前移动,却不能向后移动。
> 指令和 >> 指令
  • 输出重定向 和 追加
  • 基本语法:
    • ls -l > 文件 :ls列表的内容写入文件中(覆盖写)
    • ls -al >> 文件 :ls列表的内容追加到文件的末尾
    • cat 文件1 > 文件2 :将文件1的内容覆盖到文件2
    • cat 文件1 >> 文件2 :将文件1的内容追加到文件2
    • echo “内容” > 文件 :将内容覆盖到文件中
    • echo “内容” >> 文件 :将内容追加到文件末尾
echo指令
  • 基本语法:

    • echo 【选项】【输出内容】
  • 应用

    • echo $PATH	-- 输出$PATH环境变量,输出当前的环境路径
      
    • echo "hello world"	-- 输出hello world
      
head指令
  • 基本语法
    • head 文件路径 :查看文件前10行内容
    • head -n 5 文件路径 :查看文件前5行内容
    • head -n -5 文件:查看除了最后5行之外的内容
tail指令
  • 基本语法
    • tail 文件路径 :查看文件后10行内容
    • tail -n 5 文件路径  :查看文件后5行内容
    • tail -n +5 file:显示除了前5行外的内容
    • tail -f 文件路径 :实时追踪该文档的所有更新(经常使用)
in指令
  • 相当于windows里的快捷方式
  • 基本语法
    • in -s [原文件或目录 ] [ 软链接名 ](功能描述:给原文件创建一个软链接)
    • 删除软链接:rm -rf 软链接名
  • 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录
history指令
  • 作用:查看已经查看过的历史命令,也可以执行历史指令
  • 基本语法:
    • history
  • 应用实例:
    • 显示所有指令:history
    • 显示最近使用过的10个指令:history 10
    • 执行历史编号为5的指令:!178

6.4 时间日期类

6.4.1 date指令
  • 显示当前时间

  • 基本语法:

    • date (功能描述:显示当前时间)
    • date “+%Y” (功能描述:显示当前年份)
    • date “+%m” (功能描述:显示当前月份)
    • date “+%d” (功能描述:显示当前天数)
    • date"+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
    • date -s 字符串时间(功能描述:设置日期)
  • 案例分析:

    • 显示当前年月日时分秒

      image-20210726160128147

    • 设置当前时间

6.4.2 cal指令
  • 查看日历

  • 基本语法

    • cal [选项](功能描述:不加选项,显示本月日历)
  • 应用实例

    • 显示当前日历

      image-20210727102558961

    • 显示2020年日历

      image-20210727160927132

6.5 搜索查找类

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

  • 基本语法

    • find 【搜索范围】【选项】【名称/大小】

      • 选项说明

        选项功能
        -name按照指定的文件名查找模式查找文件
        -user查找属于指定用户名所有文件
        -size按照指定的文件大小查找文件
  • 案例

    • 按文件名:根据名称查找Document目录下的hello.txt文件

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KvhWkExy-1635080987602)(https://i.loli.net/2021/07/27/mosN9YQIdFMabKH.png)]

    • 按拥有者,查找/opt目录下,用户名称为nobody的文件

      image-20210727163050247

    • 查找整个linux系统下大于20M的文件 (+n 大于 -n小于 n等于)

      image-20210727163401467

    • 查询所有.txt文件(通配符可以使用)

      image-20210727164253731

6.5.2 locate
  • 可以快速定位文件路径

  • 基本语法:

    • locate 文件名
  • 说明

    • 因为locate指令是基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
  • 应用

    • 使用locate指令快速定位hello.txt文件所在目录

      image-20210727170602209

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

  • 基本语法

    • grep【选项】查找文件 原文件
  • 常用选项

    选项功能
    -n显示匹配行及行号
    -i忽略字母大小写
  • 应用

    • 请在hello.txt文件中,查找’‘yes’'所在行,并且显示行号

      image-20210727171556206

    • 和管道符号配合使用

      image-20210727171719252

6.6 压缩和解压缩指令

6.6.1 gzip/gunzip
  • gzip用于压缩文件,gunzip用于解压

  • 基本语法

    • gzip 文件(功能描述:压缩文件,只能将文件压缩成*.gz文件)
    • gunzip 文件.gz(功能描述:解压缩)
  • 应用

    • gzip压缩,将Documents下的hello.txt文件进行压缩(原文件不保留)

      image-20210727172321624

    • gunzip解压缩,将Documents下的hello.txt.gz文件进行解压缩(不保留原压缩文件)

      image-20210727172349926

6.6.2 zip/unzip
  • zip用于压缩文件,unzip用于解压

  • 基本语法

    • zip 【选项】XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
    • unzip【选项】XXX.zip(功能描述:解压缩文件)
  • zip常用选项

    选项功能
    -r递归压缩,即压缩目录
  • unzip常用选项

    选项压缩
    -d <目录>指定解压后文件的存放目录
  • 应用

    • 将Documents下的所有文件进行压缩成mypackage.zip

      image-20210727173126393

    • 将mypackage.zip解压到/opt/tmp目录下

      image-20210727173258103

6.6.3 tar
  • 打包指令,打包后的文件是.tar.gz的文件

  • 基本语法

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

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

    • 压缩多个文件,将/home/a1.txt和/home/a2.txt压缩成a.tar.gz

      image-20210727174751593

    • 将/home的文件夹压缩成myhome.tar.gz

      image-20210727175303265

      image-20210727175319735

    • 将a.tar.gz解压到当前目录

      image-20210727175410991

      image-20210727175443403

    • 将a.tar.gz解压到/root/Documents目录下

      image-20210727175744609

第七章 linux实操

7.1 组管理

  • 基本介绍:在linux中每个用户都必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其他组的概念
7.1.1 组的创建
  • 指令:groupadd 组名

  • 应用实例:创建一个组,将一个用户放到组中

    image-20210728114127872

7.1.2 文件/目录 所有者
7.1.2.1 查看文件的所有者
  • 指令:ls -ahl

  • 应用实例:创建一个组police,再创建一个用户tom,然后使用tom来创建一个文件

    image-20210728112803976

    image-20210728113314540

7.1.2.2 修改文件所有者
  • 指令:chown 用户名 文件名

  • 应用案例:使用root创建一个文件apple.txt,然后将其所有者修改成tom

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xIJxsj2-1635080987611)(https://i.loli.net/2021/10/24/WtVJEi8U35wjylg.png)]

    image-20210728113812174

7.1.3 文件/目录 所在组
7.1.3.1 查看文件所在组
  • 指令:ls -ahl
7.1.3.2 修改文件所在组
  • 指令:chgrp 组名 文件名

  • 应用实例:使用root用户创建文件orange.txt,看看当前文件属于哪个组,然后将这个文件所在组修改到public组

    image-20210728114741123

7.1.3.3 改变用户所在组
  • root的管理权限可以改变某个用户所在的组

  • 指令:

    • usermod -g 组名 用户名
    • usermod -d 目录名 用户名(改变该用户登陆的初始目录)
  • 应用实例:创建一个土匪组bandit,将tom从原来的police组修改到bandit组

    image-20210728115347931

7.2 权限管理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ISWj8GeO-1635080987613)(https://i.loli.net/2021/10/24/1Lh8vAklWQ5p2HG.png)]

  • 1:文件的类型:

    符号类型
    -普通文件
    d目录
    l软链接
    c字符设备(鼠标、键盘)
    b块文件,硬盘
  • 2:文件所有者的权限

  • 3:文件所在组的用户的权限

  • 4:文件其他组的用户的权限

  • 5:如果是文件,便是硬链接的数量。如果是目录则表示该目录的子目录个数

  • 6:前面的6表示文件大小,如果是目录则为4096。后面为最后修改的日期

  • rwx权限详解

    • 作用到文件时
      • r表示可读
      • w表示可写,可以修改,但是不代表可以删除该文件
      • x表示可执行
    • 作用到目录时
      • r表示可读
      • w表示可写,可以修改,目录内创建、删除、重命名目录
      • x表示可执行:可以进入该目录
7.2.1 修改权限chmod
  • 通过chmod指令,可以修改文件或者目录的权限

  • u:所有者 g:所有组 0:其他人 a:所有人

  • 指令:

    • chmod u=rwx,g=rx,o=x 文件目录名
    • chmod o+w 文件目录名
    • chmod a-x 文件目录名
  • 实用案例:

    • 给abc文件的所有者读写执行权限,所在组读执行权限,其他组读执行权限

      image-20210728164310401

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-atRei6No-1635080987614)(https://i.loli.net/2021/07/28/Z9VC1gnwKH4qod6.png)]

    • 给abc文件的所有者除去执行的权限,增加组写的权限

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WhvNqQCw-1635080987614)(https://i.loli.net/2021/07/28/q4zY7HDPmwS26lQ.png)]

7.2.2 修改文件所有者和所在组
  • 指令:chown newowner:newgroup file改变用户的所有者和所在组

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

  • 案例

    • 将Documents/abc.txt文件所有者改为tom

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0OUd1yr-1635080987615)(https://i.loli.net/2021/07/28/lxP91jA4WFDSOE8.png)]

    • 将Documents/newdir 目录下的 所有文件和目录的所有者 都修改为tom

      image-20210728165930198

7.2.3 修改文件所在组
  • 指令:chgrp 新组名 文件名

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

7.3 定时任务调度

  • 指令:crontab 【选项】

  • 选项功能
    -e编辑crontab定时任务
    -l查询crontab任务
    -r删除当前用户所有的crontab任务
  • service crond restart:重启任务调度

  • image-20210728173348932

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CgxabUHW-1635080987616)(https://i.loli.net/2021/07/28/ZilcDAmgwHI71YX.png)]

7.4 Linux磁盘分区、挂载

  • 步骤一

    • 在虚拟机添加一块磁盘
  • 步骤二

    • 分区命令

      fdisk /dev/sdb
      n	# 新增分区
      p	# 显示磁盘分区
      两次回车,默认剩余全部空间
      w	# 写入分区并退出,若不保存退出则输入q
      
  • 步骤三

    • 格式化硬盘

      mkfs -t ext4 /dev/sdb1	# extr为分区类型,/dev/sdb1为硬盘位置
      
  • 步骤四

    • 挂载

      mount 设备名称 挂载目录	# 例如:mount /dev/sdb1	/newdisk
      umount 设备名称/挂载目录	# umount /dev/sdb1或者umount /newdisk
      
  • 步骤五

    • 永久挂载,通过修改/etc/fstab实现,修改后执行mount -a即刻生效

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F1RglDK1-1635080987616)(https://i.loli.net/2021/07/29/TJGC4EMzQuZqhXt.png)]

7.5 磁盘情况查询

  • 基本语法:df -h

  • 查询指令目录的磁盘占用情况

    • 基本语法:du -h 目录路径

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-izrq9n2z-1635080987616)(https://i.loli.net/2021/07/29/9jUrbxTDZhVIkYP.png)]

  • 磁盘情况

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nqhH5KX-1635080987617)(https://i.loli.net/2021/07/29/Bf238Zw5lHc7jCa.png)]

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

      image-20210729111933353

    • 统计/home文件夹下文件的个数,包括子文件夹里的

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRFTNlZZ-1635080987618)(https://i.loli.net/2021/07/29/EQb2Rrdx3aOwFpN.png)]

    • 树状显示目录结构

      image-20210729112059969

7.6 网络配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4SN38bHG-1635080987619)(https://i.loli.net/2021/09/28/dJg4CQm96pLMu3H.png)]

  • 查看/修改ip

    image-20210729113356013
  • 查看网关

    image-20210729113443889
  • 设置固定的ip

    直接修改配置文件来指定ip,并可以连接外网, vi /etc/sysconfig/network-scripts/ifcfg-ens33

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TJvMvEnX-1635080987619)(https://i.loli.net/2021/07/29/zQyDPqiWtXrYS2j.png)]

    修改后重启服务

    nmcli c reload

7.7 进程管理

7.7.1 显示系统执行的进程
  • 指令:ps 【选项】
选项功能
-a显示当前终端的所有进程信息
-u以用户的格式显示进程信息
-x显示后台进程运行的参数
-e显示所有进程
-f全格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HRkXWJL1-1635080987619)(https://i.loli.net/2021/07/29/EHN82gjhGT1coWr.png)]

  • PS指令详解

    • 指令:ps –aux|grep xxx ,比如我看看有没有 sshd 服务

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

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

    • TT:终端名称,缩写 .

    • STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更

      低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

    • STARTED:进程的启动时间

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

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

  • 应用实例

    image-20210729215507079

    • UID:用户 ID
    • PID:进程 ID
    • PPID:父进程 ID
    • C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
    • STIME:进程启动的时间
    • TTY:完整的终端名称
    • TIME:CPU 时间
    • CMD:启动进程所用的命令和参数
7.7.2 终止进程
  • 基本语法:

    • kill 【选项】进程号
    • killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
  • 常用选项:-9:表示强制进程立刻终止

7.7.3 查看进程树
  • 基本语法:pstree【选项】(可以更加直观的来看进程信息)

  • 常用选项

    选项功能
    -p显示进程的 PID
    -u显示进程的所属用户

image-20210729221020161

7.8 服务管理

  • 指令:

    • systemctl start 服务名:启动服务

    • systemctl stop 服务名:关闭服务

    • systemctl restart 服务名:重启服务

    • systemctl reload 服务名:重新加载服务

    • systemctl status 服务名:查看服务状态

    • systemctl daemon-reload:重载systemd服务列表

  • 服务的运行级别(runlevel)

    Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5

    运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动

    运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆

    运行级别 2:多用户状态(没有 NFS),不支持网络

    运行级别 3:完全的多用户状态(有 NFS),登陆后进入控制台命令行模式

    运行级别 4:系统未使用,保留

    运行级别 5:X11 控制台,登陆后进入图形 GUI 模式

    运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动

    • 设置运行级别:
      • systemctl get-default:获取当前运行级别
      • systemctl set-default xxx.target:设置默认的运行级别为xxx
      • systemctl isolate xxx.target:在不重启的情况下,切换到xxx下
  • 开机的流程说明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3KPtoq07-1635080987621)(https://i.loli.net/2021/07/30/8fs6ZomOGvnhMUw.png)]

  • 通过systemctl命令设置开机自启动\不自启动

    • 查看是否开机启动:systemctl is-enable 服务名

    • 是否在启动状态:systemctl is-active sshd.service

    • 自启动:systemctl enable 服务名

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I5XRT5Y8-1635080987621)(https://i.loli.net/2021/07/30/xBHfXmoOwlPnEVU.png)]

    • 不自启动:systemctl disable 服务名

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j3p1xySk-1635080987622)(https://i.loli.net/2021/07/30/kapV9OBXChs4TFJ.png)]

7.9 动态监控进程

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

    操作说明
    P以CPU使用率接序,默认就是此项
    M以内存的使用率排序
    N以PID排序
    Q退出top
  • 应用实例:

    • 监控特定用户:top状态输入u

      image-20210730112025294

    • 终止指定进程

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDaqvhyJ-1635080987622)(https://i.loli.net/2021/07/30/MlUYbt2Ij9H7VXv.png)]

  • 查看系统网络情况

    • 基本语法:netstat【选项】

    • 选项功能
      -an按一定顺序排列输出
      -p显示哪个进程在调用

7.10 RPM和YUM

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

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

    rpm包centos8 在/run/media/root/CentOS (tab补全)/AppStream/Pacakges 中

  • 安装rpm包

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

      指令功能
      -i安装
      -v提示
      -h进度条
      -e卸载

      image-20210807160240883

      image-20210807161238505

  • rpm包的简单查询指令

    指令功能
    -qa查询已安装的rpm列表
    -qi 软件包名查询软件包信息
    -ql 软件包名查询软件包中的文件(查询rpm包的文件安装到哪里去了)
    -qf 软件全路径查询文件所属的软件包
  • 应用实例:查询是否安装火狐

    image-20210730114749081

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

  • 基本指令:

    • 指令功能
      yum list查看yum服务器的软件
      yum install package1 package2…安装(可以单个包也可以多个包)
      yum reinstall package重新安装(package为软件包名称)
      yum remove package卸载
      yum update package更新
      yum list installed查看已安装的软件包
      yum info 软件包名称查看软件包信息
      yum clean all删除全部缓存信息

    • image-20210730163030424

7.11 安装图形桌面

查看支持的模块 yum group info

yum groupinstall “Server with GUI” -y 安装图形桌面的软件包
systemctl set-default graphical 设置图形模式为默认模式启动
shutdown -r now 重启

第八章 JavaEE

8.1 JDK的安装配置

  • 步骤

    1. 先将软件通过 xftp5 上传到 /opt 下

    2. 解压缩到 /opt

    3. 配置环境变量的配置文件 vim /etc/profile

    4. JAVA_HOME=/opt/jdk1.7.0_79

      PATH=/opt/jdk1.7.0_79/bin:$PATH

      export JAVA_HOME PATH

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q9BZxr9C-1635080987624)(https://i.loli.net/2021/07/30/mY5CzHuMwPyBtJA.png)]

    5. 需要注销用户/重启,环境变量才能生效

      如果是在 3 运行级别, logout

8.2 tomcat

  • 步骤:

    1. 先将软件通过 xftp5 上传到 /opt 下

    2. 解压缩到/opt

    3. 先进入到 tomcat 的 bin 目录

      启动:./startup.sh

    4. 开放端口 8080 ,这样外网才能访问到tomcat,vim /etc/sysconfig/iptables

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fgDE3Cek-1635080987624)(https://i.loli.net/2021/07/30/1G49iWedlqTXLZF.png)]

    5. 重启防火墙

8.3 Eclipse安装

步骤:

  1. 先将软件通过 xftp5 上传到 /opt 下

  2. 解压缩到/opt

  3. 启动 eclipse,配置 jre 和 server

    启动方法 1: 创建一个快捷方式

    启动方式 2: 进入到eclipse 解压后的文件夹,然后执行 ./eclipse即可

  4. 编写 jsp 页面,并测试成功

8.4 mysql安装

m list installed | 查看已安装的软件包 |
| yum info 软件包名称 | 查看软件包信息 |
| yum clean all | 删除全部缓存信息 |

  • [外链图片转存中…(img-VPhWFkKW-1635080987624)]

7.11 安装图形桌面

查看支持的模块 yum group info

yum groupinstall “Server with GUI” -y 安装图形桌面的软件包
systemctl set-default graphical 设置图形模式为默认模式启动
shutdown -r now 重启

第八章 JavaEE

8.1 JDK的安装配置

  • 步骤

    1. 先将软件通过 xftp5 上传到 /opt 下

    2. 解压缩到 /opt

    3. 配置环境变量的配置文件 vim /etc/profile

    4. JAVA_HOME=/opt/jdk1.7.0_79

      PATH=/opt/jdk1.7.0_79/bin:$PATH

      export JAVA_HOME PATH

      [外链图片转存中…(img-q9BZxr9C-1635080987624)]

    5. 需要注销用户/重启,环境变量才能生效

      如果是在 3 运行级别, logout

8.2 tomcat

  • 步骤:

    1. 先将软件通过 xftp5 上传到 /opt 下

    2. 解压缩到/opt

    3. 先进入到 tomcat 的 bin 目录

      启动:./startup.sh

    4. 开放端口 8080 ,这样外网才能访问到tomcat,vim /etc/sysconfig/iptables

      [外链图片转存中…(img-fgDE3Cek-1635080987624)]

    5. 重启防火墙

8.3 Eclipse安装

步骤:

  1. 先将软件通过 xftp5 上传到 /opt 下

  2. 解压缩到/opt

  3. 启动 eclipse,配置 jre 和 server

    启动方法 1: 创建一个快捷方式

    启动方式 2: 进入到eclipse 解压后的文件夹,然后执行 ./eclipse即可

  4. 编写 jsp 页面,并测试成功

8.4 mysql安装

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值