j_0029.gif计算机已经成为生活中不可或缺的一部分,大家上网,查资料,敲代码等一系列的活动都来自计算机,然而大家可能都不会在意每执行一个动作的时候,计算机内部是如何运作的。

首先来说一下,计算机有五大单元,分别是:

输入单元(如键盘,鼠标,扫描仪等),

存储器(用来存储由输入设备输入的信息),

运算器(进行相应的算数运算),

控制器(用于控制程序执行),

输出单元(输出由外界获取到的信息,如打印机,显示器等)


还记不记得冯诺依曼体系结构呢?


wKioL1cu_X-Tj-8MAACH-52NuKU334.jpg


大家只看图肯定会觉得有点枯燥吧,在这里给大家举个例子吧。

eg:你用qq给你的好友发了一条信息,当你敲击键盘,这一个简单的动作开始时,是如何将你所发的消息传输给对方呢?


此时,我们分析一下,你的输入设备是什么呢,---> 键盘,这个毋庸置疑吧。当你敲完你所输入的信息之后,它会将信息存到内存中,通过控制器的控制,将信息通过网络传输设备传给你的好友,所有对你而言,你的输出设备网络传输设备,而你的好友的输入设备是从远端而来,将信息读到内存中,最后显示到显示器上,那么你的好友的输出设备就为显示器


了解了计算机,我们再谈谈计算机的操作系统吧,其实我们的第一台计算机是没有操作系统的,操作系统并不是与计算机一起诞生的,它是在人们使用计算机时,为了满足需求,提高资源利用率,增强计算机系统性能,随着计算机技术日益发展起来的,目前我们用的有windows操作系统,苹果的ios操作系统,是计算机上最基本的系统软件,计算机上的任何一个应用软件都是在操作系统上运行起来的。而除了windows和ios操作系统,我们来认识一下另外一个多用户多任务且开源的操作系统,---->Linux


初识Linux,这里有几个概念需要了解一下:

1.环境变量:每个用户登录系统后,都有自己的运行环境,这个环境是由一组变量组成,我们就把它称为环境变量。我们也可以通过自己的需求修改环境变量。这时候就要用到shell命令。那么问题来了,shell是什么呢。j_0059.gifj_0059.gif我一会再做介绍吧。


环境变量有些什么呢?

① PATH 指定命令的搜索路径。   

//用echo $PATH来取变量的内容;用export PATH = $PATH:搜索路径。然后再输入echo $PATH就可以查看改之后的环境变量了。

② HOME 指定用户的工作目录。

//用echo $HOME来查看当前工作目录。  

eg:

[admin@localhost ~]$ echo $HOME

/home/admin

③ LOGNAME 当前用户的登录名。

//用echo $LOGNAME来看登录名。

eg:

[admin@localhost ~]$ echo $LOGNAME

admin

④ HISTSIZE 保存历史命令记录的条数。

⑤ PS1 命令基本提示符,如超级用户为#,普通用户为$。

//检测是超级用户还是普通用户。

eg:

[admin@localhost ~]$ echo $PS1

[\u@\h \W]\$

⑥ PS2 提示符,‘>’。

2.

linux提供了修改和查看环境变量的命令。

eg:

1.echo   上面用到echo,就是用来显示环境变量的。

2.export   用来修改环境变量。

3.env    显示所有的环境变量。

4.set    显示本地的shell变量。

5.unset  消除环境变量。unset + 想要消除的环境变量。

6.readonly  设置只读环境变量。


简单的命令多熟悉一下就差不多了。

现在来看刚刚说的shell吧,shell是什么呢? 

shell是一个外壳程序,简单的说就是操作系统与用户之间的媒介。当用户发送的消息需要让操作系统接收时,这时shell外壳程序就起作用了,它会通过shell来传递给操作系统,再通过操作系统返还给用户。然而这里有一个问题,shell外壳程序很可能发生风险,比如(你想买东西需要钱时,你会指使你弟弟妹妹去问你爸妈要钱,因为你爸妈如果说你乱花钱之类的,也只会说你弟弟妹妹,而不会影响你,当然啦,也限于你弟弟妹妹不给你爸妈说是你指使的情况下哦。j_0057.gifj_0057.gif)这个例子里,shell就相当于你,shell的子程序就相当于你弟弟妹妹。所以一般传递给shell外壳程序的时候,shell还会将任务派发给其他子程序,这样也不至于对操作系统和用户之间受影响。


3.Linux的文件类型

(1)普通类型:[-]

     ①纯文本文档

     ②二进制文件

     ③数据格式文件

(2)目录:[d]

(3)链接文件 [l]

(4)设备和设备文件

    ①块设备文件 [b](硬盘,软盘)

    ②字符设备文件[c](键盘,鼠标)

(5)套接字[s]:数据接口文件

(6)管道[p]

eg1:

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Desktop

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Documents

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Downloads

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Music

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Pictures

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Public

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Templates

drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Videos


最后阐述了Linux一切皆文件的思想。在windows操作系统中,有硬盘,快捷方式等,在linux中都叫做文件,没有了所谓的区分。

在windows下,有各种扩展名来执行,而在linux下,只要有x权限,就说明文件可被执行。如eg1所示。

说到权限,简单的说就是,一件事被谁做的问题。。这里强调了人和事。

(1)文件访问者:分为三种。用户,其他人,组。。

(2)文件:(读,写,执行)在linux中,我们把它分为三组。三个为一组。。

如:drwxr-xr-x. 2 admin admin 4096 May  6 02:27 Desktop

第一个d表示目录,rwx为第一组,表示此文件是可读可写可执行,r-x为第二组,表示可读不可写可执行,r-x为第三组,表示可读不可写可执行。


Linux的第一节就说到这里喽。欢迎大家提出宝贵意见哦。j_0063.gifj_0063.gif