本周作业内容:
1、描述计算机的组成及其功能。
计算机主要由五部分组成:控制器、运算器、存储器、输入设备、输出设备
1、控制器:计算机的核心,控制计算机如何寻址,数据提取及将控制信号传送到各部件,协调各设备之间如何进行工作。
2、运算器:实现算术运算和逻辑运算的设备。
3、存储器:存储程序、数据及各种信号等信息,用来给运算器调用。常用的有硬盘、内存
4、输入设备:将程序、数据、控制命令等信息输入到计算机。常见的有键盘、鼠标、CD-ROM,磁盘机等
5、输出设备:跟输入设备刚好相反,把计算机运行结果反馈、显示出来。如显示器、打印机等。
输入输出设备统称为外部设备,用作人机交换
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
slackware:
SUSE:主要面向企业用或高级桌面应用的Linux系统,唯一的一家和微软合作的公司,包括在技术以及业务层面的合作,支持很多windows下有的功能、服务,界面美观华丽。非常适用于关键业务的高性能复杂操作,并在桌面化系统上比较占优势。
SLES:SUSE Linux Enterprise Server
openSUSE:现在的 SUSE Linux 由 openSUSE 项目所维护,这个项目的主要目标是使 SUSE Linux 成为最易获得和最广泛使用的Linux,成为最棒的用户Linux桌面环境。
Fedora:Red Hat Linux个人版衍生出来的免费发行版,每6个月发行一个新版本。更多软件,更新的程序包,
Debian:上游最大的发行版,运行极其稳定,非常适合服务器。不适合新手用户,更适合系统管理员和高级用户。使用apt-get/dpkg包管理方式。Debian分三个分支: stable, testing和unstable
Ubuntu:基于Debian的unstable版本,面向桌面系统,
Linux Mint:基于Ubuntu的发行版
Hedhat:最著名的Linux发行版
RHEL:RedHat Enterprise Linux,收取服务费
CentOS:兼容RHEL的格式,社区免费版,代码全部基于RHEL源代码进行重新编译,不提供服务。使用yum来管理软件包。
FedoraCore:由原来的Redhat个人桌面版发行而来。
Gentoo:Linux中最年轻的发行版,拥有各发行版的优点,2002年发行。包含众多软件包,每次需要针对每个系统进行编译,安装及使用最困难,但是可作为最佳的学习对象,可以通过它了解Linux操作系统的内部运作原理。可作优化或定制,追求极限的配置、性能。
FreeBSD:并不是一个发行版,但是FreeBSD与Linux支持的硬件环境比较一致,采用的软件也比较类似,用户也有许多重合。所以可以将FreeBSD视为一个Linux版本
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
1、一切皆文件(包括硬件);
2、由众多个单一的小程序组成;
3、组合小程序完成复杂任务;
4、尽可能避免捕获用户接口,为了方便脚本编程以实现自动化执行;
5、使用文本文件保存程序的配置数据,使用一个文本编辑器即可完成系统及服务配置工作;
6、提供机制,而非策略。
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
ifconfig:configure a network interface,显示、配置网络接口
ifconfig -a:显示所有接口信息,包括down的网卡(没激活的)
ifconfig eth0 up:把默认网卡eth0激活(反之,down为禁用)
ifconfig eth0 192.168.0.1 netmask 255.255.255.0:设置eth0网卡IP和网关
echo:显示文字
例如:echo ‘who am i‘输出为who am i
[[email protected] ~]$ echo ‘who am i‘
who am i
-n:输出文字后不自动换行
-e:对字符串中出现的一些字符进行特别处理,例如
\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;
tty:打印显示终端连接名
[[email protected] ~]$ tty
/dev/pts/1
startx:启用X Window,实际上调用的启动命令是xinit
export:显示或设置环境变量,仅作用于此会话,临时的修改。
pwd:print working directory,显示当前工作目录
[[email protected] share]$ pwd
/usr/share
history:显示命令历史,该历史只有在系统关闭时候才会写入缓存文件.bash_history中,下次开机会从该文件读取历史命令信息。
!#:执行命令历史中的第#条命令,例如!2
!!:执行上一条命令
!string:执行命令最近一条以string字符开头的命令
!$:调用上一条命令的最后一个参数
先按ESC松开再按. 功能同上
shutdown:安全关闭或重启系统。
-f:force,强制执行重启不进行磁盘检测
-F:重启时进行磁盘检测
-h:关闭电源
-r:关闭后重启
-t:延迟时间重启(shutdown -t 60)
halt, poweroff, reboot - Halt, power-off or reboot the machine
halt:调用shutdown -h命令关机,halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
poweroff:关机。多用户下不建议使用
reboot:调用shutdown -r命令进行重启
另外补充一个命令:init
init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。
hwclock:硬件时间
-s:--hctosys,以硬件时间为准,设置系统时间
-w:--systohc,以系统时间为准,设置硬件时间
date:显示或设置系统时间
date:显示当前系统时间
date -u:显示UTC时间
+%H:小时
+%M:分钟
+%S:秒
+%m:月
+%d:日
+%y:年份最后两位数字
+%Y:完整年份
设置时间命令格式:date [参数]... [+格式]
# date -s 20160807
# date -s 12:19:50
或者
date -s ‘20160807 12:19:50‘
date -s ‘2016-08-07 12:19:50‘
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
命令的帮助信息:
1、内部命令(通过type COMMAND得知命令是外置或者内置命令)
#help COMMAND
2、外部命令:都有一个可执行程序,位于文件系统某目录下 (which, whereis)
(1)#COMMAND --help
#COMMAND -h
(2)使用手册(manual)
#man COMMAND
(3)信息页
#info COMMAND
(4)程序自身的帮助文档
README INSTALL
ChangeLog
(5)程序官方文档
官方站点:Documentation
(6)发行版的官方文档
(7)Google
man分为8个章节:保存在/usr/share/man/ 目录下
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:配置文件格式
man6:游戏
man7:杂项
man8:管理类的命令
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
Liunx文件命名法则:
1、文件名严格区分大小写
2、所有文件都位于根目录下,FHS
3、路径以/作为分隔符
4、每个文件的名称可使用除/以外的任意字符,单个名称最长不超过255个字符
Linux目录遵守FHS标准,以保证各发行版之间的兼容性。
LSB(Linux Standards Base)
FHS:(FileSystem Heirache Standard):其主要的目录及其功用如下:
/boot:引导文件的存放目录:内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放在此目录
/bin: 供所有用户使用的基本命令。不能关联至独立分区,OS启动即会用到的程序;
/sbin:管理类的基本命令。不能关联至分区,OS启动即会用到的程序
/lib: 基本共享库文件,以及内核模块文件(/lib/modules);
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录(存文本文件)
/home/USERNAME:普通用户家目录(例如terry用户家目录为/home/terry/)
/root:管理员家目录(一般情况下不需要用到,因为实际生产中不应该使用管理员登录,避免误操作)
/media:便携式移动设备挂载点;
cdrom
usb
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b:block device,随机访问
c:character device,线性访问
/opt:第三方应用程序的安装位置,一开始是空的。
/srv:系统上运行服务程序时用到的中间数据。
/tmp:临时文件,所有用户都有使用权限
/usr:universal shared,read-only data
bin:保证系统拥有完整功能而提供的应用程序(对所有用户可用)
sbin:保证系统拥有完整功能而提供的应用程序(对管理员可用)
include:Header files included by C programs (C程序的头文件 header files)
lib:Libraris
share:结构化独立的数据,例如doc,man等
local:第三方应用程序的安装位置。用户自己手动安装的而不是包管理软件安装的。
#除了/boot跟/home以外,都是不能独立分区的。
/var:variable data files,可变数据文件
cache:应用程序缓存数据目录
lib:应用程序状态信息数据
lock:锁文件
log:日志目录与文件
opt:专用于为/opt应用程序存储可变数据
run:运行中的进程相关的数据,通常用于存储进程的pid文件
spool:应用程序数据缓冲池
tmp:保存系统两次重启产生的临时系统数据文件。
/proc:用于输出内核与进程信息相关的虚拟文件系统,(一切皆文件,进程也当作文件,伪文件)
/sys:用于输出当前系统上硬件相关信息的虚拟文件系统(也是一个伪文件系统)
/selinux:security enhanced Linux, selinux相关的安全策略等信息的存储位置。