Linux 期末复习

news2024/10/7 12:23:07

Linux 期末复习

计算机历史

image-20240107181201922

硬件基础

1,计算机硬件的五大部件:控制器、运算器、存储器、输入输出设备

2,cpu分为精简指令集(RISC)和复杂指令集(CISC)

3,硬件只认识0和1,最小单位是bit最小存储单位是字节(Byte);扇区是传统磁盘存储的最小单位;

4,频率是cpu每秒钟可以进行的工作次数

5,(DRAM)动态随机访问个人计算机访问内存的方式,SRAM可做cache;

6,BIOS(Basic Input Output System)放在只读存储器(ROM)中,BIOS用于读取和更新CMOS芯片中的数据,常用来设置磁盘启动顺序,硬件功能开启(如虚拟技术)等。

7,显卡主要用于图像显示,显卡的内存回影响屏幕显示分辨率与色彩深度。

操作系统历史

1,软件可分为操作系统和应用程序,操作系统是管理计算机软硬件资源的计算机程序。

2,操作系统有系统调用、进程管理、内存管理、文件系统管理、设备驱动等功能。

3,所有的程序和系统装置都是文件。

**4,GNU是一个自由软件操作系统,主流版本使用Linux作为内核。**包括GNU软件包和由第三方发布的软件,自由软件是指使用者有运行、复制、发布、研究、修改和改进该软件的自由。

5,image-20240108095824671

安装操作系统

1,CentOS 企业级Linux发行版,稳定,最流行的服务器版本之一。

2,开机流程:BIOS => MBR(第一个扇区主引导分区,内含引导加载程序Boot loader) => 引导加载程序 =>内核文件

