码迷,mamicode.com
首页 > 其他好文 > 详细

第一周课程作业(2016.7.31)

时间:2016-08-08 01:13:01      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:linux;linux基础;linux命令

本周作业内容:


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


   计算机主要由五部分组成:控制器、运算器、存储器、输入设备、输出设备

    1、控制器:计算机的核心,控制计算机如何寻址,数据提取及将控制信号传送到各部件,协调各设备之间如何进行工作。

    2、运算器:实现算术运算和逻辑运算的设备。

    3、存储器:存储程序、数据及各种信号等信息,用来给运算器调用。常用的有硬盘、内存

    4、输入设备:将程序、数据、控制命令等信息输入到计算机。常见的有键盘、鼠标、CD-ROM,磁盘机等

    5、输出设备:跟输入设备刚好相反,把计算机运行结果反馈、显示出来。如显示器、打印机等。

    输入输出设备统称为外部设备,用作人机交换


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

    slackware

        SUSE:主要面向企业用或高级桌面应用的Linux系统,唯一的一家和微软合作的公司,包括在技术以及业务层面的合作,支持很多windows下有的功能、服务,界面美观华丽。非常适用于关键业务的高性能复杂操作,并在桌面化系统上比较占优势。

           SLES:SUSE Linux Enterprise Server

           openSUSE:现在的 SUSE Linux 由 openSUSE 项目所维护,这个项目的主要目标是使 SUSE Linux 成为最易获得和最广泛使用的Linux,成为最棒的用户Linux桌面环境。

    Fedora:Red Hat Linux个人版衍生出来的免费发行版,每6个月发行一个新版本。更多软件,更新的程序包,

    Debian:上游最大的发行版,运行极其稳定,非常适合服务器。不适合新手用户,更适合系统管理员和高级用户。使用apt-get/dpkg包管理方式。Debian分三个分支: stable, testing和unstable

        Ubuntu:基于Debian的unstable版本,面向桌面系统,

        Linux Mint:基于Ubuntu的发行版

    Hedhat:最著名的Linux发行版

        RHEL:RedHat Enterprise Linux,收取服务费

        CentOS:兼容RHEL的格式,社区免费版,代码全部基于RHEL源代码进行重新编译,不提供服务。使用yum来管理软件包。

        FedoraCore:由原来的Redhat个人桌面版发行而来。

    Gentoo:Linux中最年轻的发行版,拥有各发行版的优点,2002年发行。包含众多软件包,每次需要针对每个系统进行编译,安装及使用最困难,但是可作为最佳的学习对象,可以通过它了解Linux操作系统的内部运作原理。可作优化或定制,追求极限的配置、性能。

    FreeBSD:并不是一个发行版,但是FreeBSD与Linux支持的硬件环境比较一致,采用的软件也比较类似,用户也有许多重合。所以可以将FreeBSD视为一个Linux版本

        

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

    1、一切皆文件(包括硬件);

    2、由众多个单一的小程序组成;

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

    4、尽可能避免捕获用户接口,为了方便脚本编程以实现自动化执行;

    5、使用文本文件保存程序的配置数据,使用一个文本编辑器即可完成系统及服务配置工作;

    6、提供机制,而非策略。


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

    ifconfig:configure a network interface,显示、配置网络接口

        ifconfig -a:显示所有接口信息,包括down的网卡(没激活的)

        ifconfig eth0 up:把默认网卡eth0激活(反之,down为禁用)

        ifconfig eth0 192.168.0.1 netmask 255.255.255.0:设置eth0网卡IP和网关

    echo:显示文字

        例如:echo ‘who am i‘输出为who am i        

        [terry@localhost ~]$ echo ‘who am i‘

        who am i


        -n:输出文字后不自动换行

        -e:对字符串中出现的一些字符进行特别处理,例如

          \a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;

    tty:打印显示终端连接名

        [terry@localhost ~]$ tty

        /dev/pts/1

    startx:启用X Window,实际上调用的启动命令是xinit

    export:显示或设置环境变量,仅作用于此会话,临时的修改。

    pwd:print working directory,显示当前工作目录

        [terry@localhost share]$ pwd

        /usr/share

    history:显示命令历史,该历史只有在系统关闭时候才会写入缓存文件.bash_history中,下次开机会从该文件读取历史命令信息。    

        !#:执行命令历史中的第#条命令,例如!2

        !!:执行上一条命令

        !string:执行命令最近一条以string字符开头的命令

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

        先按ESC松开再按.    功能同上

     shutdown:安全关闭或重启系统。

        -f:force,强制执行重启不进行磁盘检测

        -F:重启时进行磁盘检测

        -h:关闭电源

        -r:关闭后重启

        -t:延迟时间重启(shutdown -t 60)

    halt, poweroff, reboot - Halt, power-off or reboot the machine

    halt:调用shutdown -h命令关机,halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

    poweroff:关机。多用户下不建议使用  

    reboot:调用shutdown -r命令进行重启


    另外补充一个命令:init

      init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。


    hwclock:硬件时间

        -s:--hctosys,以硬件时间为准,设置系统时间

        -w:--systohc,以系统时间为准,设置硬件时间

    date:显示或设置系统时间

        date:显示当前系统时间

        date -u:显示UTC时间

        +%H:小时

        +%M:分钟

        +%S:秒

        +%m:月

        +%d:日

        +%y:年份最后两位数字

        +%Y:完整年份

       设置时间命令格式:date [参数]... [+格式]


        # date -s 20160807

        # date -s 12:19:50

       或者

        date -s ‘20160807 12:19:50‘

        date -s ‘2016-08-07 12:19:50‘      


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

    命令的帮助信息:

    1、内部命令(通过type COMMAND得知命令是外置或者内置命令)

        #help COMMAND

    2、外部命令:都有一个可执行程序,位于文件系统某目录下 (which, whereis)

        (1)#COMMAND --help

             #COMMAND -h

        (2)使用手册(manual)

            #man COMMAND

        (3)信息页

            #info COMMAND

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

            README        INSTALL

            ChangeLog

        (5)程序官方文档

            官方站点:Documentation

        (6)发行版的官方文档

        (7)Google


    man分为8个章节:保存在/usr/share/man/ 目录下

        man1:用户命令

        man2:系统调用

        man3:C库调用

        man4:设备文件及特殊文件

        man5:配置文件格式

        man6:游戏

        man7:杂项

        man8:管理类的命令


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


  Liunx文件命名法则:

    1、文件名严格区分大小写

    2、所有文件都位于根目录下,FHS

    3、路径以/作为分隔符

    4、每个文件的名称可使用除/以外的任意字符,单个名称最长不超过255个字符


