第一周作业

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

  • 由冯~诺伊曼提出计算机体系结构,计算机主要由控制器、运算器、存储器、输入设备、输出设备五大硬件组成。

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

    • 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。

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

    • 输入设备(Input Device):下指令,提供数据等。

    • 输出设备(Output Device):输出运算后各类数据的结果。

  • 软件:

    • 计算机软件分为系统软件和应用软件,如果把计算机比喻为一个人的话,那么硬件就表示人的身躯。而软件则表示人的思想、灵魂。一台没有安装任何软件的计算机我们把它称之为“裸机”。

    • 系统软件:顾明思议就是操作系统,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。

    • 应用软件:可以让用户在计算机上开发软件,使用软件。可以拓宽计算机系统的应用领域,放大硬件的功能。(如Word、Excel、QQ等都属于应用软件)

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

  • 发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。已经有超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个

    • Fedora Core是众多 Linux 发行版之一。它是一套从Red Hat Linux发展出来的免费Linux系统。Fedora Core 的前身就是Red Hat Linux。Fedora是一个开放的、创新的、前瞻性的操作系统和平台,基于Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 是一个独立的操作系统,是Linux的一个发行版,可运行的体系结构包括 x86(即i386-i686), x86_64 和 PowerPC。

    • Debian Project诞生于1993年8月13日,它的目标是提供一个稳定容错的Linux版本。支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。

    • Ubuntu是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和unity桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    • Linux Mint是一份基于Ubuntu的发行版,其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件。它与Ubuntu软件仓库兼容。Linux Mint 是一个为pc和X86电脑设计的操作系统。
    • Red Hat Linux可能这是最著名的Linux版本了,Red Hat Linux已经创造了自己的品牌,越来越多的人听说过它。Red Hat Linux是公共环境中表现上佳的服务器。它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的Linux也使用最新的内核,还拥有大多数人都需要使用的主体软件包。
    • CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件,CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。
    • SuSE:总部设在德国的SuSE AG在商界已经奋斗了8年多,它一直致力于创建一个连接数据库的最佳Linux版本。为了实现这一目的,SuSE与Oracle 和IBM合作,以使他们的产品能稳定地工作。
    • Gentoo是Linux世界3最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——Portage包管理系统
    • Arch Linux是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。

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

  • Linux哲学思想之一:

    • 一切皆文件:把所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口等:open(),read(),write(),close(),delete(),create()。

    • 表现之一:硬件设备通过文件表示

    • 物理终端:/dev/console

    • 虚拟终端:/dev/tty#[1-6]

    • 串行终端:/dev/ttys#

    • 伪终端:/dev/pts/#

  • 由众多功能单一的程序组成:一个程序只做一件事情,并且做的组合小程序完成复杂任务。

  • 尽量避免跟用户交互:

    • 目标:易于以编程的方式实现自动化任务
  • 使用文本文件保存配置信息。

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

  • ifconfig:查看网卡的IP地址

    • 语法:ifconfig [option] [interface]
    • -a:显示当前可用的所有接口,即便处于关闭状态。
    • -s:显示部分信息
    • -v:更为详细的某些错误条件

      [root@localhost ~]# ifconfig
      
      ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      
      inet 192.168.31.2  netmask 255.255.255.0  broadcast 192.168.31.255
      
      inet6 fe80::6c7b:15ce:ebfb:3256  prefixlen 64  scopeid 0x20<link>
      
      ether 00:0c:29:5c:a9:76  txqueuelen 1000  (Ethernet)
      
      RX packets 9846  bytes 746205 (728.7 KiB)
      
      RX errors 0  dropped 0  overruns 0  frame 0
      
      TX packets 8779  bytes 9822741 (9.3 MiB)
      
      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • echo:回显

    • 语法:echo [SHORT-OPTION]… [STRING]…

    • -n:不进行换行

    • -e:让转义符生效

    • \n:换行

    • \t:制表符

    • 查看当前使用的Shell。

      [root@localhost ~]# echo "${SHELL}"
      
      /bin/bash
    • 查看环境变量

      [root@localhost ~]# echo "${PATH}"
      
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    • tty:查看终端设备

      语法:tty [OPTION]...
      [root@localhost ~]# tty
      /dev/pts/0
    • startx:用于启动图形化界面。

    • export:设置或显示环境变量。

    • pwd:显示当前工作目录

    • history:查看在命令行中执行了哪些命令

      语法:history [-c] [-d 偏移量] [n
      
      -c: 清空命令历史;
      
      -d offset:删除指定命令历史
      
      -r: 从文件读取命令历史至历史列表中;
      
      -w:把历史列表中的命令追加至历史文件中;
      
      history #:显示最近的#条命令;
      
      [root@localhost ~]# history -c
      
      [root@localhost ~]# history
      
      1  history
  • shutdown:关机、重启操作

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

      -h: halt  #关机
      
      -r:reboot #重启
      
      -c:cancel #取消shutdwon命令的操作
      
      9、poweroff:关机
      
      10、reboot:重启
      
      11、hwclock:查看修改硬件时间
      
      -s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;
      
      -w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同
  • date:查看修改系统时间

    • 显示日期时间:date [OPTION]… [+FORMAT]

      FORMAT:格式符
      [root@localhost ~]# date #显示系统时间
      2017年 02月 07日 星期二 10:05:26 CST
      
      [root@localhost ~]# date +%F #显示年月日
      2017-02-07
      
      [root@localhost ~]# date +%T #显示时分秒
      10:01:48
      
      [root@localhost ~]# date +%Y #显示年
      2017
      
      [root@localhost ~]# date +%m #显示月
      02
      
      [root@localhost ~]# date +%d #显示天
      
      07
      
      [root@localhost ~]# date +%H #显示小时
      10
      
      [root@localhost ~]# date +%M #显示分钟
      03
      
      [root@localhost ~]# date +%S #显示秒
      
      17
      
      [root@localhost ~]# date +%s
      1486433001 
      # 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数

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

  • 命令分为两类:

    • 由Shell程序的自带的命令:内置命令(builtin)。

      • 查看命令类型:Type COMMAND

        [root@localhost ~]# type cd
          cd 是 shell 内嵌
    • 获取命令的使用帮助:

      • 内部命令:help COMMAND

      • 外部命令:

        命令自带简要格式的使用帮助
         COMMAND --help
        
         使用手册:manual
         位置:/usr/share/man
         语法:man COMMAND 
         #当你使用man命令时,会有解释性标题,这些标题对应下面的解释。
             SECTION:功能性说
        
             SYNOPSIS:语法格式
        
             OPTIONS:选项
        
             EXAMPLES:使用示例
        
             AUTHOR:作者
        
             BUGS:报告程序BUG的方式
        
             SEE ALSO:作者
        
             SYNOPSIS:               
                 []:可选内容                    
                 <>:必须提供的内容                    
                 A|b|c:多选一                 
                 ...:同类的内容可出现多个
        
             使用手册:压缩格式的文件,有章节之分:
                 位置:/usr/share/man
                 man1,man2...
                 man1.用户命令:                    
                 man2.系统调用            
                 3.C库调用            
                 4.设备文件及特殊文件                    
                 5.文件格式:(配置文件格式)                    
                 6.游戏使用帮助
                 7.杂项                   
                 8.管理工具及守护进行

~]# man CHAPTER COMMAND 注意:并非每个COMMAND在所有章节下都有手册; 查看: ~]# whatis COMMAND 注意:其执行过程是查询数据库进行的; 手动更新数据库: ~]# makewhatis

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

