第一周作业

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

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

    • 控制器(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

相关推荐

  • RPM和YUM的使用说明

    一、RPM包管理程序 centos系统上使用rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护 RPM包安装选项:   –test:测试安装,但不真正执行安装   –nodeps:忽略依赖关系   –nosignature:不检查来源合法性   –nodig…

    Linux干货 2016-08-24
  • Linux上文件管理命令、元素据及时间戳、bash的工作特性回显和命令展开、定义别名,命令引用。

    文件管理命令: mkdir 创建空目录 语法: mkdir [选项]…目录… 选项: -P:逐层创建目录。 -v:显示过程。 -m:直接给定权限。 注意:路径的基名为命令作用对象。基名路径必须存在。 示例 创建/tmp/x1/a/a1和/tmp/x1/b rmdir 移除空目录 语法 rmdir [选项]…目录&#8230…

    Linux干货 2017-12-10
  • 架构师第一天之:Nginx

    nginx: 诞生背景: prefork机制不能支持过大的并发请求, C10K问题的解决 官方站点: http://nginx.org 二次开发版: tengine,openresty 特性: 模块化设计,较好的拓展性 高可靠性:master/worker架构 支持热部署:不停机更新配置文件,更换日至文件,更新服务器版本 低内存消耗:10000个keep-a…

    Linux干货 2016-10-29
  • 加密·解密·PKI详解及如何创建私有CA

    加密解密技术基础: 安全的目标:   保密性:confidentiality 确保通信信息不被任何无关的人看到 完整性:integrity 实现通信双方的报文不会产生信息丢失 数据完整性 系统完整性 可用性:availability 通信任何一方产生的信息应当对授权实体可用 攻击类型:   威胁保密性的攻击:窃听、通信…

    2017-05-30
  • sed基本用法详解

    一、sed介绍:        sed是非交互式的编辑器,同时又是面向字符流的,一次处理一行文本。当前输入的行被缓存至一个被称为模式空间(pattern space)的内存空间中,与给定的模式进行比对,若不匹配,则将内容输出至屏幕,之后读取第二行;若匹配,则执行编辑命令,命令执行完成后,将模式空间中…

    Linux干货 2016-08-10
  • 细数Linux发行版

    什么是Linux 广义上讲:Linux内核+应用程序狭义上讲:Linux内核  > Linux内核指的是我们通常所说的Kernel,主要用于负责系统调用、进程管理、内存管理、文件系统管理等功能。  应用程序指的是由GNU组织提供的开源的、通用的应用程序,如gcc、glibc、vi等。 我们平常所说的Linux,通常指广义层面上的Li…

    Linux干货 2017-08-30

评论列表(1条)

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

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