N23_第1周博客作业

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

  根据冯·诺依曼体系计算机有中央处理器、主存储器、输入/输出三个子系统组成。

1.中央处理器

CPU(Central Processing Unit)用于数据运算。CPU有控制单元、算数逻辑单元、寄存器组组成。

(1)控制单元:控制各个子系统操作

(2)算数逻辑单元:对数据进行逻辑、移位和算数运算

    • 逻辑运算:有与、或、非或异或逻辑运算符。逻辑运算把输入数据作为二进制位模式,运算的结果也是二进制位模式。

    • 移位运算:逻辑移位运算用来对二进制位模式向左或向右的移位。逻辑算数运算应用于整数。主要用途是用2除或乘一个整数。

    • 算数运算:加、减、乘、除等,用于整数和浮点数。


2.主存储器

存储单元的集合,每一个存储单位都有唯一的标识,成为地址。数据以成为字的位组的形式在内存中传入和传出。

存储器中标识的独立的地址单元的总数成为地址空间。每个字都是通过地址来标识的。内存地址用无符号二进制整数定义。

存储器的类型:

  • 随机存储器(Random Access Memory,简称RAM):使用存储单元地址来随机存取一个数据项,而不需要存取位于它前面的所有数据项。

  • 只读存储器(Read Only Memory,简称ROM):内容是由内存制造商写进去的。用户只能读但不能写。优点:易失性;当切断电源后,数据额也不会丢失。通常用来存储哪些关机后不能丢失的程序或数据。ROM存储开机时运行的程序。

3.输入/输出:Input/Output,简称IO

输入:用于输入数据以便计算机处理数据

输出:计算机输出数据加工的结

I/O分两种类型:

  • 存储设备

    磁介质存储设备:磁盘、磁带等;

    介质存储设备:一种新技术、使用激光技术来存储和读取数据。有CD-ROM,CD-R、CD-RW,DVD等 ;

  • 非存储设备:键盘、监视器、打印机等。              

——————————————————————————————————————          

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

Linux发行版是由GNU开源组织开源的GNU/Linux内核以及个发行商应用程序进行打包进行编译成完整的操作系统。它使用自由、灵活、编译了安装操作系统便于安装管理整个操作系统。各个发行版使用的不用的包管理器、以及按付费服务捐赠模式进行商业操作。

    

常用Linux发行版:

  • RedHat系列:Red Hat 公司的 Linux 发行版,面向商业市场,包括大型机。Red Hat Enterprise Linux 常简称为 RHEL。.rpm包文件,rpm包管理工具,yum前段工具(事务处理有问题),后来参考zypper开发dnf工具

    • RHEL:RHEL 是商业版本,并不提供免费下载和使用。需要购买 Red Hat 公司的商业服务才能合法取得,并得到商业支持。目前有RHEL5、RHEL6、RHEL7版本。

    • CentOS:RHEL 的开源衍生版。            

              

发行版 免费下载 免费使用 技术支持 (商业)
RHEL 付费
CentOS 不提供
    • Fedora:它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本。.deb包文件,dpkg包管理器,apt-get前段工具。

  • S.u.S.E Linux:德国的 SuSE Linux AG公司发行维护的Linux发行版。2004年这家公司被Novell公司收购。原是以Slackware Linux为基础,并提供完整德文使用界面的产品。.rpm包,zypper前段工具。

  • ArchLinux:可定制的发行版,你获得的只是一个基础系统,然后你可以在它上面建立属于你个人的发行版。pacman包管理器。

  • Gentoo:Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。portage包管理器

  • Kali:基于Debian的Linux发行版,设计用于数字取证和渗透测试和黑客攻防

  • LFS:Linux From Scratch,不是程序文件,是编译安装指南。可以根据该指南进行自定义编译Linux系统。

——————————————————————————————————————————

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

  1. 一切皆文件。几乎所有的资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;

  2. 由众多单一的小程序组成;组合小程序完成复杂任务

  3. 尽量避免跟用户交互;易于以编程的方式实现自动化任务

  4. 使用文本格式保存配置信息

——————————————————————————————————————————    

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


