第一周的作业

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

主要分为五个部分:

控制器:计算机的中枢神经,控制总线使用权限、寻址、管理各类资源的分配。

运算器:对数据进行各种算数运算和逻辑运算。

存储器:通常指内存RAMCPU需要运行的程序以及数据都存放在存储器中供CPU调用处理。

(以上三者为计算机核心的三大部件,依靠这三大部件即可完成核心工作。)

输入设备:比如鼠标、键盘,使用户向计算机输入数据及下指令。

输出设备:输出数据加工后的结果。

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

三大主流:

Debian:仅以社区支撑,黑客人物更喜欢,因为发行版中加入的东西更少,使用难度相对较高;dpkg(软件包的后缀是deb),apt-get

Ubuntu(早期为了桌面应用而发行,目前server也做的不错)

mint

Knoppix(以安全著称,短小精悍)

Slackware:基于SLS,这哥们很快嗝屁了

S.u.S.E:界面华丽,欧洲人民喜好;rpmzypper

SLES

OpenSUSE

RedHat:美国、台湾和大陆多;rpm(已成为Linux工业标准),yum(未来将被dnf替代)

企业版的RHELRedHat Enterprise Linux>=18个月)

CentOSCommunity ENTerprise OSRHEL只提供源码的更新程序包,想被支持,就得付费,后来有一部分组织 看不下去了,将RHEL重新编译后以新的发行版发出,可以认为centosREHL的山寨版

个人版的Fedora Core6个月)

其余:

Gentoo(基于Enoch

Arch:马哥说包管理工具是port,网上查以及同事介绍都是pacman

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

(1)、一切皆文件:

优点是全部都可以通过系统调用open(),read(),write(),close(),delete(),create()向文件系统进行操作;

(2)、由众多功能单一的程序组成:

一个程序专心做一件事;

多和大的事情通过管道之类的方式组合完成;

(3)、尽量避免跟用户交互:

易于以编程的方式实现自动化任务;

(4)、使用文本文件保存配置信息;

4、说明Linux系统上命令的使用格式;详细介绍ifconfigechottystartxexportpwdhistoryshutdownpoweroffreboothwclockdate命令的使用,并配合相应的示例来阐述。

ifconfig

查看网卡接口信息,主要用于查看IP地址,也可以启用和关闭某个网卡接口。

使用man查看的时候,有说明该命令要被淘汰掉了,被命令ip取而代之。

This program is obsolete!  For replacement check ip addr and ip link.  For statistics use ip -s link.

echo

echo [SHORT-OPTION]… [STRING]…

-n:不再输出尾部的新行;

-e:启用反斜线转义功能;

STRING可以使用引号:

单引号:强引用,变量引用不执行替换;

双引号:弱引用,变量引用会执行替换;

注意:变量引用的正规符号

${variable_name}

另外,echo还可以带有颜色输出;

tty

打印连接到标准输出的终端的文件名。

~]# tty

/dev/pts/0

startx

初始化一个X(图形)会话。

startx是一个shell脚本,作为xinit的前端,xinit提供了一个稍微漂亮的用户接口用于运行一个X窗口系统的会话,一般不带任何参数。

export

shell变量设置输出属性。

语法是export [-fn] [name[=value] …]或者export -p

标志每个NAME并自动输出到随后用于执行命令的环境,如果VALUE被提供了,那么就在输出前赋值

pwd

print working directory,打印工作目录,即显示当前所在的目录

history

history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg…]

显示或者操作历史列表。这里的历史指的是以往执行过的命令的历史记录。

显示带有行号的历史列表,每个被修改的条目都会被加上一个前缀*”。参数N表示列出最后N行条目。

如果FILENAME被给出了,那么它将被作为历史文件所使用。否则,就看$HISTFILE这个变量有没有值,最后看~/.bash_history

cat ~/.bash_history可以发现我们的历史命令都保存在这个文件里面。

如果$HISTTIMEFORMAT被设置或者非空,它的值被用于格式化显示历史命令(一般都是打时间戳之类的),具体的格式,参照strftime(3),也就是要你man 3 strftime了。反之就没时间戳了。