Linux目录遵守FHS标准,以保证各发行版之间的兼容性。

LSB(Linux Standards Base)


FHS:(FileSystem Heirache Standard):其主要的目录及其功用如下:

   

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

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

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

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

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

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

    /home/USERNAME:普通用户家目录(例如terry用户家目录为/home/terry/)

    /root:管理员家目录(一般情况下不需要用到,因为实际生产中不应该使用管理员登录,避免误操作)

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

        cdrom

        usb

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

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

        b:block device,随机访问

        c:character device,线性访问

    /opt:第三方应用程序的安装位置,一开始是空的。

    /srv:系统上运行服务程序时用到的中间数据。

    /tmp:临时文件,所有用户都有使用权限

    /usr:universal shared,read-only data

        bin:保证系统拥有完整功能而提供的应用程序(对所有用户可用)

        sbin:保证系统拥有完整功能而提供的应用程序(对管理员可用)

        include:Header files included by C programs (C程序的头文件 header files)

        lib:Libraris

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

        local:第三方应用程序的安装位置。用户自己手动安装的而不是包管理软件安装的。

    #除了/boot跟/home以外,都是不能独立分区的。

    /var:variable data files,可变数据文件

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

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

        lock:锁文件

        log:日志目录与文件

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

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

        spool:应用程序数据缓冲池

        tmp:保存系统两次重启产生的临时系统数据文件。

        

    /proc:用于输出内核与进程信息相关的虚拟文件系统,(一切皆文件,进程也当作文件,伪文件)

    /sys:用于输出当前系统上硬件相关信息的虚拟文件系统(也是一个伪文件系统)

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

本文出自 “扬帆起航” 博客,请务必保留此出处http://mystery888.blog.51cto.com/9560453/1835393

第一周课程作业(2016.7.31)

标签:linux;linux基础;linux命令

原文地址:http://mystery888.blog.51cto.com/9560453/1835393

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!