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为向前删除一个字符
nx n为数字,连续向后删除n个字符
dd 剪切游标所在的那一整行
ndd n为数字,剪切光标所在的向下n行
yy 复制游标所在的那一行
nyy n为数字,复制光标所在的向下n行
p,P p为将已复制的数据在光标下一行贴上;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.service service network start 用来启动一个服务(不会重启现有的)
systemctl stop network.service service network stop 用来停止一个服务(不会重启现有的)
systemctl reload network.service service 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 #改变当前系统的目标

HCE OS------操作系统基础操作相关推荐

  1. Linux_操作系统-基础操作-教学

    Linux操作系统基础教程 前言.................................................................................... ...

  2. 计算机与操作系统基础-操作系统介绍 网络基础

    操作系统介绍 操作系统介绍 一为什么要有操作系统 二什么是操作系统 操作系统的位置 三操作系统与普通软件的区别 四操作系统发展史 第一代计算机19401955真空管和穿孔卡片 第二代计算机195519 ...

  3. 2021最新HarmonyOS鸿蒙系统应用开发之基础入门教程到实战—持续更新(第二节:鸿蒙OS系统分布式操作)

    老罗带你了解鸿蒙,专注于移动端领域技术的研发和推广,助力鸿蒙在国内技术推广和普及. 每篇内容都有视频讲解,可直接点击观看+关注,持续更新中 2021最新HarmonyOS鸿蒙系统应用开发之基础入门教程 ...

  4. linux基础操作与实践,Linux操作系统基础与实践

    <21世纪高等院校计算机网络工程专业规划教材:Linux操作系统基础与实践>由清华大学出版社出版. ¥19.18定价:¥29.50(6.51折) /2014-06-01 <Linux ...

  5. 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21056029 . 1. Linux运行等级介绍 Lin ...

  6. 计算机的基础操作知识试题,[计算机基本操作知识]计算机操作系统基础知识试题...

    计算机操作系统是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,那么你对计算机操作系统了解多少呢?以下是由答 案 网 ZqNF.Com小编整理关于计算机操作系统基础知识试题的内容, ...

  7. 想知道自己的某个内存的小视频总时长?那这篇CSDN很适合你,快来看看Python如何实现求MP4时长吧(包含os模块和moviepy模块的全套基础操作)

    今天我们就来看看哪个老司机的视频时长最长,嘿嘿嘿,废话不多说,任何内容都瞒不住咱的程序,包含os模块和moviepy模块的全套基础操作哦!我们直接开始! 老司机求视频时长 一.我们需要的模块与包的使用 ...

  8. Python OS 操作系统操作模块

    一.o s模块的使用 # os模块# os模块就是对操作系统进行操作,使用该模块必须先导入模块: import os#getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) r ...

  9. 计算机基础- -操作系统环境

    计算机基础- -操作系统环境 文章目录 计算机基础- -操作系统环境 一.操作系统环境 二.Windows操作系统克服了CPU以外的硬件差异 三.不同操作系统的API差异性 四.FreeBSD Por ...

最新文章

  1. Git中.gitignore忽略文件(maven项目)
  2. 用python实现语音的传输功能_用Python打造一款智能语音聊天小软件!
  3. 炫“库”行动-人大金仓征文大赛—数据领域“新·独角兽”
  4. 在O(1)的时间内计算n个整数落在区间[a,b]的个数(预处理时间为O(n+k))
  5. 【渝粤题库】陕西师范大学163201 旅游科学引论作业(专升本)
  6. 调试js 试用火狐的firebug
  7. Spark MLlib(一)正则化特征
  8. Linux shell统计文件数脚本,使用shell脚本巧妙统计文件
  9. 百度网盘获取下载链接
  10. EXCEL 2016 冻结窗口(首行首列,多行多列)
  11. Pyscript,使用Python编写前端脚本
  12. 产业分析:2022南京市产业全景
  13. 从接口、抽象类到工厂模式再到JVM来总结一些问题
  14. ACL2022 PAIE: Prompting Argument Interaction for Event Argument Extraction
  15. 实体类字段定义错误:java.sql.SQLSyntaxErrorException: Column ‘xxx‘ specified twice
  16. 密探独家 | 访谈李开复:这三个行业会最先被 AI 颠覆
  17. 运行时数据区-堆(Heap)
  18. Linux下如何查看一个文件是否拥有软链接或硬链接文件?
  19. 拯救阿波罗14号!那些伟大太空计划背后的计算机工程师们
  20. 鲁大师linux系统打印机驱动怎么安装,鲁大师怎么安装打印机驱动?鲁大师安装打印机驱动教程...

热门文章

  1. ucos ii堆栈大小检测
  2. 亲戚称谓计算机在线,过节神器 | 亲戚称谓计算器,帮你捋顺亲戚关系!
  3. 刘一男四六级词汇来源讲解
  4. 终端服务(Terminal Services)简介
  5. mhdd中文说明完整版
  6. 新玺配资:白酒醉了心 煤炭上了头
  7. 自制能升级的瑞星杀毒U盘
  8. linux curses,Linux下利用curses库实现弹球游戏
  9. 每调用一次函数就增加1
  10. 嵌入式linux rtsp移植,嵌入式网络收音机的ARM实现 - ARM - 电子发烧友网