3,制作安装U盘 (Ventoy

4,安装系统流程:制作启动盘->进入BIOS->将U盘设置为优先启动->保存重启

5,Linux根目录(Root Directory)用 “/” 表示,最上层的目录

“/home/” 用户列表目录;“/root/“超级用户的列表目录;“/var/”动态数据保存位置;

“/bin/” 存放系统命令的目录;“/dev/” 设备文件保存位置;“/etc/”配置文件保存位置;

6,==swap(内存交换空间)==内存中不常被 CPU 调用的数据会放在硬盘的交换空间中,建议分配内存大小的2倍

Linux系统设置

sudo  apt     #sudo 以管理员身份运行;apt 负责安装程序的程序    

2,CLI (Command Line interface),终端命令行模式

GUI(Graphic User Interface),图形界面的文件管理器

pwd     #(print working directory)-显示当前工作的文件夹
ls      #列出当前目录下的文件和文件夹,蓝色文件夹,白色代表文件(不包含隐藏文件)
ls -a   #列出所有文件,包括隐藏文件,隐藏文件的文件名前会有“.”
ls -al  #列出文件的详细信息
mkdir    #(make directory)创建文件夹
cd       #(changeing directories)切换文件夹
单纯的 cdcd ~ ,切换回当前用户的主文件夹
'.'     #代表目录本身          '..'  #代表该目录的父目录
cat  <文件名>     #创建和查看文件

文件权限设置

image-20240108143327810

注意:删除已存在的文件或目录不在文件权限之中。

chown    #(change owner) 改变文件所有者      要改变的用户必须在系统中(/etc/passwd)
sudo adduser/userdel     #添加删除用户
chown user:group 文件名或目录名   # 同时改变用户和用户组
chgrp    #(change group) 改变所属用户组      sudo chgrp root tmp
cp test1 test2   #复制文件后可以使用cp命令去复制执行者的属性和权限 
cp -a 原文件名 目标文件名    #可以保留原文件的文件属性

1,数字类型改变权限 r:4 w:2 x:1,例如:

chmod 770 tmp

2,符号类型改变权限

image-20240108150640878

非对称加密技术与哈希函数

**1,对称密钥加密系统:加密和解密采用相同的密钥。**常见的对称加密算法,DES算法和Triple DES(三重DES)

DES加密算法:类似于洗牌,明文数据进行分块,每块64bit,用密钥进行替换和移位,一个操作为一个循环,完成16次循环完成加密。

对称加密系统的优点:计算量小,加密速度快,加密效率高;缺点:密钥总数量大,管理复杂。

**2,非对称密码加密系统:一个密钥加密,另一个密钥解密。**RSA算法,属于陷门单向函数,其安全性源自大整数“质因数分解”的困难性。

非对称加密的优点:不需要进行密钥交换,秘钥越长越安全;缺点:加密耗时长,速度慢,只适合对少量数据进行加密。

3,组合加密系统:非对称加密系统对AES会话密钥进行加密得到会话秘钥后采用对称加密方式。

**4,哈希值是指把任意长度的输入值通过哈希函数,变成的固定长度输出值。**哈希函数用途,完整性校验,数字签名,保存密码数据。

如何破解哈希加密:字典攻击暴力攻击;查表法;反向查表法。

5,加盐哈希原理:加入盐值(随机数)使相同密码的哈希值不同;加盐哈希会使破解任意一个密码的平均用时相等,根本目的是增加破解时间(破解成本)。

存储密码步骤:哈希生盐值 --> 合并盐值和密码,再用哈希加密 --> 加盐哈希值与对应用户名一起存。

校验密码步骤:取哈希值与用户名 -->使用同样的加盐哈希处理 --> 比较结果与取出的一致与否。

管道命令与vim编辑器

1,重定向可以在执行一条命令时改变标准的输入输出设备。

​ 输出重定向: “ > ” 直接覆盖; **“>>”**文件不会被覆盖而是追加内容。

​ 输入重定向:“<” eg. mail –s “主题” chris@gmail.com < 附件名,在终端中发送带附件的邮件(需安装相应邮件程序)

**2,管道(Pipe)同时使用多个命令时将前一个命令的输出作为后面命令的输入。==”|“==用于搭建管道,连接前后两个命令。**使用管道命令 ls -al /etc | less 可以解决查看多行列表时会自动跳到最后一页的问题。

正则表达式

正则表达式是处理字符串的方法。

grep (global search regular expression(RE) and print out the line) - 全面搜索正则表达式并把行打印出来

grep 要搜索的字符串 文件名 
grep at file*  #列出所以包含at字母的以file开头的文件
grep –w 搜索字符串 文件名    #搜索完全匹配的字符串
grep -nw 搜索字符串 文件名   #搜索完全匹配的字符串,并输出行号
grep –nwc 搜索字符串 文件名  #显示搜索到的完全匹配的字符串的数量,并输出行号
 grep -i  忽略大小写, -v 反向选择
 #利用中括号 [ ] 查找集合字符
 #行首与行尾字符 ^$
 #任意一个字符‘.’与重复字符‘*’

sort 将文件内容按首字母排序 -o按Ascll正排序 -r 反向排序 -u排序并去除重复字段

grep –nw ‘with’ sample | sort #在文件“sample”中查找字符串“with”,将所在行按首列ASCII 码的次序排序并显示行号

查找包含“the”的所有行,并显示行号 :

grep -n “the” file.txt

查找包含“the”的所有行,不论大小写 :

grep -in “the” file.txt

查找包含“test”或“taste”的所有行:

grep -n “t[ae]st” file.txt

查找包含“oo” 的所有行:

grep -n “oo”  file.txt

查找包含“oo” 但前面不含“g”的所有行:

grep -n[^g]oo” file.txt

查找包含“oo” 但前面不含小写字母的所有行:

grep -n[^a-z]oo” file.txt

查找包含数字的所有行:

grep -n[0-9]” file.txt

查找在行首包含“the”的所有行:

grep -n “^the” file.txt

查找行首为小写字母的所有行:

grep -n “^[a-z]” file.txt

查找行首不为字母的所有行: (注意^在 [ ] 内外的不同。在内代表反向选择,在外表示在行首)

grep -n “^[^a-zA-Z]” file.txt

查找行尾结束为‘.’的所有行:

grep -n\.$” file.txt

查找包含‘.’的所有行:

grep -n “\.” file.txt

查找空白行:

grep -n “^$” file.txt

查找包含 g??d 字符串的所有行:

grep -n “g..d” file.txt

查找至少包含两个‘o’以上字符串的所有行:

grep -n “ooo*” file.txt          #"*" 表示0或多个

Vim

nano和vi都属于文本模式的文本编辑器。

vim 文件名   #“i”进入编辑模式  “Esc” 返回命令行模式
:wq         #保存并退出
:w          #保存
:q          #关闭退出(不保存)
:q!        #强制退出当前文件 
/字符     #向下查找名为“字符”的字符串     
?字符    #向下查找名为“字符”的字符串
yy 命令用于复制光标所在的那一行 
p(小写)  命令将已复制的数据在光标下一行粘贴
P(大写)  命令将已复制的数据在光标上一行粘贴
dd 删除光标所在的那一整行 
u 撤销前一个操作。’.’ 重复前一个操作
:set nu   命令用于显示行号
:set nonu 命令用于取消行号 
可以选择“R”恢复缓存文件,操作完后正常保存
如果确定缓存文件无用,可使用“D”直接将其删除
 \字符    #向上查找名为“字符”的字符串
?字符    #向下查找名为“字符”的字符串
yy 命令用于复制光标所在的那一行 
p(小写)  命令将已复制的数据在光标下一行粘贴
P(大写)  命令将已复制的数据在光标上一行粘贴
dd 删除光标所在的那一整行 
u 撤销前一个操作。’.’ 重复前一个操作
:set nu   命令用于显示行号
:set nonu 命令用于取消行号 
可以选择“R”恢复缓存文件,操作完后正常保存
如果确定缓存文件无用,可使用“D”直接将其删除

Vim的块选择功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1368332.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应用统计学期末复习简答题

应用统计学期末复习简答题 1&#xff0e;解释众数、中位数和调和平均数。2、什么是普查&#xff1f;其有何特点和作用&#xff1f;3、什么是抽样调查&#xff1f;其有何特点和作用&#xff1f;4、什么是偏度系数&#xff0c;并解释左偏分布、对称分布和右偏分布。5、解释置信区…

竞赛保研 基于深度学习的人脸表情识别

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的人脸表情识别 该项目较…

结构型设计模式——适配器模式

适配器模式 这个更加好理解&#xff0c;就是做适配功能的类&#xff0c;例如&#xff0c;现在手机没有了圆形耳机接口&#xff0c;只有Type-C接口&#xff0c;因此你如果还想要使用圆形耳机的话需要买个圆形接口转Type-C的转换器&#xff08;适配器&#xff09;&#xff0c;这…

一分钟带你了解深度学习算法

深度学习是一种受到生物学启发的机器学习方法&#xff0c;其目标是通过构建多层神经网络来模拟人脑的工作原理。它在过去几十年来取得了巨大的进展&#xff0c;并在图像识别、语音识别、自然语言处理等领域取得了突破性的成果。 深度学习的核心思想是模仿人脑的神经网络。人脑中…

HarmonyOS应用开发学习笔记 Want概述Ability跳转

一、Want的定义与用途 Want是对象间信息传递的载体&#xff0c;可以用于应用组件间的信息传递。其使用场景之一是作为startAbility()的参数&#xff0c;包含了指定的启动目标以及启动时需携带的相关数据&#xff0c;如bundleName和abilityName字段分别指明目标Ability所在应用…

vue element ui table表格--实现列的显示与隐藏

前言 实现效果 提示&#xff1a;代码段太简单就不解释了&#xff0c;自己看代码自己更改&#xff0c;下面代码直接无脑复制更改就行 一、实现代码&#xff1f; <template><div id"app"><el-table :data"tableData" border style"w…

Spring 见解 7 基于注解的AOP控制事务

8.基于注解的AOP控制事务 8.1.拷贝上一章代码 8.2.applicationContext.xml <!-- 开启spring对注解事务的支持 --> <tx:annotation-driven transaction-manager"transactionManager"/> 8.3.service Service Transactional(readOnlytrue,propagation Pr…

学生用台灯对眼睛好吗?五款考研党台灯推荐

对于一名深耕家电多年的测评师&#xff0c;对于各品牌的台灯产品测评做了不少&#xff0c;本期我将给大家带来一期超全的热门护眼台灯深度测评。 据世界卫生组织最新研究报告称&#xff0c;我国近视患者人数多达6亿左右&#xff0c;几乎占据了中国总人口数量的一半&#xff0c;…

进程管理及计划任务

一、定义 程序&#xff1a;硬盘上躺着。执行特定任务的一串代码 进程&#xff1a;加载到内存中运行。进程是程序的副本&#xff0c;进程是有生命周期 进程的控制&#xff1a;每开启一个进程会消耗相应的硬件资源&#xff0c;内存&#xff0c;CPU&#xff0c;磁盘io 内存不足&am…

MongoDB高级集群架构设计

两地三中心集群架构设计 容灾级别 RPO & RTO RPO&#xff08;Recovery Point Objective&#xff09;&#xff1a;即数据恢复点目标&#xff0c;主要指的是业务系统所能容忍的数据丢失量。RTO&#xff08;Recovery Time Objective&#xff09;&#xff1a;即恢复时间目标&…

余震强度预测能力升级,Nature 刊文认证基于神经网络的模型性能优于传统模型

作者&#xff1a;李宝珠 编辑&#xff1a;李玮栋、xixi&#xff0c;三羊 地震的发生涉及诸多变量&#xff0c;「预测」存在挑战&#xff0c;但余震发生次数及强度的预测已取得重大进展。 2023 年 12 月 18 日 23 时 59 分&#xff0c;甘肃省临夏州积石山县发生 6.2 级地震&…

DQL-条件查询

1.语法 SELECT 字段列表 FROM 表名 WHERE 条件列表; 2.条件

RDD算子——Action 操作

reduce reduce 和 reduceByKey 有什么区别&#xff1a; reduce 是一个 Action 算子&#xff0c;reduceByKey 是一个转换算子 假设一个 RDD 里面有一万条数据&#xff0c;大部分 Key 是相同的&#xff0c;有十个不同的 Key。 rdd.reduceByKey 生成 10 条数据 而rdd.reduce 生成…

VScode/Xshell连接学校服务器

vscode连学校服务器 1.连接atrust VPN2.Xshell连接服务器2.1创建一个自己的用户 3.xftp传文件4.vscode连接服务器4.1下载remote-ssh4.2连接服务器4.3激活conda环境4.4运行代码 5. pytorch版本不兼容解决方案 1.连接atrust VPN 如果是使用的是校园网&#xff0c;可以不连接 2…

已删除数据恢复,4个简单有效方法分享!

“我前段时间不小心将电脑里重要的几个文件删除了&#xff0c;今天查找这些文件时才发现我的数据都没有了&#xff0c;这可怎么办呢&#xff1f;还有恢复的机会吗&#xff1f;” 很多用户在使用电脑时&#xff0c;会选择直接将重要的文件保存在电脑上&#xff0c;这就不可避免在…

Android 架构 - 模块化

参考文章 谷歌官方指南 一、概念 将大型、复杂问题拆解成一个个小的、简单问题&#xff0c;从而可以做到各个击破。模块化简单讲就是把多功能高耦合的代码逻辑拆散成多个功能单一职责明确的模块。模块指 Android 项目中的 module&#xff0c;通常会包含 Gradle 构建脚本、源代…

TS 36.213 V12.0.0-PDSCH相关过程(1)-收到PDSCH的UE过程

本文的内容主要涉及TS 36.213&#xff0c;版本是C00&#xff0c;也就是V12.0.0。

基础数据结构第九期 堆(数组+STL)

前言 堆是一种重要的数据结构&#xff0c;因此应该熟练掌握。 一、堆的基本概念 堆的基本&#xff1a; 堆的结构实际上是一棵完全二叉树&#xff0c;堆可以分为大根堆和小根堆 大根堆&#xff1a; 小根堆&#xff1a; 堆的储存&#xff1a; 若节点小标为i&#xff0c;则左子…

虚拟机VMware安装Linux

关于安装&#xff0c;安装版本是CentOS 7&#xff0c;选择最小安装即可 第一步&#xff1a;选择创建新的虚拟机 第二步&#xff1a;默认典型&#xff0c;点击下一步 第三步&#xff1a;选择稍后安装操作系统 第四步&#xff1a;选择Linux和版本 第五步&#xff1a;输入虚拟机名…

鸿蒙Ability开发-Stage模型下Ability的创建和使用

创建Ability和Page页面 创建两个Ability&#xff1a;EntryAbility&#xff0c;DetailsAbility&#xff0c;其中EntryAbility是由工程默认创建的&#xff0c;这里我们只讲如何创建DetailsAbility。 使用DevEco Studio&#xff0c;选中对应的模块&#xff0c;单击鼠标右键&…