ifconfig命令配置网络接口,即查看或设置网络接口

查看ifconfig命令所在即帮助文件所在文件:

ifconfig命令所在路径:/usr/sbin/ifconfig

ifconfig命令帮助文件:/usr/share/man/man8/ifconfig.8.gz

补充:ifconfig命令帮助 # man 8 ifconfig 

[root@localhost tmp]# whereis ifconfig
ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

ifconfig命令所在包命:

[root@localhost tmp]# rpm -qf /usr/sbin/ifconfig
net-tools-2.0-0.17.20131004git.el7.x86_64

常用选项:

-a 显示所有当前激活或非激活的网络接口

CentOS 7

  eno16777736:网络接口信息

    inet:IP地址, netmask:子网掩码地址, boradcast:广播地址 

  lo:本地回环网卡信息

[root@localhost tmp]# ifconfig -a
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.71  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe4e:2155  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:21:55  txqueuelen 1000  (Ethernet)
        RX packets 22949  bytes 2045847 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15933  bytes 2936252 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

interface 显示指定的接口名称的信息

[root@localhost tmp]# ifconfig eno16777736
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.71  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe4e:2155  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:21:55  txqueuelen 1000  (Ethernet)
        RX packets 23042  bytes 2054655 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15972  bytes 2940594 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

up:启用接口

<UP这是指的是启用当前网络接口

[root@localhost tmp]# ifconfig eno16777736 up
[root@localhost tmp]# ifconfig eno16777736 
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.71  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe4e:2155  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:21:55  txqueuelen 1000  (Ethernet)
        RX packets 23223  bytes 2070052 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16080  bytes 2953145 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

down:禁用接口

[root@localhost tmp]# ifconfig eno16777736 down
[root@localhost tmp]# ifconfig eno16777736 
eno16777736: flags=4163<BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:4e:21:55  txqueuelen 1000  (Ethernet)
        RX packets 23223  bytes 2070052 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16080  bytes 2953145 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

address:临时设置IP地址分配各指定的接口,关闭系统之后无效

