• HCE OS------操作系统基础操作


    HCE-OS基础操作

    Shell概述

    Shell和Shell编程

    • Shell是用户和操作系统之间的一个接口。用户在命令提示符下输入每个命令都首先由shell程序进行解释,然后再传给Linux内核,此外shell也能被系统中的其他有效的Linux应用程序所调用
    • Shell还是一种解释型的程序设计语言:
      • shell程序设计语言支持绝大多数高级程序设计语言中常用的元素,比如函数、变量、数组和控制结构
      • shell编程简单易学,再任何命令提示符中能键入的命令都可以再shell程序中使用。而且一旦掌握,它将成为工作中的得力工具

    Linux中常见的shell

    • 与Windows不同,Linux提供了多种shell程序供用户选择使用,使用不同类型shell的原因是它们都有各自的特点。一般某个用户登录 系统时的shell都在/etc/passwd文件的最后一个字段中定义,用户可以通过修改该字段来替换其使用的shell
    • 在Linux中,用户可以选择多种不同类型的shell,最常用的几种shell:
      • Bourne shell(bsh)
      • C shell(csh)
      • Korn shell(ksh)
      • Bourne Again shell(bash),一般的Linux系统默认使用Bash shell

    Shell常用命令

    Shell常用命令之目录操作

    请添加图片描述

    Shell常用命令之文件操作

    请添加图片描述

    请添加图片描述

    Shell常用命令之压缩文件操作

    请添加图片描述

    Shell常用命令之查询操作

    查询操作:find

    • find命令用来在指定目录下查找文件
    • 可以指定一些匹配条件,如按文件名、文件类型、用户甚至时间戳查找文件
    • 常用语法: find [path…] [expression]
      • -name :按文件名查找文件按
      • -perm : 按照文件权限查找文件
      • -user :按照文件属主来查找文件
      • -mtime -n +n :按照文件的更改时间来查找文件

    请添加图片描述

    Vim编辑器

    Vim编辑器概述:

    • 所有的类Unix系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在
    • 目前我们使用比较多的是Vim编辑器
    • Vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计

    Vim工作模式

    请添加图片描述

    Vim命令:光标移动

    光标移动说明
    h或左箭头键光标向左移动一个字符
    j或向下箭头键光标向下移动一个字符
    k或向上箭头键光标向上移动一个字符
    l或向右箭头键光标向右移动一个字符
    ctrl + f屏幕向下移动一页
    ctrl + b屏幕向上移动一页
    +光标移动到非空格符的下一行
    -光标移动到非空格符的上一行
    0或Home移动到这一行的最前面字符处
    $或End移动到这一行的最后面字符处

    Vim命令:复制、粘贴、删除

    复制、粘贴、删除说明
    x,X在一行字当中,x为向后删除一个字符(相当于[del]按键),X为向前删除一个字符
    nxn为数字,连续向后删除n个字符
    dd剪切游标所在的那一整行
    nddn为数字,剪切光标所在的向下n行
    yy复制游标所在的那一行
    nyyn为数字,复制光标所在的向下n行
    p,Pp为将已复制的数据在光标下一行贴上;P则为贴在游标上一行
    u复原前一个动作
    Ctrl + r重做上一个动作

    Vim命令:搜索替换

    搜索与替换说明
    /word向光标之下寻找一个名称为word的字符串
    ?word向光标之上寻找一个名称为word的字符串
    n跳至下一处匹配
    N跳至上一处匹配

    Vim命令:文件存储与离开

    文件存储与离开说明
    :w将编辑的数据写入硬盘中
    :q离开Vim
    :q!若修改过文件,又不想存储,使用!为强制离开不存储
    :wq储存后离开,若为:wq!则为强制储存后离开
    ZZ修改过,保存当前文件,然后退出
    ZQ不保存,强制退出。效果等同于:q!

    Vim:环境变更

    • 在当前工作环境中使用,退出Vim将还原为默认设置:
      • : set nu :在每行前面加入行号
      • : set nonu :取消行号
      • : set mouse=a :开启鼠标控制
      • : set hls :设置搜索高亮
      • : set guifont=monaco\10 :设置字体
      • : set sursorline :标记当前所在行

    软件安装与管理

    RPM软件包概述

    Linux软件包管理概述

    • Linux软件包可以分为两类:源码包、二进制包,不同的软件包有不同的提供方式,常用的方式有rpm包和tgz包两种。为此常用应用软件的安装方式也有两种,一种为直接使用rpm工具安装,一种为编译安装
    • rpm作为标准的软件包管理工具,具有便捷的安装方式,是安装软件的首方式
    • openEuler、HCE-OS、SUSE、CentOS等不同的分发版本同样使用rpm来对软件包进行管理

    RPM软件包管理

    • RPM是一种用于互联网下载包的打包和自动安装工具,会生成具有.RPM扩展名的文件,可以用来管理应用程序的安装、卸载和维护
    • RPM软件包命名格式
    name-version-release.arch.rpm
    
    • 1

    name :软件名称

    version:版本号

    release:发行版号

    arch:处理器架构

    RPM软件包管理优缺点:

    • RPM软件包管理优点:
      • 简单便捷,兼容版本
      • 参数信息记录在数据库中,便于查询、升级或卸载软件时使用
    • RPM软件包管理缺点:
      • 安装环境需与打包环境一致
      • 具有很强的依赖关系,卸载软件时需要对依赖性软件优先处理,否则会导致其他软件无法正常使用

    RPM工具使用

    • 安装软件包
    rpm -ivh rpm包文件
    
    • 1
    • 升级软件包
    rpm -Uvh rpm包文件
    
    • 1
    • 卸载软件包
    rpm -e 包名
    
    • 1
    • 查询已安装软件包
    rpm -qa
    
    • 1
    参数说明
    i显示套件的相关信息
    v显示指令执行过程
    h显示安装进度
    e删除指定的套件
    q使用询问模式,遇到任何问题时,rpm指令会先询问用户
    a查询所有套件
    U升级指定的套件档

    YUM工具概述

    • YUM(Yellow dog Updater ,Modified)是一个Shell前端软件包管理器
    • YUM可以看作是CS架构的软件,yum的存在很好的解决了rpm的属性依赖问题
    • YUM工具的主要特点:
      • 可以同时配置多个资源库(Repository)
      • 简洁的配置文件(/etc/yum.conf)
      • 自动解决增加或删除rpm包时遇到的依赖性问题
      • 保持与RPM数据库的一致性

    配置YUM:YUM配置文件

    • YUM的主要配置文件是/etc/yum/yum.conf,该文件包含两个部分:
      • main部分保存着yum的全局设置
      • repository部分保持着软件源的设置,可以有一个或多个repository
      • 另外,在/etc/yum.repos.d目录中保存着一个或多个repo源相关的文件,它们也可以定义不同的repository
    • 软件源的配置一般有两种方式:一种是直接配置/etc/yum/yum.conf文件中的repository部分,另外一种是在/etc/yunm.repos.d目录下增加.repo文件

    配置YUM:显示当前配置

    • 显示当前的配置信息:
    yun config-manager --dump
    
    • 1
    • 要显示相应软件源的配置,首先查询repo id:
    yum repolist
    
    • 1
    • 然后执行如下命令,显示对应id的软件源配置,其中repository为查询得到的repo id:
    yum config-manager --dump repository
    
    • 1
    • 也可以使用一个全局正则表达式,来显示所有配置部分的配置:
    yum config-manager --dump golb_expression
    
    • 1

    配置YUM :创建本地软件源仓库

    • 安装createrepo软件包,在root权限下执行如下命令:
    yum install createrepo
    
    • 1
    • 将需要的软件包复制到一个目录下,如/mnt/local_repo/
    • 创建软件源,执行以下命令:
    createrepo /mnt/local_repo
    
    • 1

    配置YUM:添加、启用和禁用软件源

    • 添加软件源

    要定义一个新的软件源仓库,可以在/etc/yum/yum.conf文件中添加“repository”部分,或者在/etc/yum/yum.repo.d目录下添加.repo文件进行说明,其中repository_url为repo源地址:

    yum config-manager --add-repo repository_url
    
    • 1
    • 启动软件源

    要启用软件源,请在root权限先执行如下命令,其中repository为新增.repo文件中的repo.id(可以通过yum repolist查询):

    yum config-manager --dump repository
    
    • 1

    也可以使用一个全局正则表达式,来启用所有匹配的软件源。其中golb_expression为对应的正则表达式,用于同时匹配多个repo id:

    yum config-manager --set-enable glob_expression
    
    • 1
    • 禁用软件源

    要禁用软件源,请在root权限下执行如下命令:

    yum config_manager --set-disable repository
    
    • 1

    同样的,也可以使用一个全局正则表达式来禁用所有匹配的软件源:

    yun config-manager --set-disable glob_expression
    
    • 1

    管理软件包

    • 搜索软件包:

    使用yum能够方便进行查询、安装、删除软件包等操作

    可以使用软件包名称、缩写或者扫描搜索需要的包文件,使用命令如下:

    yum search 名称
    
    • 1
    • 列出软件包清单

    1.列出系统中所有已安装的以及可用的RPM包信息,使用命令如下

    yum list all
    
    • 1

    2.列出系统中特定的RPM包信息,使用命令如下:

    yum list glob_expression...
    
    • 1
    • 显示RPM包信息

    1.显示一个或多个RPM包信息,使用命令如下:

    yum info package_name...
    
    • 1
    • 安装RPM包

    1.要安装一个软件包及其所有未安装的依赖,在root权限下执行如下命令:

    yum install package_name
    
    • 1

    2.也可以通过添加软件包名字同时安装多个软件包。配置文件/etc/yum/yum.conf添加参数strict = False,运行yum命令参数添加–setopt=strict=0.在root权限下执行如下命令:

    yum install package_name package_name... --setopt=strict=0
    
    • 1
    • 下载软件包

    1.使用yum下载软件包,在root权限下使用如下命令:

    yum download package_name
    
    • 1

    2.如果需要同时下载未安装的依赖,则加上 --resolve:

    yum download --resolve package_name
    
    • 1
    • 删除软件包

    1.要卸载软件包以及相关的依赖软件包,请在root权限下执行如下命令:

    yum remove package_name
    
    • 1
    • 列出软件包组清单

    1.使用summary参数,可以列出系统中所有已安装软件包组,可用的组,可用的环境组的数量,命令如下:

    yum groups summary
    yum group list #可列出软件包组和对应组的ID
    
    • 1
    • 2

    软件包集合是服务于一个共同的目的一组软件包,例如系统工具集等。使用yum可以对软件包组进行安装/删除等操作,使相关操作更高效

    • 显示软件包组信息

    1.列出包含在一个软件组中必须安装的包和可选包,使用命令如下:

    yum group info glob_expression...
    
    • 1
    • 安装、删除软件包组

    1.每个软件包组都有自己的名称以及对应的ID(groupid),可以使用软件包组名称或它的ID进行安装:

    yum group install group_name
    yum group install groupid
    
    • 1
    • 2

    2.卸载软件包组,可以使用软件包组名称或它的id

    yum group remove group_name
    yum group remove groupid
    
    • 1
    • 2
    • 软件包检查、更新、升级

    yum可以检查系统中是否有软件包需要更新。可以通过yum列出需要更新的软件包,并可以选择一次性全部更新或者只对指定包进行更新

    1.显示当前系统可用的更新:

    yum check-update
    
    • 1

    2.升级单个软件包,在root权限下执行:

    yum update package_name
    
    • 1

    3.更新所有的包和它们的依赖:

    yum update
    
    • 1

    DNF 概述

    • DNF(Dandified YUM)作为Linux软件包管理工具,可以用来管理RPM软件包
    • DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,以及更新系统到最新可用版本
    • DNF于YUM完全兼容,提供了YUM兼容的命令行以及扩展和插件提供的API

    System unit概念

    • systemd服务的开启和监督系统是基于unit的概念,unit由一个与配置文件对应的名称和类型组成,unit通常有以下几种类型
      • Service unit :系统服务
      • Target unit :一组systemd units
      • Automount unit : 文件系统自动挂载点
      • Device unit : 内核识别的设备文件
      • Mount unit : 文件系统挂载点
      • Path unit : 在一个文件系统中的文件或目录
      • Scope unit : 外部创建的进程

    Systemd特性

    • systemd具备以下特性:
      • 更快的启动速度
      • 提供按需启动能力
      • 采用cgroup特性跟踪和管理进程的生命周期
      • 启动挂载点和自动挂载的管理
      • 实现事务性依赖关系管理
      • 与SysV初始化脚本兼容
      • 能够对系统进行快照和恢复

    管理系统服务

    • systemd可以通过systemctl命令来对系统服务进行运行、关闭、重启、显示、启用或禁用的操作。 systemctl命令与sysvinit命令的功能相似,但是建议使用systemctl来进行系统服务管理
    • systemctl和sysvinit的区别:
    systemd命令sysvinit命令备注
    systemctl start network.serviceservice network start用来启动一个服务(不会重启现有的)
    systemctl stop network.serviceservice network stop用来停止一个服务(不会重启现有的)
    systemctl reload network.serviceservice network reload当支持时,重新装载配置文件而不中断等待操作

    Systemctl:显示服务

    显示当前正在运行的服务,使用命令:

    systemctl list-units --type service
    # 显示所有的服务(包括未运行的服务)
    systemctl list-units --type service -all 
    
    • 1
    • 2
    • 3

    Systemctl:显示服务状态

    1.需要显示某个服务的状态,执行如下命令:

    systemctl status name.service
    
    • 1

    2.其中的命令参数说明如下:

    • Loaded : 说明服务是否被加载,同时显示对应的绝对路径是否启用
    • Active : 说明服务是否正在运行,并显示时间节点
    • Main PID : 相应系统服务PID值
    • CGroup : 相关控制组的其他信息

    Systemctl:相关操作

    systemctl命令可以对系统服务进行运行、关闭、重启、显示、启用或禁用等操作,命令如下:

    1.运行服务

    systemctl start name.service
    
    • 1

    2.关闭服务

    systemctl stop name.service
    
    • 1

    3.重启服务

    systemctl restart name.service
    
    • 1

    4.启用服务

    systemctl enable name.service
    
    • 1

    5.禁用服务

    systemctl disable name.service
    
    • 1

    Systemctl:其他操作

    systemd通过systemctl命令可以对系统进行关机、重启、休眠等一系列操作

    1.关闭系统

    systemctl poweroff #关闭系统并下电
    systemctl halt #关闭系统但不下电
    
    • 1
    • 2

    2.重启系统

    systemctl reboot
    
    • 1

    3.使系统待机

    systemctl suspend
    
    • 1

    4.使系统休眠

    systemctl hibernate
    
    • 1

    5.使系统待机并处于休眠状态

    systemctl stop name.service
    
    • 1

    Target和运行级别

    systemd用目标(target)替代了运行级别的概念,提供了更大的灵活性,如可以继承一个已有的目标,并添加其他服务,来创建自己的目标:

    1.查看系统启动目标:

    systemctl get-default #查看系统默认启动目标
    systemctl list-units --type=target #查看当前系统所有的启动目标 
    
    • 1
    • 2

    2.改变系统目标

    systemctl set-default name.target #改变系统默认目标
    systemctl isolate name.target #改变当前系统的目标
    
    • 1
    • 2
  • 相关阅读:
    springcloud和基础服务的搭建以及封装
    淘宝开店装修教程 (2023新版)
    API 设计/开发/测试工具:Apifox与怎么通过拦截器
    Redis面试题(一)
    指夹式脉搏血氧仪方案
    【计算机网络】HTTP/HTTPS协议基础知识汇总
    猿创征文 | 常见的五款BI报表介绍
    计算机毕设(附源码)JAVA-SSM基于框架的秧苗以及农产品交易网站
    windows PC virtualBox 配置
    sql语句-如何以一个表中的数据为条件据查询另一个表中的数据
  • 原文地址:https://blog.csdn.net/yaoshutong/article/details/126381908