马哥教育网络班21期+第1周课程练习

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

  计算机主要由运算器,控制器,存储器,输入设备,输出设备组成

  运算器用来做计算,用来做二进制运算(加法运算)和逻辑运算

  控制器用来控制计算机各部件之间的协调,例如运算器想做运算从哪里读入加数和被加数,寄存在哪里

  存储器分为内存储器和外存储器,用来存放数据 内存储器用于存放计算机当前工作中正在运行的程序,数据等,分为随机存取存储器RAM(Random   Access Memory)和只读存储器ROM(Read-Only Memory)。外存储器外存储器用来存储大量暂时不参见运算或处理的数据和程序,例如光盘,硬   盘,U盘等

  输入设备:把原始数据和处理这些数据的程序通过输入接口输入到计算机的存储器中,例如键盘,鼠标,扫描仪等

  输出设备:输出计算机的处理结果,例如:显示器,打印机,音响等

各个组成部分需要总线连接才能正常工作,总线分为:控制总线,数据总线,地址总线(寻址)

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

  Linux的发行版  

  1)slackware–suse–opensuse,slackware,suse为二次发行版本,opensuse为再次发行版本

  2)debian–ubuntu–mint,debian,Ubuntu为二次发行版本,mint为再次发行版本

  3)redhat–rhel redhat enterprise linux,redhat,rhel为redhat的企业版本,fedora为redhat的普通发行版

       –fedora

  4)ArchLinux,轻量简洁的linux发行版本

  5)Gentoo,定制版linux操作系统

  6)LFS:Linux From scratch,从零搭建linux

  7)Android:kernel+busybox+java虚拟机,安卓基于linux的内核,使用Java虚拟机

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

   Linux的哲学思想主要包括:

   1.一切皆文件

       把几乎所有的资源,包括硬件设备都组织为文件格式

   2.由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好

       组合小程序完成复杂任务

   3.尽量避免跟用户交互

      目标:实现脚本编程,以自动完成某些功能

   4.使用纯文本文件保存配置信息

      目标:一款使用的文本编辑器即能完成系统配置工作

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

     命令格式:COMMAND [OPTIONS…] [ARGUMENTS…]

         多选项,多参数和命令之间都应该使用空白字符分隔

         取消命令执行:Ctrl+c

         选项:用于启用或关闭命令的某个或某些功能

          短选项:-c,例如:-l,-h  多个短选项可合并使用,例如:-l -h可写成-lh

          长选项:–word,例如:–long,–human-readable

          参数:命令的作用对象,向命令提供数据

    

1)ifconfig 用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。  

[root@localhost /]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.206  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::20c:29ff:fe89:56df  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:89:56:df  txqueuelen 1000  (Ethernet)
        RX packets 6  bytes 552 (552.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28  bytes 4029 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        up 启动指定网络设备/网卡。

        down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。

        arp 设置指定网卡是否支持ARP协议。

        -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包

        -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包

        -a 显示全部接口信息

        -s 显示摘要信息(类似于 netstat -i)

        add 给指定网卡配置IPv6地址

        del 删除指定网卡的IPv6地址

        <硬件地址> 配置网卡最大的传输单元

        mtu<字节数> 设置网卡的最大传输单元 (bytes)

       netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。

       tunel 建立隧道

       dstaddr 设定一个远端地址,建立点对点通信

       -broadcast<地址> 为指定网卡设置广播协议

       -pointtopoint<地址> 为网卡设置点对点通讯协议

       multicast 为网卡设置组播标志

       address 为网卡设置IPv4地址

       txqueuelen<长度> 为网卡设置传输列队的长度

    2)echo 用来在显示器上显示一段文字,一般起到一个提示的作用。   

[root@localhost /]# echo wangsining
wangsining

           -n 不要在最后自动换行

             -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

             \a 发出警告声;

             \b 删除前一个字符;

             \c 最后不加上换行符号;

             \f 换行但光标仍旧停留在原来的位置;

             \n 换行且光标移至行首;

             \r 光标移至行首,但不换行;

             \t 插入tab;

             \v 与\f相同;

             \\ 插入\字符;

             \nnn 插入nnn(八进制)所代表的ASCII字符;

             –help 显示帮助

             –version 显示版本信息

    3)tty 用于显示终端机连接标准输入设备的文件名称。