[root@localhost ~]# ifconfig eno33554984 address 172.168.10.10/16 
[root@localhost ~]# ifconfig eno33554984
eno33554984: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.168.10.10  netmask 255.255.0.0  broadcast 172.168.255.255
        inet6 fe80::20c:29ff:fe4e:215f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:21:5f  txqueuelen 1000  (Ethernet)
        RX packets 162  bytes 14702 (14.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 92  bytes 11801 (11.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

netmask:设置子网掩码地址

*可是设置IP地址的时候使用/16方式设置子网掩码

[root@localhost ~]# ifconfig eno33554984 address 172.168.10.10 netmask 255.255.0.0
[root@localhost ~]# ifconfig eno33554984
eno33554984: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.168.10.10  netmask 255.255.0.0  broadcast 172.168.255.255
        inet6 fe80::20c:29ff:fe4e:215f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:21:5f  txqueuelen 1000  (Ethernet)
        RX packets 172  bytes 15690 (15.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 92  bytes 11801 (11.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

gateway:设置网关地址

[root@localhost ~]# ifconfig eno33554984 address 172.168.10.10/16 gateway 192.168.1.1

————————————————————————————————————————————

echo:回显,即在标准输出上输出信息,默认输出内容后自动添加换行符

echo命令所在路径:/usr/bin/echo 

echo命令帮助文件路径:/usr/share/man/man1/echo.1.gz

[root@localhost ~]# echo "Hello world"
Hello world
[root@localhost ~]# 

常用选项:

-n:输出内容后面不添加换行符

[root@localhost ~]# echo -n "Hello world"
Hello world[root@localhost ~]# 

-e:启用转义符号生效

[root@localhost ~]# echo -e "First \t Second \t \n 01 \t 02 \n"
First    Second      
 01      02 

对输出内容显示字体颜色、背景颜色、闪烁灯功能

[root@localhost ~]# echo -e "My name is \033[1;31;47;7m;Lingyima\033[0m.How are you?"
My name is ;Lingyima.How are you?

\033[mode内容\033[0m

mode:

    第一个数字:1-7

       1:加粗

       3: 字体颜色

       4: 背景颜色

       5: 闪烁

       7: 字体颜色与背景颜色互换

    第二个数字:颜色

        1-7,分别代代表不同的颜色值


tty:显示终端设备

tty命令所在路径:/usr/bin/tty 

tty命令帮助文件路径:/usr/share/man/man1/tty.1/gz

Linux常用终端设备:

    物理终端:

        系统启动时使用,启动完之后关闭

        设备位置:/dev/console

     串行终端:

         设备位置:/dev/ttyS#

     虚拟终端:

         设备位置:/dev/tty[0-9], Ctrl+Alt+F[1-6]

  图形终端:

    启动图形终端必须先启动图形服务(gnome,dke,xfce)然后按下Ctrl+Alt+F7。

    启动图形终端(守护进程运行):# startx & 

         伪终端:

    设备设置:/dev/pts/#

    远程连接、图形界面下打开的终端都是伪终端

startx命令

启动图形终端,后面加上&表示已守护进程打开图形终端


export

导出环境变量

在当前shelll进程以及子进程有效

用法:

[root@localhost ~]# export name=jerry
[root@localhost ~]# echo $name
jerry
[root@localhost ~]# bash
[root@localhost ~]# echo $name
jerry

还是可是使用declare -x导出环境变量

[root@localhost ~]# declare -x name=jerry
[root@localhost ~]# echo $name
jerry
[root@localhost ~]# bash
[root@localhost ~]# echo $name
jerry

pwd

显示当前工作目录

[root@localhost ~]# pwd
/root

当前工作目录保存在环境变量$PWD中

当前工作目录的之前工作目录在$OLDPWD环境变量中

[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# echo $PWD
/tmp
[root@localhost tmp]# cd /root
[root@localhost ~]# pwd
/root
[root@localhost ~]# echo $PWD
/root
[root@localhost ~]# echo $OLDPWD
/tmp


history

显示执行命令的历史记录,当系统关闭时保存在当前用户家目录~/.bash_history文件中

shell进程会其会话中保存此前用户提交执行过的命令

命令历史:history

定制history的功能,可通过环境变量实现:

HISTSIZE:shell进程可保留的命令历史的条数

HISTFILE:持久保存命令历史的文件;.bash_history

HISTFILESIZE:命令历史文件的大小

命令用法

history [-c] [-d] [n]

history -anrw [文件名]

history -ps 参数 [参数…]

-c: clear

-d offset:delete

-r: 从文件读取命令历史至历史列表中

-w:把历史列表中的命令追加至历史文件中

history #:显示最近的#条命令

 

调用命令历史列表中的命令:

!#:再一次执行历史列表中的第#条命令

!!:再一次执行上一条命令

!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

 

注意:命令的重复执行有时候需要依赖于幂等性

 

调用上一条命令的最后一个参数

快捷键:ESC, .

字符串:!$

 

控制命令历史记录的方式:

环境变量:HISTCONTROL

ignoredups:忽略重复的命令;

ignorespace:忽略以空白字符开头的命令;

ignoreboth:以上两者同时生效;

shutdown

关闭/重启/取消计算机命令

shutdown [OPTIONS…] [TIME] [WALL…]

-h: halt

-r:reboot

-c:cancel

TIME:now/hh:mm/+m/+0

# shutdown -h now, halt, poweroff

# reboot, shutdown -r now

 

CentOS 7:

# systemctl poweroff

# systemctl reboot


poweroff

不安全关机命令


reboot

不安全重启命令


hwclock

显示硬件时钟

显示或设定硬件时钟

-s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;

-w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;

date:系统时钟

    date [OPTION]… [+FORMAT]

FORMAT:格式符

%F:FULLDATE

%T:TIME

%Y:YEAR

%m:month

%d:day

%H:HOUR

%M:MINUTE

%S:SECOND

%s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数; …

设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

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

内部命令:help COMMAND

外部命令:

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

    # COMMAND –hep

  (2) 使用手册:manual

    # ls /usr/share/man/

    # man COMMAND

     SECTION:

       NAME:简要功能性说明

       SYNOPSIS:命令语法格式

       DESCRIPTION:描述

       OPTIONS: 选项

       EXAMPLES: 使用示例

       AUTHOR: 作者

       BUGS: 报告程序bug的方式

       SEE ALSO: 参考

     SYNOPSIS:

       []: 可选内容;

       <>:必选提供的内容;

       a|b|c:多选一;

       {}:分组

       …:同类内容可出现多个

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

       /usr/share/man man1, man2, …

     MANUAL SECTION

       1: User Command

       2: System Call

       3: C Library Call

       4: Device files and special files

       5: Config file

       6: Game and etc

       7: 杂录

       8: Admin Command and daemon process

     

      ~]# man CHAPTER COMMAND

       注意:并非每个COMMAND在所有章节下都有手册;

     查看命令都有哪些章节:

       ~]# whatis COMMAND

     注意:其执行过程是查询数据库进行的;

     手动更新数据库:

       ~]# makewhatis

        

     man命令打开手册以后的操作方法:

     翻屏:

       b/空格键:向文件首部/尾部翻一屏;

       Ctrl+u/d:向文件首部/尾部翻半屏

       k/回车键:向文件首部/尾部翻一行

       G:跳转至最后一行;

       #G:跳转至指定行;

       1G,gg:跳转至文件首部;

            

    文本搜索:

      /keyword:从文件首部向文件尾部一次查找;不区分字符大小写

      ?keyword:从文件尾部向文件首部一次查找;

      n:与查找命令方向相同

      N:与查找命令方向相反

     q: quit

        

   选项:-M /PATH/TO/SOMEDIR 到指定目录下查找命令手册并打开 之;

  (3) info COMMAND    获取命令的在线文档

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

    README:程序的相关的信息

    INSTALL:安装帮助;

    CHANGE:版本迭代时的改动信息;

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

    http://www.redhat.com/doc

  (6) 程序官方的文档

    官方站点上的”Document”

  (7) 搜索引擎

    google

      keyworld filetype:pdf

      keyworld site:doman.tld

      keyworld inurl:value

      keyworld intitle:value

 书籍的出版社:

    O’Reiley

    Wrox

    机械工业、电子工业、人邮、清华大学、水利水电

——————————————————————————————————————————    

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

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

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

    /boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等

    /dev:存储特殊文件或设备文件

        设备有两种类型:字符设备(线性设备)、块设备(随机设备)

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

    /root:管理员家目录,可选

    /home:普通的家目录的集中位置:一般每个普通的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME

    /lib:为系统启东或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

        libc.so.*:动态链接的C库;

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

        modules:用于存储内核模块的目录

    /lib64:64位系统特有的存放64位共享库的路径;

    /media:便携式挂载点(floppy、cdrom等)

    /mnt:其他文件系统的临时挂载点

    /opt:附加应用程序的安装位置

    /srv:当前主机为服务提供的数据;

    /tmp:临时文件

        为产生临时文件的程序提供的用于存储临时我文件的目录;可供所有用户执行写入操作;有特殊权限;

    /usr:Universal Shareable, read-only data 全局共享的只读数据路径;

        bin

        sbin

        include:C程序头文件;

        lib, lib64

        share:命令手册页和自带文档等架构特有的文件的存储位置;

        /usr/local:Local hierarchy, 让系统管理员安装本地应用程序;也通常用于安装第三方程序;

            bin,sbin,etc,lib,share,src,include,man,games

src

        x11R6 (Window Systemm, version 11 release 6)

    /var:/var hierarchy,经常变化的目录文件    

        cache Application cache data

        lib Variable state information

        local Variable data for /usr/local

        lock Lock files

        log Log files and directories

        opt Variable data for /opt

        run Data relevant to running processes

        spool Application spool data

        tmp Temporary files preserved between system reboots

    /proc:基于内存的文件系统的虚拟文件系统,用于为内核及进程存储其相关信息;内核和进程存储其相关信息;他们多为内核参数,例如:net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_foward

    /sys:虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径

其主要作用在与为管理Linux设备提供一种统一模型的接口;

 

 

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

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-22 09:50

    可以在每个选项下面用一个例子来解释一下,加油