翻屏:

            空格键:向文件尾翻一屏;
            b: 向文件首部翻一屏;
            Ctrl+d:向文件尾部翻半屏;
            Ctrl+u:向文件首部翻半屏;
            回车键:向文件尾部翻一行;
            k: 向文件首部翻一行;
            G:跳转至最后一行;
            #G: 跳转至指定行;
            1G:跳转至文件首部;

        文本搜索:
            /keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
            ?keyword:从文件尾部向文件首部依次查找;
            n: 与查找命令方向相同;
            N: 与查找命令方向相反;
         退出:
            ~]#q: quit
         选项:
            -M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之;

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

  • linux文件系统:

    • 文件名名称严格区分字符大小写
    • 文件可以使用除/以外任意字符
    • 文件名长度不能超过255字符
    • 以.开关的文件为隐藏文件

      • .:当前目录
      • ..:当前目录的上一级目录
    • /bin -> usr/bin:所有用户可用的基本命令程序文件

    • /sbin -> usr/sbin:供系统管理使用的工具程序
    • /boot:引导加载器必须用到的各静态文件:kernel,initramfs(initrd),grub等
    • /dev:存储特殊文件或设备文件
    • 设备文件有两种:字符设备(线性设备)、块设备(随机设备)
    • /etc:系统程序的配置文件,只能为静态
    • /home:普通用户的家目录,一般用用户名的名称作为家目录的名称,例:/home/bob
    • /lib -> usr/lib:为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块。
    • libc.so.*:动态链接的C库;
    • ld*:运行时链接器/加载器;
    • modules:用于存储内核模块的目录
    • /lib64 -> usr/lib64:64位系统特有的存放64位共享库的路径
    • /media:便携式设备的挂载点,如cdrom,floppy等
    • /mnt:其他文件系统的临时挂载点
    • /opt:附加应用程序的安装位置;可选路径
    • /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
    • /root:管理员家目录
    • /run:系统运行时需要的, 不能随便删除. 但是重启的时候应该抛弃. 下次系统运行时重新生成.
      • /srv:当前主机为服务提供的数据
    • /sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;
    • /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限
    • /usr:usr Hierarchy,全局共享的只读数据路径;

      • bin, sbin
      • lib, lib64
      • include:C程序头文件;
      • share:命令手册页和自带文档等架构特有的文件的存储位置
      • local:另一个层级目录;
      • X11R6:X-Window程序的安装位置
      • src:程序源码文件的存储位置
    • /usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
    • /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

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

