第一周作业
一.描述计算机的组成及其功能
计算机的组成
第 一部分指的是硬件部分。主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备
第 二部分指的是计算机软件。包括汇编语言、系统软件及应用软件
各组成的功能
硬件部分
– 保障不同数率传输的数据可以得到缓冲
– 甄别IO设备传送数据的正错
– 实现数据与数据之间的交换
– 接收和识别命令
二.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
Linux发行版(Linux distribution)
是一种为一般用户预先集成好的Linux操作系统及各种应用软件。一般不需要用户重新编译,在直接安装之后,只需要作出小幅度的更改设置即可。Linux发行版通常包含了桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常使用Linux、以及来自GNU计划的软件、和基于X Window的图形界面组成。
Linux发行版通常分为商业发行版和社区发行版。也有少部分既不属于发行版又不属于社区发行版,其中最有名的是Slackware.
程序包管理器的作用:
– 1)程序的组成文件打包成一个或有限几个文件;
– 2) 安装;
– 3) 卸载;
– 4) 查询;
因此,我们可以划分出如下的谱系
Redhat系
新建 Microsoft Visio 2绘图
| 名称 | 基于 | 特点 |
| ———— |:————-:| —–: |
| Red Hat Enterprise | RPM管理包 | 红帽的商业版本<br>提供10年服务支持高|
| CentOS | RedHat | 根据RHEL代码编译的社区版<br>文档充足 |
| Fedora | RedHat |红帽官方的社区版<br>RH公司新技术测试平台 |
Slackware系
新建 Microsoft Visio 绘图
| 名称 | 基于 | 特点 |
| ———— |:————-:| —–:|
| Slackware | SLS | UNIX风格的Linux发行版<br>KISS(简洁)的设计理念|
| SUSE | Slackware | 界面华丽<br>照顾欧洲人的使用习惯 |
| opensuse | SUSE |suse的社区版 |
Debian系
新建 Microsoft Visio 3绘图
| 名称 | 基于 | 特点 |
| ———— |:————-:| —–:|
| Debian | Dpkg管理包 | 一直为社区版<br>限制较少<br>功能较多<br>要求技术较高 |
| Adamantix | Debian | 关注安全 |
| Knoppix | Debian |对硬件支持极佳<br>对中日韩环境不够友好 |
| Gnoppix | Knoppix | Knoppix的GNOME版 |
| Ubuntu | Debian | 界面华丽<br>与Debian、GNOME开源社区关系紧密<br>有资金支持<br> |
| Linux Mint | Ubuntu | Ubuntu的衍生版<br>开箱即用 |
| Ubuntu Kylin | Ubuntu | 中文定制版 |
| BackTrack | Ubuntu | 专业安全检测操作系统<br>已不再维护 |
| Kali Linux | BackTrack | BackTrack替代者<br>安全***软件 |
其他
| 名称 | 基于 | 特点 |
| ———— |:————-:| —–:|
| Gentoo | Portage管理包 | 大量程序开放源代码<br>对硬件要求较高|
| ArchLinux | pacman管理包 | 软件更新速度快<br>包管理简易高效 |
| LFS(Linux From scratch) | |高端玩法<br>DIY系统 |
发行版之间的不同
– dpkg:一般为Debian系使用,前端管理工具为apt-get
– rpm(The RPM Package Manager):一般为Red Hat系使用,S.u.S.E也有使用,前端工具包含多种:
yum:作为RHEL及CentOS的前端工具
dnf:作为Fedora的前端工具
ZYpper:作为S.u.S.E及opensuse的前端工具
urpmi:作为Mandriva Linux及Mageia的前端工具
三.描述Linux的哲学思想,并按照自己的理解对其进行解释性描述
物理终端:/dev/console
虚拟终端:/dev/tty#(#为1~6)
串行终端:/dev/ttyS#
伪终端:/dev/pts/#
机制,是实现某个功能需要的原语操作和结构
策略,是某功能的具体实现
提供机制,而非策略,指的就是要给用户充分的自主可调配性
四.说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述
ifconfig
ifconfig(interface configuration)是在Unix-like系统中用于查看以及配置网络接口设备的系统管理工具。其作用等同于ip addr或ip link
作用:作用于类Unix系统中,用于配置、控制及查询TCP/IP网络接口的系统管理工具
语法:ifconfig [interface]
ifconfig interface options | address …
常用方法:
ifconfig:查看当前系统中存活的网络接口设备信息
ifconfig eth#:查看指定的网络接口设备的信息
ifconfig -a:查看所有网络接口设备(通过此命令,非运行状态的网卡也可显示)
ifconfig eth# up:启动指定网络接口设备
ifconfig eth# down:关闭指定网络接口设备
ifconfig eth# mtu 1500:给指定网络接口设备设置最大传输单元
echo
echo用来将字符串输出到终端上。它通常在shell脚本中使用,以将状态信息输出到屏幕或文件中 作用:显示文字
语法:echo [SHORT-OPTION]… [STRING]…
echo LONG-OPTION
常用方法:
-n 不进行换行
-e 让转义符生效
转义符如下
\a 发出警告声
\b 删除前一个字符
\c 最后不加上换行符号
\f 换行但光标仍旧停留在本身的位置
\n 换行
\r 光标移至行首,但不换行
\t 制表符
\v 等同于\f
\ 插入\字符
–help 显示帮助
–version 显示版本信息
备注:STRING可以使用引号,单引号双引号均可用
单引号:强引用,变量不执行替换
[root@iZ25test ~]# echo '$SHELL'
$SHELL
双引号:弱引用,变量引用会被替换
[root@iZ25test ~]# echo “$SHELL”
/bin/bash
tty
作用:查看当前的终端设备
语法: tty [OPTION]…
常用方法:[root@test ~]# tty
/dev/pts/0
startx
作用:用来启动X Window,实际上是启动X Window程序
常用方法:
startx:在服务器上启动x会话
startx -w:在服务器上强制启动x会话
export
作用:用于将shell变量输出为环境变量,或将shell函数输出为环境变量
语法:BASH BUILTIN COMMANDS
常用方法:
-f:代表【变量名称】中为函数名称
-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中】
-p:列出所有shell赋予程序的环境变量
pwd
显示当前工作目录print name of current/working directory
作用:以绝对路径的方式显示用户当前工作目录。
语法: pwd [OPTION]..
常用方法:
–help:显示帮助信息
–version:显示版本信息
pwd命令用于显示当前工作目录,一般而言,涉及pwd,就会涉及到三个环境变量 PATH:执行文件路径的变量
OLDPWD:表示前一次的工作目录
PWD:表示当前的工作目录
history
作用: 用于显示指定数目的指令命令
语法:BASH BUILTIN COMMANDS
常用方法:
-c:清空当前历史命令
-a:将历史命令缓冲区中命令写入历史命令文件中
-r:将历史命令文件中的命令读入当前历史命令缓冲区
-w:将当前历史命令缓冲区命令写入历史命令文件中
n:打印最近n条历史命令(n为数字)
shutdown
作用: 系统关机 关闭所有程序
语法:shutdown [OPTION…] [TIME] [WALL…]
常用方法:
-c:取消关机
-f:重新启动时不执行fsck
-F:重新启动时执行fsck
-h:将系统关机
-k:送出信息给所有用户,但不会实际关机
-n:不调用init程序进行关机,而由shutdown自己控制
-r:重启系统
TIME:设置多久时间后执行shutdown指令
WALL:要传送给所有登入用户的信息
poweroff
作用:用来关闭计算机操作系统并且切断系统电源
语法: poweroff [OPTION]…
常用方法:
-n:关闭操作系统时不执行sync操作
-w:不真正关闭操作系统
-d:关闭操作系统时,不将操作写入日志文件
-f:强制关闭系统
-i:关闭系统之前关闭所有的网络接口
-h:关闭操作系统之前将系统中所有的操作设置为备用模式
reboot
作用:用来重新启动正在进行的Linux操作系统
语法:reboot [OPTION]…
常用方法:
-d:重新开机时不把数据写入数据文件/var/tmp/wtmp
-f:强制重新开机,不调用shutdown指令的功能
-i:在重开机之前,先关闭所有网络界面
-n:重开机之前不检查是否有未结束的程序
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
hwclock
作用:是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可以设置系统时间为硬件时钟的时间
语法: hwclock [functions] [options]
常用方法:
–adjust:校正目前的硬件时钟
–debug:显示hwclock执行时详细的信息
–hctosys:将系统时钟调整与当前的硬件时钟一致
–set –date=<日期与时间>:设定硬件时钟
–show:显示硬件时钟的时间与日期
–systohc:将硬件始终调整为与当前的系统时钟一致
–test:测试程序
–utc:使用格林威治时间
–version:显示版本信息
date
作用:显示或设置系统时间与日期
语法:date [OPTION]… [+FORMAT]
常用方法:
-d<“字符串”>:显示字符串所指的日期与时间
-s<“字符串”>:根据字符串设置的日期与时间
+FORMAT:格式符
%F:年月日
%T:小时分钟秒
%Y:年
%m:月
%d:日
%H:小时(24小时进制)
%S:秒
%s:秒(从1970-01-01 00:00:00 开始到命令执行那一刻的秒数 unix元年)
设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]
五.如何在Linux系统上获取命令的帮助信息,请详细列出,描述man文档的章节是如何划分的 由于Linux系统的命令繁多,无论是初学者还是资深人士,很多时候都需要查看帮助。
Linux的命令
内部命令与外部命令
Linux命令有内部命令(内建命令)和外部命令之分。内部命令和外部命令的功能基本相同,但存在的位置有差异。
内部命令:shell程序的一部分,其包含的往往是一些简单的linux系统命令。它们被shell程序识别并通过shell内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度通常比外部命令快。
外部命令:linux系统中能够完成特定功能的脚本文件或二进制文件,每个外部命令对应了系统中的一个文件。这些文件通常比较强大,包含的程序量也很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。外部命令的实体通常并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。
外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin……等等。可通过echo $PATH命令查看外部命令的存储路径。 Linux系统默认会将存放外部命令、程序的目录添加到用户的“搜索路径”中,当使用位于这些目录中的外部们能够令时,用户不需要指定具体的位置。 对于shell来说,可以识别三种基本命令:内建命令、Shell函数以及外部命令 1)
内建命令:由Shell本身所执行的命令 内建命令分为两种:
1)由于其必要性才内建的命令,比如cd(更改目录)
2)为了提高效率而存在的命令,比如test(检查文件和比较值)
2)Shell函数:功能健全的一系列程序代码,由Shell语言写成,它们可以像命令一样被引用
3)外部命令:由Shell副本(新的进程)所执行的命令,基本进程如下:
1)创建一个新的进程,也就是Shell副本
2)在新的进程里,在PATH变量内所列出的目录中,寻找特定的命令
备注:/bin: /usr/bin: /usr/X11R6/bin: /usr/local/bin为PATH变量的典型默认值
3)在新的进程里,使用找到的新进程取代执行中的Shell程序并执行
4)程序完成后,最初的Shell会接着从终端(terminal)读取下一条命令,和执行脚本里的下一条命令 如何区分内部命令与外部命令 使用type(不带参数)会显示命令是内建命令还是外部命令
-t:file 外部命令;alias命令别名;builtin内置命令
-a:会将命令PATH路径显示出来 了解了什么是命令以后,下面我们正式说帮助命令 刚刚说了,linux命令分为内部命令和外部命令,相对应的,使用的帮助命令也不同
内部命令: help 作用:用于显示shell内部命令的帮助信息
语法:help(选项)(参数)
选项:-s:输出短格式的帮助信息。仅包括命令格式
外部命令: 1)可以使用man手册获取帮助
man 作用:Linux下的帮助指令
语法:man(选项)(参数)
选项:
-a:在所有的man帮助手册中搜索
-f:等同于whatis,显示给定关键字的简短描述信息
-P:指定内容时使用分页程序
-M:指定man手册搜索的路径
参数:
man1:用户命令
man2:系统调用
man3:c库调用
man4:设备文件及特殊文件
man5:文件格式(配置文件格式)
man6:系统游戏使用帮助
man7:杂项
man8:管理工具及守护进程
man9:含糊的内核规范和接口
使用方法: 翻屏操作: 空格键:向文件尾部翻一屏
b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
G:跳转至最后一行
数字G:跳转至指定行
1G:跳转至文件首部
文本搜索:
/keyword:从文件首部向文件尾部依次查找,不区分字符大小写
?keyword:从文件尾部向文件首部依次查找
n:与查找命令方向相同
N:与查找命令方向相反
2)使用info info
作用:Linux下info格式的帮助指令 info界面就内容比起man编写的更好、也更容易理解。但是man使用起来容易的多。一个manpage只有一页,而info页面几乎总是将它们的内容组织成多个区段,每个区段也可能包含子字段。
语法:info(选项)(参数)
选项:
-d:添加包含info格式帮助文档的目录;
-f:指定要读取的info格式的帮助文档;
-n:指定首先访问的info帮助文件的节点;
-o:输出被选择的节点内容到指定文件 参数: 帮助主题:指定需要获取帮助的主题,可以是指令、函数以及配置文件
实例: 在info后面输入命令的名称就可以查看该命令的info帮助文档
info info 命令: 下面介绍一下它的几个常用快捷键
?键:显示info的常用快捷键
N键:显示(相对于本字节的)下一节点的文档内容
P键:显示(相对于本字节的)上一字节的文档内容
U键:进入当前命令所在的主题
M键:M+COMMAND就可以查看该命令的帮助文档
G键:G+主题名称,进入该主题
L键:回到上一个访问的页面
空格:向前滚动一页
DEL:向后滚动一页
Q:退出info
六.请罗列Linux发行版的基础目录名称命名法则及功用规定
inux操作系统中的主要目录及目录内容,是由文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义的。在大多数情况下,它都是一个传统BSD文件系统层次结构的形式化与扩充。
| 目录/文件 | 用途 | 来源 |
| :——– | ——–: | :–: |
| / |/处于Linux文件系统树形结构的最顶端<br>它是Linux文件系统的入口<br>所有的目录、文件、设备都在/之下 | |
| /bin | 该目录存放着系统最常用的最重要的命令<br>是以独立的文件形式存在<br>这个目录中的文件都是可执行的并且是普通用户都可以使用的命令<br>作为系统最基础的命令都放在这里 | binary |
| /usr | 该目录是系统存放程序的地方<br>比如普通命令、帮助文件、安装的软件等<br>当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里<br>/usr目录下包括涉及字体目录/usr/share/fonts、帮助目录/usr/share/man或/usr/share/doc等 | unix shared resource |
| /var |该目录的内容是经常变动的<br>/var下有/var/log目录用来存放系统日志的目录<br>/var/www目录用来定义Apache服务器站点存放目录<br>/var/lib用来存放一些库文件 | variable |
| /sbin |大多数涉及系统管理的命令都存放在该目录中<br>它是超级权限用户root的可执行命令存放地<br>凡是目录sbin中包含的命令都是root权限才能执行的 | super user binary |
| /root |Linux超级权限用户(系统管理员)root的主目录 | |
| /home |普通用户的主目录都默认存放在该目录中 | |
| /etc |该目录是系统配置文件的所在地<br>一些服务器的配置文件也在这里 | etcetera |
| /dev |设备文件存储目录<br>该目录下是所有Linux的外部设备文件<br> | device |
| /boot |存放Linux的内核及引导系统的程序所需要的文件 | |
| /opt |该目录是可选的软件包安装目录 | optional |
| /tmp |该目录用于存放临时文件 | temporary |
| /lib |该目录用于存放库文件<br>这个目录里存放着系统最基本的共享库 | library |
| /mnt |该目录是用于存放挂载储存设备的挂载目录的 | mount |
| /proc |操作系统运行时进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放处<br>/proc目录是伪装的文件系统proc的挂载目录<br>我们可以通过直接访问这个目录来获取系统信息 | process |
文件名使用法则:
严格区分字符大小写:file1 File1 FILE1 并不是一个文件
目录也是文件,
在同一路径下,两个文件不能同名
支持使用除”/“以外的任意字符;
最长不得超过255个字符
转载于:https://blog.51cto.com/14086421/2329813