目录
1.指令 vs 界面//选读
指令,可能有的小伙伴是第一次听,但是它确实历史悠久,而且先于界面
1.1交互的需求
满足需求的第一阶段-指令
打字机的产生是在19-20世纪,反正是远远早于计算机发明的。所以我们要和新发明的计算机进行交互,人们先想到 的是借鉴一下打字机的输入方式,来进行常规交互,慢慢演化下,就有了现在的键盘。既然早期交互硬件只有键盘, 那么初期的交互方式,也变很顺理成章的是指令方式喽(又没有鼠标可以点)。
- 思考一下,为什么键盘现在的按键布局,是现在这个样子的呢?
1946年2月14,世界第一台计算机eniac问世,后因交互的需求,借鉴了打字机键盘,就有了初期的指令交互方式
满足需求的第二阶段-界面
虽然我们还没有正式操作过,但是直觉告诉我们,指令这种方式,可能不太方便。
一个问题想问问大家,pc时代,要点击界面,需要有鼠标点击,那么, 是先有鼠标,还是先有真正意义上的图形化界面呢?答案是,先有鼠标,先看看世界上第一个鼠标的样子吧。
美国人道格拉斯·恩格尔巴特发明。这个样子的鼠标在1968年面世。
可是,走向世界的是苹果,覆盖世界的却是微软。 比尔盖茨看到这样的苹果公司,走的早,产品还好。如何赢?差异化。
比尔盖茨对微软的定义是一家软件公司,也就是只负责软件,可是计算机毕竟是一个软硬件结合的产物,于是微软便 找了自己的硬件合作方intel(开始是ibm,大家理念有差异,散了)开始搞事。合作的最大好处是成本好控制,生产效 率高,毕竟是产业分工的产物,慢慢的windows便席卷全球,就有了摆在我们面前的windows操作系统~
- 苹果的操作系统,一般都在苹果的计算机上跑 微
- 软的windows操作系统,什么品牌的电脑都能跑,像联想,dell,华为,鸿基,东芝等。细心的同学应 该能发现,所有的这些品牌的计算机上面搭载的cpu都是intel的x86...
我们把时间先罗列一下
最后,有一个问题,就是为什么电子计算机,操作系统,各种电子设备会在1950~2000年这50年大量爆发。
这个问题有点远,有兴趣的老铁,可以在了解一下,当时的时代背景,你可能会有不一样的收获
1.2 指令 和 界面交互
了解过历史之后,我们能理解,为何会有指令交互和界面交互这样的现象,但是还有两个问题的在讨论一下
区别
区别这个问题,比较难理解,目前也不打算谈。但是在功能定位上,是一样的,都是让用户进行和系统进 行交互。也就是说,界面的点击操作,一般也有对应的命令与之对应? 是的
为什么要学命令行
严格意义上讲,光光学习linux操作是远远不够的。
后续先把平台熟悉起来,后面还有系统,网络,这个后面有机会再说
2.操作系统介绍
软件实际上是可以操作硬件的,那这个操作具体是怎么完成的呢?
2.1 举例说明
在 windows 中使用鼠标时,如果鼠标未插入计算机,滚动鼠标没有反应。但当鼠标插入 usb 接口的一瞬间,可能还是没有反应,过了几秒后,电脑发出驱动提示音,此时鼠标便和电脑相连接了。
当我们新增一个设备时,插入的短暂期间是没有反应的,过了一会儿才有反应。这个过程中,操作系统在根据硬件选择对应的驱动程序。操作系统的核心工作是提供访问硬件的接口。
一般而言,硬件的驱动程序由操作系统获取与安装,对用户是透明的。
驱动软件层
驱动软件层帮助上层实现对硬件的基本访问。再往上,还有一层软件层,我们称之为操作系统内核。狭义上讲,这就是我们的操作系统。操作系统内部一般由以下四大构成:
操作系统的核心工作是帮助我们进行上述内容的管理工作。再往上就是用户层,比如图形化界面、各种库以及用户的一些应用程序等。
2.2 为什么要有操作系统?
举例
比如在玩《csgo》时,如果电脑频繁卡死重启,或者动不动蓝屏,这样的游戏体验将非常差。操作系统的管理功能确保我们有一个良好的使用体验。
管理的目的
从而整体达到提高操作效率的目的,这就是操作系统。
总结:操作系统(os)是一款用于管理软硬件资源的软件。
不同种类的操作系统
就像现实中有不同的银行(中国银行、中国建设银行、中国农业银行),我们的操作系统也有不同的种类。尽管它们各自有独特之处,但最终都是围绕“对上和对下”展开的。
0x03 为什么要进行指令操作?
对于非专业人员,指令操作并不必要。对于专业人员,可以必要,也可以不必要。然而,对于我们学习操作系统原理、编程和指令操作,掌握这些是必须的。
sum:
了解之后让我们来揭开linux的神秘面纱吧
3.linux基本指令
下面让我们来学习一些基本的指令吧
ls
指令
选项 | 说明 |
---|---|
-a | 列出所有文件,包括以 . 开头的隐含文件。 |
-d | 将目录像文件一样显示,而不是显示其下的文件。 |
-i | 输出文件的 i 节点的索引信息。 |
-k | 以 k 字节的形式表示文件的大小。 |
-l | 列出文件的详细信息。 |
-t | 以时间排序。 |
-r | 递归列出所有子目录下的文件。 |
举例:
ls -l
:列出文件的详细信息。ls -a
:列出所有文件,包括隐藏文件。
为什么都没有呢,因为我们要先建立一个文件~
touch建立一个文件就可以显示啦,我们现在还没有目录,可以先用 mkdir 创建出一个目录出来
!输入指令,一定要记得带上空格
d1就是一个我们创建出来的目录啦,讲一个 ls 补充了这么多指令,就是为了做一个 ls 的演示,相当于是一个 "起手式" 。只是为了能快速操作起来,我们下面还要对我们刚才提前用到的指令详细介绍一下~
ls -l
ls -a
复合使用
当前路径与上级路径( . 和 .. )
其实,任意目录下都会存在两个隐藏文件:
它们都是以 . 开头的。如果我们想回到上级路径,该如何操作?
cd .. :回到上级路径
`/home/lvy1007` 是一个具体的文件路径,类似于windows中的路径
c:\users\xumen\desktop\map
`/` 是linux系统中的根目录,相当于windows下的”c:\“。
要返回到 `/home/lvy ` 目录,可以使用 `cd /home/lvy` 命令。
`.` 是当前路径的表示,比如 `./a.out` 表示当前目录中的 `a.out` 文件。
`ls` 命令有很多选项,其中最常用的是 `-a` 和 `-l`。
路径定位,唯一性的原因,绝对路径
每个儿子都只有一个爸爸,从根目录开始是绝对路径
pwd
指令
语法:pwd
功能:显示用户当前所在的目录。
cd
指令
语法:cd 目录名
功能:改变工作目录。
举例:
cd ..
:返回上级目录。cd /home/user/
:进入绝对路径。cd ../dir/
:进入相对路径。cd ~
:进入用户家目录。cd -
:返回最近访问的目录。
touch
指令
语法:touch [选项]... 文件...
功能:更改文件或目录的日期时间,或新建一个不存在的文件。
选项 | 说明 |
---|---|
-a | 只更改存取时间。 |
-d | 使用指定的日期时间,而非现在的时间。 |
-f | 解决bsd版本touch指令的兼容性问题。 |
-m | 只更改变动时间。 |
-r | 把指定文档或目录的日期时间设成和参考文档或目录的日期时间相同。 |
-t | 使用指定的日期时间。 |
对于 touch 修改文件时间等用法我们放到讲开发工具 makefile 的时候再讲,让我们先来用touch创建一个
mkdir
指令
语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录。
选项 | 说明 |
---|---|
-p, --parents | 如果路径中的某些目录尚不存在,自动建立这些目录。 |
举例:
mkdir -p test/test1
:递归建立多个目录。
rmdir
指令
语法:rmdir [-p] [dirname]
功能:删除空目录。
选项 | 说明 |
---|---|
-p | 当子目录被删除后如果父目录也变成空目录的话,连带父目录一起删除。 |
rm
指令
语法:rm [-f-i-r-v] [dirname/dir]
功能:删除文件或目录。
选项 | 说明 |
---|---|
-f | 强制删除,即使文件属性为只读。 |
-i | 删除前逐一询问确认。 |
-r | 删除目录及其下所有文件。 |
sum
管理 贯穿
- 操作系统 是一款做 软硬件管理 的软件
- 计算机是层状结构,所有 软件操作都会定向向下 贯穿 转化为硬件行为
先有指令,再有图形
touch | 创建文件 |
mkdir | 创建目录 |
rm -r | 删除 |
发表评论