Linux 期末复习
计算机历史
硬件基础
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,
安装操作系统
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)切换文件夹
单纯的 cd 或 cd ~ ,切换回当前用户的主文件夹
'.' #代表目录本身 '..' #代表该目录的父目录
cat <文件名> #创建和查看文件
文件权限设置
注意:删除已存在的文件或目录不在文件权限之中。
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,符号类型改变权限
非对称加密技术与哈希函数
**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的块选择功能