本周做业内容:linux
一、描述计算机的组成及其功能。编程
计算机主要由五部分组成:控制器、运算器、存储器、输入设备、输出设备
小程序
一、控制器:计算机的核心,控制计算机如何寻址,数据提取及将控制信号传送到各部件,协调各设备之间如何进行工做。
windows
二、运算器:实现算术运算和逻辑运算的设备。
缓存
三、存储器:存储程序、数据及各类信号等信息,用来给运算器调用。经常使用的有硬盘、内存
安全
四、输入设备:将程序、数据、控制命令等信息输入到计算机。常见的有键盘、鼠标、CD-ROM,磁盘机等
bash
五、输出设备:跟输入设备恰好相反,把计算机运行结果反馈、显示出来。如显示器、打印机等。
服务器
输入输出设备统称为外部设备,用做人机交换网络
二、按系列罗列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版本
三、描述Linux的哲学思想,并按照本身的理解对其进行解释性描述。
一、一切皆文件(包括硬件);
二、由众多个单一的小程序组成;
三、组合小程序完成复杂任务;
四、尽量避免捕获用户接口,为了方便脚本编程以实现自动化执行;
五、使用文本文件保存程序的配置数据,使用一个文本编辑器便可完成系统及服务配置工做;
六、提供机制,而非策略。
四、说明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
[terry@localhost ~]$ echo 'who am i'
who am i
-n:输出文字后不自动换行
-e:对字符串中出现的一些字符进行特别处理,例如
\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;
tty:打印显示终端链接名
[terry@localhost ~]$ tty
/dev/pts/1
startx:启用X Window,实际上调用的启动命令是xinit
export:显示或设置环境变量,仅做用于此会话,临时的修改。
pwd:print working directory,显示当前工做目录
[terry@localhost 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'
五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
命令的帮助信息:
一、内部命令(经过type COMMAND得知命令是外置或者内置命令)
#help COMMAND
二、外部命令:都有一个可执行程序,位于文件系统某目录下 (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:管理类的命令
六、请罗列Linux发行版的基础目录名称命名法则及功用规定
Liunx文件命名法则:
一、文件名严格区分大小写
二、全部文件都位于根目录下,FHS
三、路径以/做为分隔符
四、每一个文件的名称可以使用除/之外的任意字符,单个名称最长不超过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相关的安全策略等信息的存储位置。