N26_第一周作业

一、描述计算机的组成及其功能。

计算机系统:是由硬件(Hardware)系统和软件(Software)系统两大部分构成。

N26_第一周作业

1、硬件系统:

1)控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。
2)运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
3)存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。
4)输入(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
5)输出(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。 

2、系统软件

系统软件:是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。(如Windows、Linux、Dos、Unix等操作系统都属于系统软件。)
应用软件:(application software)是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。计算机软件分为系统软件和应用软件两大类。应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。(如Word、Excel、QQ等都属于应用软件)

二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

Linux最早由Linus Benedict Torvalds在1991年开始编写。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Linux。Linux的发行版本大体可以分为两类,一类是商业公司维护的发行版本,以著名Redhat(RHEL)为代表;一类是社区组织维护的发行版本,以Debian为代表。
1、Redhat,应称为Redhat系列,包括RHEL(Redhat Enterprise Linux,为收费版本)、Fedora Core(由Redhat桌面版本发展而来,免费)、CentOS(RHEL的社区克隆版本,免费)。Redhat可以说是在国内使用最多的Linux版本,甚至有人将Redhat等同于Linux。这个版本的特点就是使用人数多,资源多,而且网上的许多Linux教程也都以Redhat为例进行讲解。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。如果你需要一个比较稳定的服务器系统,而且你不喜欢各种Linux的配置,那么你可以选择CentOS,在安装完成后经过简单的配置就能非常稳定地运行了

2、Debian,或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,也最遵循GNU规范。Debian分为三个分支: stable, testing和unstable。其中,unstable为最新的测试版本,有相对较多的bug,适合桌面用户。testing的版本都经过测试,相对较为稳定。而stable一般只用于服务器,软件包大都比较过时,但是稳定和安全性都很高。Debian最具特色的是apt-get/dpkg包管理方式。

3、Ubuntu,严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以说Ubuntu是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。

如果你不需要自己进行定制,不想在系统上浪费太多时间,那么你可以根据自己的爱好在ubuntu、kubuntu以及xubuntu中选一款吧,三者的区别仅仅是桌面程序的不一样。

4、Gentoo,Gentoo是Linux最年轻的发行版本,因此也吸取之前的发行版本的优点,这也是Gentoo被称为最完美的Linux发行版本的原因之一。Gentoo最初由DanielRobbins(FreeBSD的开发者之一)创建,由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

如果你需要一个桌面系统,而且还想非常灵活的定制自己的Linux系统,那么你完全可以选择Gentoo。

5、FreeBSD,FreeBSD并不是一个Linux系统,但FreeBSD与Linux支持的硬件环境比较一致,采用的软件也比较类似,用户也有许多重合。所以可以将FreeBSD视为一个Linux版本来比较。FreeBSD拥有两个分支:stable和current。其中,stable是稳定版,而current则是添加了新技术的测试版。

FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。
如果你需要的是一个非常非常稳定的服务器系统,那么你的唯一选择就是FreeBSD。

三、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

1、一切皆文件,把几乎所有的资源统统定义为文件形式,包括硬件设备和通信接口等
2、有众多功能单一的程序组成:一个程序只做一件事,并且做好,组合小程序完成复杂的任
3、尽量避免跟用户交互,目标:易于以编程的方式实现自动化任务
4、使用文本文件保存配置信息

四、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

1、ifconfig

功能说明:查看网络接口参数

语法格式: ifconfig [接口]

示例:

[root@joylin ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.2  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::20c:29ff:fe5a:1ba8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5a:1b:a8  txqueuelen 1000  (Ethernet)
        RX packets 1261  bytes 112522 (109.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1064  bytes 223704 (218.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2、echo

功能说明:显示一行文本

语法格式:echo [-neE] [arg …]

常用参数:

    -n:不换行

    -e:转义符生效

示例:

[root@joylin test]# echo $SHELL
/bin/bash
[root@joylin test]# echo $PWD
/test
[root@joylin test]# echo $OLDPWD
/root
[root@joylin test]# echo $LANG
zh_CN.UTF-8
[root@joylin test]# echo "hellow world"
hellow world
[root@joylin test]# echo "hellow\nworld"
hellow\nworld
[root@joylin test]# echo -e "hellow\nworld"
hellow
world
[root@joylin test]# echo -n "hellow"
hellow[root@joylin test]#

3、tty

功能说明:查看当前终端设备

示例:

[root@joylin ~]# ls /dev/pts/
0 1 2 ptmx
[root@joylin ~]# tty
/dev/pts/0

4、startx

功能说明:startx命令用来启动X Window,实际上启动X Window的程序为xinit。

示例:

[root@joylin ~]# startx

5、export

功能说明:用于将shell变量输出为环境变量,或者将shell函数输出为环境变量

示例:

root@joylin ~]# export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="joylin"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
[root@joylin ~]# export aa="11"
[root@joylin ~]# echo $aa
11
[root@joylin ~]# bb=22
[root@joylin ~]# export bb
[root@joylin ~]# echo $bb
22 

6、pwd

功能说明:printing working directory 显示当前目录

相关的环境变量:

             $PWD:当前工作目录

              $OLDPWD:上一次的工作目录

示例:

[root@joylin test]# cd /test/
[root@joylin test]# pwd
/test
[root@joylin test]# cd /root/
[root@joylin ~]# pwd
/root 

7、history

功能说明:查看命令历史
命令历史:shell进程会在其会话中保存此前用户提交执行的命令
~]# history,指包括文件和内存中的命令历史
定制histroy的功能,可通过环境变量实现
HISTSIZE:shell进程可保留的命令历史的条数
HISTFILE:持久保存命令历史的文件
HISTFILESIZE:命令历史文件的大小
history #:显示最近的#跳命令
调用命令历史列表中的命令
1)!#:再一次执行历史列表中的第#条命令
2)!!:再一次执行上一条命令
3)!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
注意:命令的重复执行有时候一俩与幂等性
4)调用上一个命令的命令最后一个参数
快捷键:ESC,.
字符串:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复命令
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两者同时生效
语法格式:
history: history [-c] [-d 偏移量] [n] 
或 history -anrw [文件名] 
或 history -ps 参数 [参数…] 显示或操纵历史列表。
常用参数:
    -c:清空命令历史