[root@localhost /]# tty
/dev/pts/0

         -s或–silent或–quiet 不显示任何信息,只回传状态代码。

          –help 在线帮助。

          –version 显示版本信息。

    4)startx 用于在命令行界面进入图形界面。

[root@localhost /]# startx

    5)export 用来设置和显示环境变量。

[root@localhost /]# export -p
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-wxEcCjVap8,guid=10e76194d67ae90c00ea70335781f873"
declare -x DESKTOP_SESSION="gnome-classic"
declare -x DISPLAY=":0"

          -f 代表[变量名称]中为函数名称。

            -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

            -p 列出所有的shell赋予程序的环境变量。

     6)pwd 用来查看”当前工作目录“的完整路径

[root@localhost /]# pwd
/

     7)history 主要用于显示历史指令记录内容, 下达历史纪录中的指令。

[root@localhost /]# history 
    1  ls /root/rh442/
    2  kill -a realtime
    3  init 6

                    n  :数字,要列出最近的 n 笔命令列表

               -c :将目前的shell中的所有 history 内容全部消除

               -a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles,则预设写入 ~/.bash_history

               -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中

               -w :将目前的 history 记忆内容写入 histfiles。

     8)shutdown 用来安全关闭或者重新启动系统。

[root@localhost /]# shutdown -h

                -c  当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。

               -f  重新启动时不执行fsck。

               -F  重新启动时执行fsck。

               -h  将系统关机。

               -k  只是送出信息给所有用户,但不会实际关机。

               -n  不调用init程序进行关机,而由shutdown自己进行。

               -r  shutdown之后重新启动。

               -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。

               [时间]  设置多久时间后执行shutdown指令。

               [警告信息]  要传送给所有登入用户的信息。

     9)poweroff 用来关闭计算机操作系统并且切断系统电源。 

[root@localhost /]# poweroff

                 -n:关闭操作系统时不执行sync操作; 

               -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; 

               -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; 

               -f:强制关闭操作系统; 

               -i:关闭操作系统之前关闭所有的网络接口;

               -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。

    10)reboot 用来重新启动计算机。

[root@localhost /]# reboot

            -n : 在重开机前不做将记忆体资料写回硬盘的动作

            -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里

            -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)

            -f : 强迫重开机,不呼叫 shutdown 这个指令

            -i : 在重开机之前先把所有网络相关的装置先停止

    11)hwclock 用于显示与设定硬件时钟。

[root@localhost /]# hwclock
Sun 10 Jul 2016 12:32:03 PM EDT  -0.267696 seconds

            –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。

            –debug  显示hwclock执行时详细的信息。

            –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。

            –hctosys  将系统时钟调整为与目前的硬件时钟一致。

            –set –date=<日期与时间>  设定硬件时钟。

            –show  显示硬件时钟的时间与日期。

            –systohc  将硬件时钟调整为与目前的系统时钟一致。

            –test  仅测试程序,而不会实际更改硬件时钟。

            –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。

            –version  显示版本信息。

    12)date 显示或设置系统时间与日期。

[root@localhost /]# date
Sun Jul 10 03:32:36 EDT 2016

            -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 

              -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

             -u:显示GMT; –help:在线帮助; 

              –version:显示版本信息。

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

    #type COMMAND 查看是内建命令还是外部命令

    1)内建命令   help   COMMAND

    2)外部命令 

        (1)#COMMAND  –help

              #COMMAND  -h

        (2)使用手册(manual)

              #man COMMAND

        (3)信息页

              #info  COMMAN D

        (4)程序自身的帮助文档

            /usr/share/doc/COMMAND-VERSION                      

            README    INSTALL    ChangeLog

        (5)程序官方文档

            官方站点:Documentation

                   http://www.redhat.com/docs

         (6)发行版的官方文档

       (7)Google

          (8) slideshare

                   http://www.slideshare.net/

man COMMAND