(0)
anhui-binbinanhui-binbin
上一篇 2017-02-07
下一篇 2017-02-07

相关推荐

  • LVS小记

    19.LVS小记    LVS的类型:        nat:是一种基于IP的DNAT的,通过目标端口与目标地址利用特定的算法选取出响就的主机进行响应,通过RS(Real Server)的地址和端口进行转发            特点:&n…

    2017-05-15
  • 博客作业网络班22期+第4周(8.29-9.4)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 #  ls /home/tuser1 || mkdir /home/tuser1 && cp -R /etc/skel/*  /home/tuser1 && ch…

    Linux干货 2016-09-07
  • N22-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel /home/tuser1 # chmod 700 /home/tuser1 2、编辑/etc/group文件,添加组h…

    Linux干货 2016-09-06
  • 走入系统命令

    一、inode节点号         在linux中,每一个文件都有唯一的inode号,inode号也是系统识别的唯一编码,而文件名仅仅是为了使用者区分辨认, inode (index node )表中包含文件系统所有文件列表 一个节点(索引节点)是在一个表项,包含有关…

    2017-05-25
  • httpd配置

    httpd配置 修改监听的IP和端口(port) 持久连接 MPM DSO(Dynamic Shared Object) main server的文档页面路径 站点访问控制 定义站点主页面 定义路径别名 设定默认字符集 日志 基于用户的访问控制 虚拟主机 httpd状态页面 使用压缩模块mod_daflate优化速度 基于IP 为每个虚拟主机至少准备一个IP…

    Linux干货 2016-12-21

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-26 15:29

    很详细的整理记录。一开始打下坚实的基础,会让以后的学习更加顺利,加油。