showdown

shutdown [OPTION]… TIME [MESSAGE]

OPTIONS

-h:请求系统在bring down之后被halt或者power off,由系统自行决定。一般关机用这个。

-H:请求系统在bring down之后被halt

-P:请求系统在bring down之后被power off

-r:重启

-c:取消

-k:只发送广播信息但是不关机

 

TIME

now:现在执行

hh:mm:具体时间点执行

+m:几分钟后执行

MESSAGE

shutdown执行时候广播的信息

poweroff

关机

reboot

重启

知识补充:

时间分为硬件时间和系统时间,系统启动时从硬件读取日期和时间并写入到系统时间中,读取完毕就不再与硬件时间关联。系统时间根据内核频率相关,比如内核震动频率为50Hz的话,当内核震动50次的时候,系统会认为时间已过去1秒。

hwclock

查看和修改硬件时间

clockhwclock的字符链接;显示或设定硬件时间;

-s–hctosys:将系统时间设置为硬件时间;

-w–systohc:将硬件时间设置为当前的系统时间;

to前面是什么时间,就以什么为准

date

查看系统时间

date [OPTION]… [+FORMAT]

修改系统时间

date [MMDDhhmm[[CC]YY][.ss]]

设置系统时间也可以通过STRING的方式操作

date -s STRING

 

 

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

首先应当判断命令是内部命令还是外部命令,可以使用type命令来判断。

~]# type COMMAND

如果命令是内部命令的话:

~]# help COMMAND

如果命令是外部命令的话,则有多种办法:

(1)命令自带简要格式的使用帮助

~]# COMMAND –help

(2)使用手册(比较详细):manual

位置:/usr/share/man/

~]# man COMMAND

文档结构:

NAME:简要功能说明

SYNOPSIS:语法格式

DESCRIPTION:描述

OPTIONS:选项

EXAMPLES:使用实例

AUTHOR:作者

BUGS:报告程序BUG给作者的方式

SEE ALSO:另请参阅

SYNOPSIS

[]:可选内容;

<>:必填选项;

a|b:多选一内容;

:同类内容可出现多个;

使用手册:压缩格式的文件,有章节之分;

/usr/share/man/

man1,man2,…

1、用户命令;

2、系统调用;

3C库调用;

4、设备文件及特殊文件;

5、配置文件格式说明;

6、游戏;

7、杂项;

8、管理工具及守护进程;

(3)info COMMAND

获取命令的在线文档;(马哥不推荐)

(4)很多应用程序自带帮助文档:/usr/share/doc/APP-VERSION

README:程序相关信息;

INSTALL:安装帮助;

CHANGES:版本变更信息;

(5)主流发行版的官方文档

http://www.redhat.com/doc

(6)程序的官方文档:

国外官网上的document(最权威)

马哥说国人的书籍大部分是抄袭国外官网站点的doc

(7)善用Google搜索引擎

 

 


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

FHS

Filesystem Hierarchy Standard文件系统层级结构标准

/bin:所有用户可用的基本命令程序文件;

/sbin:供系统管理使用的工具程序;

/boot:引导装载程序的静态文件;

kernelinitramfs(initrd)grub等;

/dev:特殊文件(可能是虚拟设备)或设备文件;

设备有两种类型:

字符设备(线性设备,有时序):键盘和显示器;

块(block)设备(随机设备):硬盘;

/etc:系统程序的配置文件,仅为静态;

/home:普通用户的家目录,是一个可选的目录,程序不应该安装在此;

/rootroot用户的家目录,也是可选的;

/lib:基础的共享库和内核模块,主要为/bin/sbin程序提供库文件;

libc.so.*:动态链接C

ld*:运行时链接器/装载器

/lib/modules:可装载的内核模块

/lib<qual>qual表示系统的位数,如果64位系统的话,那么就是/lib64

/media:可移除的媒体挂载点,一般是挂光盘硬盘之类的;

/mnt:文件系统临时挂载点;

/optoption缩写,附加程序软件包,一般是不重要的程序;

