N21—-第一周课程练习题

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

我们现在通常理解为计算机是由硬件系统+软件系统组成的,根据冯·诺依曼体系结构。计算机主要由五大部件组成:

     运算器(Datapath): 计算机中执行各种算术和逻辑运算操作的部件

     控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等

     存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

     输入设备(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

     输出设备(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等

N21----第一周课程练习题

Image.png

各硬件性能与容量的关系图:

2016-05-30_210458.png

N21----第一周课程练习题

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

Redhat系列:适用企业用户,服务需额外收费 每隔18个月发一个新版本。(yum,rpm,DNF(已在fedora上测试))

       衍生版本:

             CentOS:社区发行,兼容Redhat,已被redhat收购(不用害怕)

             Fedora:redhat的社区版本,主要引进新功能测试,可以了解redhat的趋势,每隔6个月发行一版[经常跳票]

Debain系列:社区支持,使用于Linux高级玩家  (apt,dpkg,deb)

      衍生版本:

            Ubuntu:适用桌面,搞linux开发的用的多些,下面非常多的衍生版本,如mint

            Kali: 渗透安全测试用的,BT的替代品

Slackware系列:BSD风格

     衍生版本:

            SUSE: 商业发行版,企业相对用的也挺多的 (zypper,rpm)

                   opensuse:社区版,很漂亮

others:

    Gentoo:是最年轻的发行版本,拥有在她之前所有发行版本的优点,所以说Gentoo是最完美的发行版本之一

    ArchLinux:非常灵活的,滚动更新(pacman)

    LFS:Linux From scratch,自己定做发行版,高级玩家必玩

https://commons.wikimedia.org/wiki/Category:Linux_distro_timeline

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

1、一切皆文件,把几乎所有资源,包括硬件设备都组织为文件格式

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

   组合小程序完成复杂任务;

3、尽量避免跟用户交互;

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

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

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

5、机制策略:提供什么功能为机制,实现什么功能为策略

4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、

poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

命令使用格式:

COMMAND [OPTIONS…] [ARGUMENTS…]

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

                 短选项:-c(一个字符 ),例如:-l,-h

                       多个短选项可以合并使用,例如: ls -lh

                 长选项:–word(一个单词 ),例如:–long –help

        参数:命令的作用对象

                 向命令提供数据:例如 : ls -lh /etc /etc即为参数

        注意:

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

              2、取消命令执行:Ctrl+c

ifconfig

功能:查看网络接口信息和配置网络接口

注意:此命令快要被淘汰,官方推荐ip命令,不信man ifconfig

格式:

   ifconfig [interface]

   ifconfig interface [aftype] options | address …

选项参数:

   ifconfig: 显示所有活动接口信息

   ifconfig -a: 显示所有接口信息(活动与非活动)

   ifconfig up interface: 启动指定网络接口=======》ifup

   ifconfig down interface: 关闭指定网络接口======》ifdown

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

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

实例:

   1、显示激活网络接口

      # ifconfig

      eth0      Link encap:Ethernet  HWaddr 00:16:3E:0E:07:8B

                inet addr:192.168.1.221  Bcast:192.168.1.255  Mask:255.255.255.0

                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

                RX packets:55397380 errors:0 dropped:0 overruns:0 frame:0

               TX packets:27415449 errors:0 dropped:0 overruns:0 carrier:0

               collisions:0 txqueuelen:1000

               RX bytes:3903757467 (3.6 GiB)  TX bytes:2037343194 (1.8 GiB)

   2、配置IP地址,临时性的

      # ifconfig eth0 192.168.1.221 netmask 255.255.255.0

   3、启用和关闭ARP协议

      # ifconfig eth0 arp  启用

      # ifconfig eth0 -arp 关闭

   4、设置最大传输单元

     # ifconfig eth0 mtu 2048  设置能通过的最大数据包大小为 2048 bytes

Image.png

echo

功能:回显

格式:

     echo [SHORT-OPTION]… [STRING]… 短选项

     echo LONG-OPTION  长选项

选项:

      -n: 禁止自动添加换行符

      -e: 允许使用转义符

         \n: 换行

         \t: 制表符

         \b: 删除空格

    echo "$VAR_NAME": 变量会替换,弱引用

    echo '$VAR_NAME': 变量不会替换,强引用

    echo “ : 命令引用

实例:

  1、标准输出

   # echo 123

   123

  2、不换行输出

   # echo -n 123

   123#

  3、-e \n换行输出

   # echo -e "This\nis\ntest_file"

   This

   is

   test_file

tty

功能:显示当前登录终端信息

# tty

/dev/pts/0

Image.png

startx

功能:初始化X会话,纯文本模式切换到图形界面

切换成功的要求:

      tty7并没有其他程序运行,也就是tty7必须是空出来的

      必须已经安装了X window程序,并且X Server是能顺利启动的

      要有桌面环境GNOME或KDE

      启动X窗口所必须的服务

export

功能:用于设置或显示环境变量,只对当前shell生效

格式:

    export [-fn] [name[=value] …] or export -p

选项:

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

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

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

 # export -p

pwd

功能:查看当前工作目录

格式:

     pwd [option]

选项:

    -P:如果当前的工作路径是链接的话,显示链接的原始路径

    -L:与pwd  -P完全相反,显示链接路径

实例:

  # cd /etc/init.d/

  # pwd

  /etc/init.d

  # pwd -P

  /etc/rc.d/init.d


相关:

 PWD与OLDPWD环境变量

 PWD:当前工作目录

 OLDPWD:显示上一次的工作路径

     # echo $OLDPWD

     /etc/init.d

    # echo $PWD

    /etc/rc.d/init.d


history

功能:管理命令历史记录

             登录shell时,会读取命令历史文件中记录下的命令 :~/.bash_history

             登录进shell后新执行的命令只会记录在缓存中 ,这些命令会在用户退出时追加至命令历史文件中

 选项:

          history -d OFFSET: 删除历史中指定的命令

    history -c: 清空命令历史

    history -a: 追加本次会话新执行的命令历史列表至历史文件中

    history #: 显示历史中最近的#条命令

相关文件及环境变量:

    HISTSIZE:命令历史记录的条数

    HISTFILE:~/.bash_history

    HISTFILESIZE: 命令历史文件记录历史的条数

快捷操作:

    !# 调用历史中第 #条命令

          !string 调用历史中最近一个以 string开头的命令

          !! 执行上一条命令

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

       !$

       ESC,.

       Alt+.

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

     环境变量:HISTCONTROL

           ignoredups: 忽略连续重复的命令

           ignorespace: 忽略所有以空白开头的命令

           ignoreboth: 同时包含上面效果

shutdown

功能:关机

   给init程序发送信号

     关机=关闭系统+断电

格式:

   shutdown [OPTION]…  TIME [MESSAGE]

选项:

   -r:reboot

   -h: halt

   -c:cancel 取消关机或重启操作

   -k: 发送警告信息,不会真关机

TIME :

    now: 立刻

    +m: 相对时间表示法,从命令提交开始多久之后,例如 +3

    hh:mm: 绝对时间表示法,指明具体时间

poweroff

功能:断电关机

poweroff是reboot命令软连接,网上说是halt命令软连接

ll /sbin/poweroff

lrwxrwxrwx. 1 root root 6 Jun 25 20:41 /sbin/poweroff -> reboot

不安全的关机方式

reboot

功能:重启

   调用shutdown

格式:

   reboot [option]

     -f: 强制,不调用shutdown

     -p:切断电源

工作中建议使用安全的关机方式。shutdown或者init0

hwclock

功能:显示硬件时钟

选项:

  -s,–hctosys: 以硬件时间为准

  -w,–systohc: 以系统时间为准

date

功能:查看和设置时间日期

date [OPTION]… [+FORMAT]  —-> 显示日期时间

     FORMAT: 格式符号

         %a: 显示星期几,简写的

                [root@www ~]# date +%a

                Tue

         %A: 显示星期几,完全显示

                [root@www ~]# date +%A

                Tuesday

         %Y: 显示四位年份

         %y: 显示两位年份

         %m: 显示月份

         %M: 显示分钟

         %d: 日

         %h: 英文简写的月, Jun

         %H: 显示小时

         %S: 秒

         %s: 现在距离1970年 1月1 号0点 0分(unix 元年)的秒数, timestamp(时间戳)

         %D: 显示日期格式为:月 /日/ 年

         %F: 显示日期格式:年 -月- 日

         %T: 显示时间格式:时 :分: 秒

  date [MMDDhhmm[[CC]YY][.ss]]  —-> 设置日期时间

         MM: 月份

         DD: 几号

         hh: 小时

         mm: 分钟

         YY: 两位年份

         CCYY :四位年份

         .ss: 秒钟

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

如何获取命令帮助信息:

   1、内建命令可以通过help COMMAND

   2、外部命令可以通过man手册获取帮助,COMMAND –help

man命令的分段机制:

     1-8:

        1:用户命令

        2:系统调用

        3:库调用

        4:设备文件

        5:文件格式

        6:游戏

        7:杂项

        8:管理命令

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

Linux文件系统 <逻辑视图>

    根文件系统(rootfs):

        root filesystem

    LSB,FHS:(FileSystem Heirache Standard)


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

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

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

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

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

        /etc: 配置文件目录(纯文本文件).

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

        /root: 管理员的家目录(有些发行版管理员是没有家目录的,因为不使用管理员登录,权限太大,风险太大,使用su,sudo).

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

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

            cdrom

            usb

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

            b: block device   块设备,可随机访问

            c: character device 字符设备,线性访问,有时间先后

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

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

        /tmp: 临时文件存储位置

        /usr: universal shared,read-only data;

            bin: 保证系统拥有完整功能而提供的应用程序

            sbin:

            lib:

            lib64:

            include: C程序的头文件(header files).

            share: 结构化独立数据,例如doc,man等

            local: 第三方应用程序安装位置.

                bin,sbin,lib,lib64,etc

        /var: variable data files

            cache: 应用程序缓存数据目录

            lib: 应用程序状态信息数据

            local: 专用于为/usr/local下的应用程序存储可变数据

            lock: 锁文件

            log: 日志目录及文件

            opt: 专用于为/opt下的应用程序存储可变数据

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

            spool: 应用程序数据池

            tmp: 保存系统重启

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

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

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

具体参考FHS文档

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

(0)
N21_LorneN21_Lorne
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • 自制一个小型Linux(附带网络功能)

      我们这次讲述一下Linux启动的启动流程以及制作一个附带网络功能的mini linux 一、叙述 二、为什么要制作这么一个小型的系统 三、怎么制作 1、制作步骤 2、将虚拟机添加网络功能 一、叙述   在制作一个小型的Linux之前,首先你得明白Linux系统的启动过程,我们用一张图来进行说明  二、为什…

    Linux干货 2016-12-21
  • 第三周作业

    查看链接:http://note.youdao.com/noteshare?id=9b1aa0906b0918cc5cb557aa348e82da

    Linux干货 2016-09-19
  • shell– 脚本编程

    编程基础 脚本基本格式 变量 运算 条件测试 流程控制 函数 数组 高级字符串操作 高级变量 配置用户环境 编程基础 程序:指令+数据 程序编程风格:     过程式:以指令为中心,数据服务于指令     对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释…

    Linux干货 2016-08-21
  • linux用户和组的配置文件

    1./etc/passwd:用户及其属性信息(用户名,密码,uid,gid,gecos注释性描述信息,家目录,登录shell)在/etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。这个文件对所有用户都是可读的。      …

    2017-07-22
  • iptables练习

    iptables练习 一、COMMAND 1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT 详细信息:iptables -vnL 2、清楚所有链的规则 :iptables -F 3、设置默认规则策略:iptables -P INPUT DROP,iptables -P OUTPUT DROP , ipta…

    Linux干货 2016-12-20
  • Awk 高级应用

                              Awk 简介   Awk 是一种变成语言,用于在Linux/UNIX下对文本和数据进行扫描与处理,数据可以来自标准输入,文件 ,管道。Awk分别代表其作者的姓…

    2017-07-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 14:48

    写的很好,排版还可以在漂亮一点,加油