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

name :软件名称

version:版本号

release:发行版号

arch:处理器架构

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

RPM工具使用
  • 安装软件包
rpm -ivh rpm包文件
  • 升级软件包
rpm -Uvh rpm包文件
  • 卸载软件包
rpm -e 包名
  • 查询已安装软件包
rpm -qa
参数说明
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
  • 要显示相应软件源的配置,首先查询repo id:
yum repolist
  • 然后执行如下命令,显示对应id的软件源配置,其中repository为查询得到的repo id:
yum config-manager --dump repository
  • 也可以使用一个全局正则表达式,来显示所有配置部分的配置:
yum config-manager --dump golb_expression
配置YUM :创建本地软件源仓库
  • 安装createrepo软件包,在root权限下执行如下命令:
yum install createrepo
  • 将需要的软件包复制到一个目录下,如/mnt/local_repo/
  • 创建软件源,执行以下命令:
createrepo /mnt/local_repo
配置YUM:添加、启用和禁用软件源
  • 添加软件源

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

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

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

yum config-manager --dump repository

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

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

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

yum config_manager --set-disable repository

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

yun config-manager --set-disable glob_expression

管理软件包

  • 搜索软件包:

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

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

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

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

yum list all

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

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

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

yum info package_name...
  • 安装RPM包

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

yum install package_name

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

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

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

yum download package_name

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

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

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

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

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

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

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

  • 显示软件包组信息

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

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

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

yum group install group_name
yum group install groupid

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

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

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

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

yum check-update

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

yum update package_name

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

yum update

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 

Systemctl:显示服务状态

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

systemctl status name.service

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

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

Systemctl:相关操作

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

1.运行服务

systemctl start name.service

2.关闭服务

systemctl stop name.service

3.重启服务

systemctl restart name.service

4.启用服务

systemctl enable name.service

5.禁用服务

systemctl disable name.service

Systemctl:其他操作

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

1.关闭系统

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

2.重启系统

systemctl reboot

3.使系统待机

systemctl suspend

4.使系统休眠

systemctl hibernate

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

systemctl stop name.service

Target和运行级别

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

1.查看系统启动目标:

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

2.改变系统目标

systemctl set-default name.target #改变系统默认目标
systemctl isolate name.target #改变当前系统的目标
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值