-d offset:删除指定命令历史
-r:从文件读取命令历史到历史列表中
-w:把历史列表中的命令追加到历史文件中

示例:

[root@joylin test]# echo $HISTSIZE
1000
[root@joylin test]# echo $HISTFILE
/root/.bash_history
[root@joylin test]# echo $HISTFILESIZE
1000
[root@joylin test]# history 10  #显示最近10条历史命令
  697  who -r
  698  w
  699  clear
  700  history
  701  echo $HISTSIZE
  702  echo $HISTFILE
  703  echo $HISTFILESIZE
  704  history 695
  705  history 7
  706  history 10
[root@joylin test]# !701
echo $HISTSIZE
1000
[root@joylin test]# echo $HISTSIZE
1000
[root@joylin test]# !!
echo $HISTSIZE
1000
[root@joylin test]# !cl
clear
[root@joylin test]# history -d 700  710 ##指定删除700-710之间的历史命令
[root@joylin test]# history -c #清空命令历史
[root@joylin test]# history 
    1  history 
[root@joylin test]# history –r #从命令历史文件中读取到历史列表
[root@joylin test]# history |wc -l
608
[root@joylin test]# history –w #把历史列表中的命令追加到历史文件中

8、shutdown

功能说明:关闭所有程序
语法格式:shutdown [OPTION]…  TIME [WALL]
常用参数
-h:halt 关机
-r:reboot 重启
-c:cancel 发送告警信息所有给用户
TIME:
now
hh:mm
+m
WALL

示例:

[root@joylin ~]# shutdown -c "system will shutdown after 5 minutes"
[root@joylin ~]# 
Broadcast message from root@joylin (Thu 2017-02-16 20:25:46 CST):

system will shutdown after 5 minutes
The system shutdown has been cancelled at Thu 2017-02-16 20:26:46 CST 

9、poweroff

功能说明:关闭计算机操作系统并且切断系统电源

10、reboot

功能说明:重启

语法格式:reboot 选择

常用参数:

    -w:仅做测试,并不真正将系统重新开机

示例:

[root@joylin ~]# reboot -w 

11、hwclock

功能说明:显示或设定硬件时钟
语法格式:hwclock [function] [option…]
常用参数:
    -s, –hctosys     将硬件时钟同步到系统时钟(set the system time from the hardware clock )
    -w, –systohc     将系统时钟同步到硬件时钟(set the hardware clock to the current system time )

示例:

[root@joylin test]# date -s "2015-02-16"
2015年 02月 16日 星期一 00:00:00 CST
[root@joylin test]# hwclock 
2015年02月16日 星期一 00时03分47秒  -0.851829 秒
[root@joylin test]# ntpdate ntp1.aliyun.com
16 Feb 22:00:04 ntpdate[7895]: step time server 182.92.12.11 offset 63237573.891571 sec
[root@joylin test]# date
2017年 02月 16日 星期四 22:00:09 CST
[root@joylin test]# hwclock -s
[root@joylin test]# date
2015年 02月 16日 星期一 00:04:42 CST
[root@joylin test]# date
2015年 02月 16日 星期一 00:13:02 CST
[root@joylin test]# ntpdate ntp1.aliyun.com
16 Feb 22:09:54 ntpdate[8061]: step time server 182.92.12.11 offset 63237337.220648 sec
[root@joylin test]# date
2017年 02月 16日 星期四 22:09:57 CST
[root@joylin test]# hwclock 
2015年02月16日 星期一 00时14分21秒  -0.177806 秒
[root@joylin test]# hwclock -w
[root@joylin test]# hwclock 
2017年02月16日 星期四 22时10分16秒  -0.787362 秒 

12、date

功能说明:显示时间和日期
语法格式:
    date [OPTION]… [+FORMAT格式符]
    date [MMDDhhmm[[CC]YY][.ss]]
常用参数:
    %F:按照指定的格式显示
    %D:直接显示日期mm/dd/yy
    %H:显示小时
    %M:显示分钟
    %S:显示秒
    %m:显示月份