/src:此系统为服务提供的数据,几乎没使用;

/tmp:存放临时文件;

/usrusr Hierarchy,全局共享的只读数据路径(s:sharable,r:read-only data);这是一个单独的层级结构,仅次于根目录层级结构的重要性;

binsbin

liblib64

includeC程序头文件;

share:架构独立的路径,对于centos来说是存放命令手册之类的

X11R6X-windows程序的安装路径;

src:源码文件路径;

locallocal Hierarchy,又是一个层级,字面意义理解为本地应用程序,早期第三方是安装在/opt下的,现在大部分都是在/usr/local下;

/varvar Hierarchy,又是一个层级结构;包含变化的数据文件,比如日志文件、运行文件(包含PID)、锁文件

/proc/sys主要用于未来的系统调优中涉及到!

/proc:内核和进程信息的基于内存的虚拟文件系统;

为内核和进程存储相关信息的,多为内核参数,例如:

net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward文件,参数的值是虚拟文件的内容

/sys

sysfs虚拟文件系统提供了一种比proc更为理想的访问内核的途径,也是基于内存的虚拟文件系统;

为管理Linux设备提供一种统一模型的接口;


 

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

(0)
N24_alongdidiN24_alongdidi
上一篇 2016-11-02 20:32
下一篇 2016-11-02 23:08

相关推荐

  • Homework Week-9 bash脚本之顺序、选择、循环

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash #Elephant echo "nologin users:" user1=$(cat /etc/passwd&n…

    Linux干货 2016-10-17
  • Shell脚本编程基础

    1编程基础 程序:指令+数据 程序编程分格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 Shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级:编译:高级语言->编译器->目标代码 编译性语言编写的程序通常是需要通过编译器去转换成计算机可以识别的二进制文件,…

    2017-11-27
  • Linux基于OpenSSL实现私有CA构建

    前言 随着互联网的迅猛发展,网络通信已经成为传递信息的主要途径。而通信时的数据传输大部分却是明文传输的,在网络这个不安全的环境下,如果没有一套数据加密机制,就会导致敏感信息和重要数据泄露,引起不可估量的损失。而OpenSSL正好弥补了这一缺憾,那什么是OpenSSL呢?OpenSSL是一套强大的具有加密功能的组件,它包含libcrypto(公共加密库)、li…

    Linux干货 2015-04-13
  • 目录的三权限之——R,W,X之间的爱恨纠葛!

    目录的三权限之——R,W,X之间的爱恨纠葛! 文件的权限我们一般都很容易了解,但是目录的权限,我们可能很多人就容易含混不清了,而许多时候目录的权限也是非常重要的。 因此我专门做了一个关于目录其他用户的权限实验,以此来解开目录权限的神秘面纱。在此我分别设定了三种情况,看看当某个目录/testdir对其他用户user1仅没有R,W,X权限时,其他用户对此目录有什…

    Linux干货 2016-08-08
  • grep &&正则表达式&&通配,元字,转义符

    grep 基于正则表达式的查询 1正则表达式: 正则表达式是通过使用特殊的字符所编写的模式,一些字符不表示字符的表面意思,具有控制和通配的功能. 使用正则表达式进行匹配具有两种方法:一是通过使用特殊的元字符进行字符匹配;二是使用次数匹配。 一, 正则表达式的特殊字符(元字符) :  #建议再温习一下之前所学的统通配符,对比一下,防止混淆。 (1)元…

    Linux干货 2016-08-05
  • linux 文件管理命令

    cp 复制文件或者路径 单源复制: cp [OPTION]…[-T] SOUTCE DEST 如果DEST不存在:则事先创建此文件,并复制源文件的数据流到DEST中 如果DEST存在:   如果DEST是非目录文件:则覆盖目标文件; 如果DEST是目录,就在这个目录中创建一个同名的文件,把源数据复制到这个文件中。 多源复制: cp [O…

    Linux干货 2017-08-28

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 17:09

    总结的还是比较全的,能在排版上多注意下的话,会更好~~继续加油~