1.描述计算机的组成及其功能
计算机的组成部分分为硬件部分与软件部分
硬件部分: I/O设备 + 运算器 + 存储器 + 控制器
软件部分: kernel + Application
说完了硬件部分逻辑层面上的组成,那么我们实际能看到的这些是什么呢:
通常意义而言CPU就是控制器+运算器;内存,磁盘,固态等存储设备即为硬件部分的存储器;那么这里剩下的只有I/O设备没有提到了,其中I代表的是input,即为输入设备,最最常见的输入设备就是我现在正在用来敲博客的键盘,还有一些比如说扫描仪等,这里的O代表的是output,是指输出设备,显示器是输出设备,还有哪些呢,稍微想了下,也就想到了另一个设备,投影仪,为了方便我自己记忆(即使这个博客是我写的,难免会忘),所有能让我告诉计算机干什么的,都是输入设备;所有让我看到计算机反馈结果的都是输出设备。
其实上面提到了I/O设备在我心中的理解,书面上所表达的内容就不赘述了。说到控制器与运算器的结合体,那么就是指CPU了,CPU架构我所知道的就是 Inter公司的x64架构以及x86架构,I还有其他公司的,例如IBM公司,惠普公司他们自己家研发的且是我所没用过一些架构就不多提了,其实我也不知道这些架构具体区别在哪里,听马老师视频内容里面提到的是微指令集的不同,以及开放的接口有所不同(天啊,老师,您说的丑陋的底层接口,到底是指啥啊)。所谓控制器,网上查阅的资料反正是没看懂,通俗意义上来说应该是通过指令集来控制整个计算机。运算器负责进行逻辑运算和算数运算,根据资料,逻辑运算分为三种:逻辑与,逻辑或,逻辑非(这都是啥啊,知识的掌握有待加强)。最后不得不提到就是存储器了,首先是内存,有一句话是这样说的,所有的进程都是跑在内存里面的,断电所有内存中的数据丢失,为了解决数据丢失的问题,就又有了机械硬盘,当然还有速度更加强大的固态硬盘,简单总结下就是,内存是用来跑程序的,断电数据丢失;硬盘用来存数据的,断电数据不丢失。
软件部分:
kernel,中文翻译为内核,狭义上的操作系统,是通常意义上操作系统的最底层,负责硬件的驱动以及提供系统所需要的各种功能,例如:防火墙,程序管理,文件系统等。可以理解为硬件与软件之间的桥梁。
Application,中文翻译为应用,跑在内核之上的程序,用来完成具体的功能的实现,比如说,画图,总要有一个画图软件的吧,那这个画图软件就是Application。
2.按系列罗列linux的发行版并描述不同发行版之间的联系与区别
三大主流系列:Redhat Debian slackeare
三大主流系列的区别:包管理方式的不同,以及包管理前端软件的不同。
包管理 前端软件
Redhat: rpm Yum
Debian: dpkg Apt
S.U.S.E rpm zypper(S.U.S.E是slackware的二次发行版)
还有一些比较著名的linux发行版,比如说Gentoo,archlinux
还有一个比较特殊的linux发行版,LFS,提供的是一本书,教我们如何从零构建Linux
Redhat–>Centos Centos是Redhat的社区版,有着相同的源码
–>Fedora 为Redhat测试软件,是桌面版的
Debian–>Ubuntu Debian的二次发行版,有着漂亮的界面
–>Knopix Debian的二次发行版
slackware–>S.U.S.E slackware的二次发行版,流行与欧洲
S.U.S.E–>opensuse opensuse是S.U.S.E的社区版,由社区支持,完全免费。
3.描述Linux哲学思想,并按照自己的理解对其进行解释型描述。
1、一切皆文件; 系统中所有的一切,包括设备等,都是以文件的形式出现。
2、单一目的的小程序; 每个小程序完成一种功能,并且尽量保证这一个小程序出现的bug少。
3、组合小程序完成复杂任务; 通过拼凑各种功能的小程序,来完成一件复杂的任务。
4、文本文件保存配置信息; 所有软件的配置文件都是以文本文件的形式来进行保存的,方便通过修改配置文件来完成软件不同功能的实现。
5、尽量避免捕获用户接口; 方便编程完成自动化操作
理解:以上应该是linux的设计理念吧,那为什么要设计成上面这个样子呢?那得问设计者。不过提到哲学思想,linux是开源的代表,自由和分享是开源的精神思想,就好像老师在课中提到的共产主义。自由不是狭义上的软件源代码获取的自由,而是外界对于你形成帮助的自由,在你还是新人时无需为获得的帮助付出金钱上的代价,代码的免费获取,文档资料的获取,都是自由的,没有背负金钱的枷锁。当你通过自由得到的各种资源,成为一个技术达人,或者说,成为了一个小有成就的,在面对那些需要帮助的人,在力所能及的范围内提供无私的分享以及帮助,在各种论坛上分享经验,写技术博客。
4.说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述
命令的使用格式:命令 [选项] [参数]
为了对命令的解释更加简洁明了,这里将以相对简单的方式来解释这些命令。
不得不说的是,我选择了minimal的安装方式,没有办法完成对ifconfig的解释!!!
这里就用ip addr list代替下吧,就是用来显示网络设备状态的,有图有真相
有没有看到eno16777736,这玩意就是我的网卡,至于上面那个lo肯定就是环回口了。环回口干嘛的,我也不知道啊
echo 功能是显示文本 语法格式 echo [-ne] [字符串] echo会将输入的字符串间以空白符隔开,并在最后加上换行符号
tty 功能是显示终端链接标准输入设备的文件名称 语法格式: tty [-s] 试了下,不知道后面加个s能干嘛
startx 问题又来了,我是minimal安装,没有桌面,我倒是想装,可是我不会啊。正题来了,这是一个用于启动x-window程序的命令
用法是 startx & 你在哪个虚拟终端启动的,哪个虚拟终端就是你的x-window,这个我真的没图啊。
export 设置或显示环境变量 语法:export [-fnp][变量名称]=[变量设置值] 没看懂这个,不知道怎么去操作
pwd 显示当前的工作目录
history 功能是列出之前用过的命令 语法: history [N] [-arw] [文件名]
shutdown 功能是关机 语法: shutdown [选项] [秒数] [时间] [警告信息]
我的实例时 shutdown -h now 立即关机,图就没有了。
poweroff 语法:poweroff [选项] 这是一种不安全的关机方式,可能导致数据丢失,建议使用shutdown
用法就是直接 poweroff
reboot 语法: reboot [选项] 重新启动计算机
#reboot 先关闭所有的网络接口设备后,再重新开机
hwclock 功能是显示与设置硬件时钟 语法: hwclock [选项]
date 显示和设置系统系统时间 语法 date [选项] [参数]
5.如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
内部命令使用 help 命令(中间有空白符隔开)来查看命令的帮助
外部命令使用 man 命令 来查看系统里面自带的帮助文档
info 命令 来查看在线的帮助文档(这个文档主要是对man帮助的不足,以及命令的信息)
应用程序自带的帮助文档在/usr/share/doc/ 里面
程序官方站点,主流发行版官网文档,搜索引擎这些就非狭义上的linux上获取命令的帮助信息。
着重介绍man命令
man帮助里面的文档位置在/usr/share/man/ 下,其中不同部分的作用分别是一下内容:
NAME:简单命令、数据名称说明
SYNOPSIS:简短的命令语法(sysntax)简介
DESCRIPTION:较为完整的说明,需要认真阅读
OPTION:针对SYNOPSIS中列举的所有可用选项说明
COMMANDS:当这个软件在执行的时候,可用在此软件中使用命令
FILES:这个软件或数据所使用或参考或链接到的文件
SEE ALSE:可以参考的,与这个命令有关的其他说明
EXAMPLE:一些可以参考的范例,这个最好用
BUGS:是否有相关的bug
…同类可以重复使用
man文档章节划分(需要注意的是有的命令里会同时出现在不同的章节里)
1:用户命令;
2:系统调用;
3:C库调用;
4:设备文件及特殊文件;
5:文件格式;(配置文件格式)
6:游戏使用帮助;
7:杂项;
8:管理工具及守护进行;
6.请罗列出Linux发行版的基础目录名称命名法则及功用规定。
FHS:
Filesystem Hierarchy Standard
/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件;
设备有两种类型:字符设备(线性设备)、块设备(随机设备);
/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
libc.so.*:动态链接的C库;
ld*:运行时链接器/加载器;
modules:用于存储内核模块的目录;
/lib64:64位系统特有的存放64位共享库的路径;
/media:便携式设备挂载点,cdrom, floppy等;
/mnt:其它文件系统的临时挂载点;
/opt:附加应用程序的安装位置;可选路径;
/srv:当前主机为服务提供的数据;
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
/usr:usr Hierarchy,全局共享的只读数据路径;
bin, sbin
lib, lib64
include:C程序头文件;
share:命令手册页和自带文档等架构特有的文件的存储位置
local:另一个层级目录;
X11R6:X-Window程序的安装位置
src:程序源码文件的存储位置
/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
/var:/var Hierarchy,存储常发生变化的数据的目录;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口.
原创文章,作者:Jesse,如若转载,请注明出处:http://www.178linux.com/34345
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油