示例:

[root@joylin test]# date +%c
2017年02月16日 星期四 21时46分16秒
[root@joylin test]# date
2017年 02月 16日 星期四 21:46:32 CST
[root@joylin test]# date +%c
2017年02月16日 星期四 21时46分36秒
[root@joylin test]# date +%F
2017-02-16
[root@joylin test]# date +%T
21:47:10
[root@joylin test]# date +%d
16
[root@joylin test]# date +%Y
2017
[root@joylin test]# date +%d
16
[root@joylin test]# date +%D
02/16/17
[root@joylin test]# date +%F
2017-02-16
[root@joylin test]# date +%F-%T
2017-02-16-21:49:14
[root@joylin test]# date +%F--%T
2017-02-16--21:49:31
[root@joylin test]# date +%Y
2017
[root@joylin test]# date +%m
02
[root@joylin test]# date +%d
16
[root@joylin test]# date +%H
21
[root@joylin test]# date +%M
50
[root@joylin test]# date +%S
30 

五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

1、获取命令的使用帮助

1)内部命令:help COMMAND
2)外部命令:
a.命令自带简要格式的使用帮助

COMMAND –help

b.使用手册:manual
 位置:/usr/share/man
 #man COMMAND
 例如:
 NAME:功能性说明
 SYNOPSIS:语法格式
 DESCRIPTION:描述
 OPTIONS:选项
 EXAMPLES:示例
 AUTHOR:作者
 REPORTING BUGS:报告程序bug的方式
 COPYRIGHT:版权
 SEE ALSO:参考
 []:可选内容
 <>:必须提供的内容
 a|b|c:多选一
 …:同类内容可出现多个
 使用手册:压缩格式的文件,有章节之分
 /usr/share/man1,man2…/

2、 man的章节功能介绍:

1)用户命令
2)系统调用
3)C库调用
4)设备文件及特殊文件
5)文件格式(配置文件格式)
6)游戏使用帮助
7)杂项
8)管理工具及守护进程
语法格式:#man CHAPTER COMMAND
注意:并非每个COMMAND在所有章节都有手册
查看命令在那一章节:#whatis COMMAND
注意:其执行过程是查询数据库进行的
手动更新数据库:#makewhatis
man命令打开手册后的操作方法:
翻屏:
空格键:向文件末尾翻一屏
b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
G:跳转至最后一行

G:跳转至指定行

1G:跳转至文件首部
退出:q(quit)
选项:

-M:到指定目录下查找命令手册并打开之

六、请罗列Linux发行版的基础目录名称命名法则及功用规定

一、Linux的文件颜色:

蓝色:表示目录
青色:表示链接
黑色:表示文件

二、Linux目录结构

1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
2、/bin-用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 – 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc – 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。见下图:
5、/dev – 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、/proc – 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
7、/var – 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 – 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
8、/tmp – 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、/usr – 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。
10、/home – HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、/boot – 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12、/lib – 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld或lib.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
13、/opt – 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt – 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、/media – 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv – 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如:/srv/cvs包含cvs相关的数据。


原创文章,作者:jaylin,如若转载,请注明出处:http://www.178linux.com/69596

(0)
jaylinjaylin
上一篇 2017-02-20
下一篇 2017-02-20

相关推荐

  • shell脚本3——循环语句

    流程控制:      顺序执行      选择执行      循环执行 循环执行:      将某代码段重复运行多次      重复运行多少次:  &…

    Linux干货 2016-08-18
  • 第二周练习题

    创建/tmp目录下的:a_c,a_d,b_c,b_d; ~]# mkdir -pv /tmp/{a_{c,d},b_{c,d}} 创建如下目录: ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,…

    Linux干货 2016-11-01
  • 简单shell脚本编程示例

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 脚本内容: 执行结果: 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 脚本内容: 执行结果: 3、编写脚本/roo…

    Linux干货 2016-08-15
  • GRUB

    什么是GRUB GRUB(boot loader):grub:GRand Unified Bootloader     有两个版本:grub 0.x:grub legacy经典版;grub 2.x grub legacy:主要运行分三个阶段 stage1(第一阶段):安装在mbr中 stage1.5(第1.5阶段):存…

    Linux干货 2016-09-21
  • LVM逻辑卷扩展与缩小

    逻辑卷扩容:扩展逻辑卷前一定要卸载设备和挂载点的关联 第一步:把逻辑卷lv扩展至300M 第二步:检查硬盘,并重置硬盘容量 第三步:重新挂载,查看挂载状态   缩小逻辑卷:对逻辑卷缩容时,丢失数据的风险更大。在执行操作前一定要提前备份好数据。在进行缩减前先把文件系统卸载掉。 第一步:检查文件 第二步:把逻辑卷lv减小到100M 第三步:重新挂载并查…

    2017-12-17
  • 幽默:程序员的进化

    高中时期 view plaincopy to clipboardprint? 10 PRINT "HELLO WORLD"   20 END 大学新生 view plaincopy to clipboardprint? …

    Linux干货 2016-05-17

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-06 19:57

    总结的很精练,加油