手册页:/usr/share/man中

         man1:用户命令

         man2:系统调用

                   注意:有些关键字在不止一个章节中存在帮助手册

                              查看指定章节中的手册:man #  COMMAND

         man3:C库调用

         man4:设备文件及特殊文件

         man5:配置文件格式

         man6:游戏相关

         man7:杂项

         man8:管理类的命令

man命令的配置文件:/etc/man.config

MANPATH /PATH/TO/SOMEWHERE:指名新的手册文件搜索位置

#man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示

帮助手册中的段落说明:

 

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

[root@localhost /]# ls
bin   dev  home  lib   lost+found  mnt  proc  run   srv  tmp  var
boot  etc  iso   lib64  media   opt  root  sbin  sys  usr

 根据FHS(fileSystem Heirache Standard)来命名,基础目录名称:

     /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;

     /dev:设备文件及特殊文件存储位置;

     /home/USERNAME:普通用户家目录;

     /lib:基本共享库文件,以及内核模块文件(lib/modules);

     /lost+found:防数据丢失的;

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

     /proc:用于输出内核与进程信息相关的虚拟文件系统

    /run:运行中的进程相关的数据,通常用于存储进程中的PID文件;

     /srv:系统上运行的服务用到的数据;

     /tmp:临时文件存储位置;

     /var:variable date files,可变化的数据文件;

     /boot:引导文件存放目录;内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录;

     /etc:配置文件目录;

     /lib64:专用于X86_64系统上的辅助共享库文件存放位置;

     /media:便携式移动设备挂载点;

    /opt:第三方应用程序的安装位置;

    /root:管理员的家目录;

    /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;

     /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;

    /usr:universal shared,read-only data;

    /selinux:security enhanced Linux,selinux相关的安全策略等信息存储位置;

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

(0)
N21_孤狼N21_孤狼
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • httpd的安装与使用

    httpd的安装与使用

    2017-12-07
  • 网络互联参考模型(详解)

    网络互联参考模型 1. 什么是协议 为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言” 描述网络通信中“语言”规范的一组规则就是协议 例如:两个人交谈,必须使用相同的语言,如果你说汉语,他说阿拉伯语…… 数据通信协议的定义 决定数据的格式和传输的一组规则或者一组惯例 2. 协议分层 网络通信的过程很复杂: 数据以电子信号的形式穿越…

    Linux干货 2015-05-07
  • Linux基础之shell脚本编程(一)

    本文主要是shell脚本编程练习 1、写一个脚本    (1)、获取并列出当前系统上的所有磁盘设备;    (2)、显示每个磁盘设备上每个分区相关的空间使用信息;   1 #!/bin/bash   2 #author:BaoZhang  &nbsp…

    Linux干货 2016-11-11
  • ifcfg家族命令介绍

    ifcfg家族命令: ifconfig ifconfig [interface] add<地址>:设置网络设备IPv6的ip地址; del<地址>:删除网络设备IPv6的IP地址; down:关闭指定的网络设备;<硬件地址>:设置网络设备的类型与硬件地址; io_addr:设置网络设备的I/O地址; irq:设置…

    Linux干货 2016-07-29
  • 文件的权限和访问控制列表

      在linux管理中,为了使不同的用户对文件有不同的操作权限。我们需要正确的修改文件的权限,一方面是为安全着想, 另一方面则是防止自己辛辛苦苦码出的东西被其它用户给误删。 1.如何修改文件的属主和属主:   前面用户和组管理的内容中,我们已经对文件的属主、属组问题做了说明。有时候我们需要对一些文件的属组和属组进行修改…

    Linux干货 2016-08-04
  • 磁盘管理

    CHS cylinder-head-sector cylinder柱面=track*head=512*63*256=8M  磁盘分区 为什么是分区? • 优化I/O 性能 • 实现磁盘空间配额限制 • 提高修复速度 • 隔离系统和程序 • 安装多个OS • 采用不同文件系统   MBR:使用32位表示扇区数量,按每扇区512字节计算,每个…

    Linux干货 2016-08-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 13:57

    写的很好,排版还可以在漂亮一点,如果来一些例子的话会更好,加油