操作系统是什么?
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是配置在计算机硬件上的第一层软件,任何其它软件都必须在操作系统的支持下才能运行。
操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的,操作系统内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用的接口(应用编程接口API,由操作系统实现提供的所有系统调用所构成的集合,是应用程序和系统之间的接口)呈现给用户。系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理的结果返回给应用程序。
操作系统内核的功能:
系统调用接口:程序员通过该接口与内核进行通信
程序管理:一部计算机可能同时间有很多的工作在等待CPU运算处理,内核这个时候必须要能够控制这些工作,让CPU的资源做有效的分配才行。另外,良好的CPU调度机制(就是CPU先运行哪个工作的排列顺序)将会有效加快整体系统性能。
内存管理:控制整个系统的内存管理,系统所有的程序代码与数据都必须要先存放在内核当中。通常内核会提供虚拟内存的功能,当内存不足时可以提供内存交换的功能。
文件系统管理 :例如数据的输入和输出等的工作,还有不同文件格式的支持等。
设备驱动:硬件的管理是内核的主要工作之一,设备的驱动程序就是内核管理着硬件的代码,设备的驱动程序可以使硬件准备好工作,时刻等待着程序的调用。好在目前都有所谓的“可加载模块”功能,可以将驱动程序编辑成模块,就不需要重新编译内核。
系统的启动过程:加电--BIOS自检--系统引导--启动系统--初始化系统
常用的操作系统:Linux,windows,MAC OS,安卓,IOS
[root@haha ~]#
root字段:表示当前登录的用户(是root用户)
切换用户:su - 用户名称
haha字段:表示当前主机名称(为haha)
修改主机名称:临时修改:hostname
永久修改:hostnamectl set-hostname
~字段:表示当前工作目录(~,表示家目录,或者叫主目录)(不同用户家目录不一样,是同名的目录文件)
查看当前工作目录:pwd
切换工作目录:cd 路径(绝对,相对路径)/特殊字符(..,~,.,-)
查看目录内容:ls 重要选项:-d,-l,-a,-h,-i....
#字段:表示当前用的shell,一般有两种,#(表示当前登录的是root管理员),$(表示当前用户为普通用户)
查看系统发行版本:
查看系统内核版本:
命令格式: 主命令 选项 参数(操作对象)
命令帮助:
命令 --help
help 命令
man手册 : man 命令,使用上下键或空格翻页,内容比较详细
区段1:用户指令,查看命令的帮助
区段2:系统调用,查看可被内核调用的函数的帮助
区段3:程序库调用,查看函数和函数库的帮助
区段4:设备,查看特殊文件的帮助(主要是/dev目录下的文件)
区段5:文件格式,查看配置文件的帮助
区段6:游戏,查看游戏的帮助
区段7:杂项,惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
区段8:系统指令,查看系统管理员可用的命令的帮助
区段9:内核内部指令,查看内核相关文件的帮助
修改密码:passwd ;echo 新密码 | passwd --stdin 用户名
注意:在普通用户下,修改密码的时候,密码为八个字符以上的复杂密码,并且需要输入旧密码
-d 删除密码
远程连接:
1、获取IP:dhclient ;nmcli c up ens160
2、查看IP:ip a ;ifconfig(Linux)
3、测试网络 ping命令
4、打开远程连接工具xshell
5、ssh服务,xshell输入命令:ssh 192.168.222.134;ssh root@192.168.222.134
文件管理
1、创建,删除 文件:
普通文件:touch 路径/文件名称
目录文件:mkdir 路径/文件名称 (注意:如果创建有父子层级的目录的话,可以加-p选项同时创
建) 注意:同一目录下,能不能创建同名文件?不可以
删除文件:rm 路径/文件名称
(-r 删除目录的;-f 不再让我们确认是否删除)
2、编辑内容:
echo 文件内容 > 路径/文件名 (覆盖)
echo 文件内容 >> 路径/文件名 (追加)
vi/vim编辑器:命令模式:(刚刚进入vi/vim编辑器时的模式)
gg 光标跳转到首行行首(1,1)
G 光标跳转到末行行首 (n,1)
^,b 光标跳转到所在行行首
$,e 光标跳转到所在行行尾
w 向后跳跃,包括单词首和单词尾
yy 复制光标所在行的内容
p 在光标所在行的下一行粘贴
P 在光标所在行的上一行粘贴
dd 删除光标所在行
u 撤销
编辑模式:(编辑内容)切换方法:aisoAISO
末行模式:(可以进行保存退出等操作) :或/ (保存退出:wq)
/字符串 查找对应内容(n跳转到下一个关键字,N跳转到上一个关键字)
:wq 保存退出(w 保存 q退出 强制!)
:s /old/new 替换光标所在行的内容(只替换第一个遇到的关键词) (若要替换该行所有的关键词,则结尾加上/g) (所有关键词全部替换,则在s前加%,切最后结尾加/g)
:set nu(nonu) 设置行号
:r 路径/文件 读取对应的文件
3、查看普通文件内容:
cat,tac, head,tail (-f),more ,less
more:最低下一行显示的是more,翻到最后一页的时候,自动退出,退出后,输出文档内容在屏幕上less:最低下一行显示的是文件名,翻到最后一页的时候,显示end,q,退出后,直接返回命令提示符
查看目录文件内容:ls(-l可查看目录内文件详细信息),tree(层级关系)
4、查找
文本内容过滤:grep
grep 字符串 路径/文件名
grep ^(字符串)$ 路径/文件名
^$ (空行) -v选项 表示反选
[0-9] (含数字的行被显示到屏幕上)
[ ^1] 非1的内容被输出
文件查找:find (根据不同的条件进行查找,),which(查找命令的二进制执行文件,同时如果命
令有别名,会显示)
5、复制,移动文件
复制文件:cp
移动文件:mv(还可以重命名文件)
6、打包压缩
tar 选项 包名 放入的文件
查看 -tf
创建 -c(v)f
解压 -x(v)f
7、上传下载
xftp
8、网络配置
networmanager
网络模式:仅主机模式(不能访问百度),nat模式,桥接模式,不连网
ip命令,ip addr
修改配置文件(不推荐)
*nmcli 命令 nmcli device (show) nmcli connection (show)
modify(修改)
add(添加)
nmtui
cokpit
测试网络:
ping -c
tracpath
tracroute
url: 协议://域名:端口号/路径
dns域名解析服务器 /etc/resolve.conf;/etc/hosts
下载文件
wget:下载了文件 -P
curl:直接预览内容 -o
软件安装
软件包的后缀名.rpm
用rpm工具装包的步骤:
1、找安装包(使用mount /dev/sr0 /mnt或者/meida ,挂载完成之后在APPSTREAM或者BASEOS内的Package里找)
2、安装(rpm -ivh 路径/包名)
rpm的-q的用法
rpm -qa | grep 查询已经装好的软件
rpm -ql zstd 查询该软件安装好后,产生了哪些文件
rpm -qf /usr/bin/zstd 查询该命令由哪个包提供
yum/dnf工具
1、配yum仓库
2、安装
[root@haha ~]# yum install httpd -y