马哥教育网络21期+第1周博客练习。

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

    自上世纪40年代迄今为止,计算机的整个组织体系都遵循冯诺依曼体系结构。由运算器,控制器,存储器,输入设备和输出设备5大主要部分组成。

        运算器:又称算术逻辑单元,以二进制方式进行运算,主要是算数运算(加、减、乘、除等)和逻辑运算(与、或、非、异或及比较等)。

        控制器:协调整个计算机各部件之间工作的部件,向其它各部件发出控制信号,保证各部件协调一致地工作。

        存储器:计算机记忆或暂存数据的部件。存储数据、信号、命令等。

        输入设备:向计算机输入信息(数据或指令)的设备。重要的人机交互接口,例如:键盘、鼠标等。

        输出设备:将计算机处理后的信息结果输出的设备。例如:显示器,打印机等

    

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

    三大主流发行版:

        Slackware:常见的为利用Slackware二次开发的发行版SUSE;

        Redhat:

            企业版:Redhat Enterprise Linux,由商业公司维护的针对服务的收费版本,每18个月发布一次新版本;

            个人版:Fedora,由Redhat的桌面版发展而来,由社区组织维护的免费发行版,主要用来为企业版测试功能等,每6个月发布一次新版本;

            Centos:Centos为非盈利组织社区针对RHEL的源代码重新编译的免费版本,兼容RHEL格式;

        Debian:或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统;Ubuntu是Debian的二次开发版本,Mint为Ubuntu的二次开发版本;

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

        

        开放自由:

                    可自由获取源代码;

                    可自由学习,自由修改源代码;

                    可自由分发源代码;

                    可自行创建衍生版;

    

        哲学思想:

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

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

                    3、尽量避免跟用户交互;目标:实现脚本编程,以自动完成某些功能;

                    4、使用纯文本文件保存配置信息;目标:一款使用的文本编程器即能完成系统配置工作;

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

    

    语法格式:Command [Options…] [Arguments…]

            Options(选项):用于启动或关闭命令的某个或某些功能;、

                短选项:-l、-h,绝大多数短选项可合并写一起,例如:-lh;

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

            

            Arguments(参数):命令的作用对象,向命令提供数据;

    

    

 (1)、ifconfig作用:查看网络接口配置信息;        

        语法:ifconfig [interface]

            ifconfig interface [aftype] options | address …

    1、查看当前活动的网络接口信息:ifconfig [-a]

[root@CentOS6 ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:0C:29:56:9F:C1  
          inet addr:192.168.31.249  Bcast:192.168.31.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe56:9fc1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:32208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23723 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18666144 (17.8 MiB)  TX bytes:7468309 (7.1 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:387 errors:0 dropped:0 overruns:0 frame:0
          TX packets:387 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:215376 (210.3 KiB)  TX bytes:215376 (210.3 KiB)

        -a选项:显示所有网络接口信息,包括不活动的网络接口;

     2、指定查看某个接口的网路信息:ifconfig interface

[root@CentOS6 ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:56:9F:C1  
          inet addr:192.168.31.249  Bcast:192.168.31.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe56:9fc1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:32251 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23752 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18669704 (17.8 MiB)  TX bytes:7472113 (7.1 MiB)

    3、开启或关闭某个指定接口:ifconfig interface up/down

[root@CentOS6 ~]# ifconfig eth1 up
[root@CentOS6 ~]# ifconfig eth1 down

     4、手动指定IP地址:ifconfig interface address [netmask] [broadcast] 

[root@CentOS6 ~]# ifconfig eth0 192.168.1.1
[root@CentOS6 ~]# ifconfig eth0 192.168.1.11 netmask 255.255.255.0 
[root@CentOS6 ~]# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255

 (2)、echo作用:文本回显;

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

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

[root@CentOS6 ~]# echo "how are you?"
how are you?
[root@CentOS6 ~]# echo -n "how are you?"
how are you?[root@CentOS6 ~]#

    -e:允许使用转译:

                \t:制表符;

                \n:换行

[root@CentOS6 ~]# echo -e "how\tare\tyou?"
how are you?
[root@CentOS6 ~]# echo -e "how\nare\nyou?"
how
are
you?

     ""双引号:弱引用,变量替换

            ''单引号:强引用,变量不替换

[root@CentOS6 ~]# echo "${PATH}"
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@CentOS6 ~]# echo '${PATH}'
${PATH}

 (3)、tty的作用:显示当前连接终端的设备名:

        语法:tty [OPTION]…

        终端设备名:

            物理终端:直接接入本机的物理终端;/dev/console

            虚拟终端:附加在物理终端上以软件虚拟出来终端;/dev/tty#,Centos默认启动6个虚拟终端;

            模拟终端:图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的界面;/dev/pts/#;

 (4)、startx的作用:启动gnome的图形界面;

 (5)、export的作用:显示环境变量或将shell变量设置为环境变量;

           显示环境变量:

[root@CentOS6 ~]# export
declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:11.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
...

        设置环境变量:

[root@CentOS6 ~]# clear
[root@CentOS6 ~]# i="test_export"
[root@CentOS6 ~]# export i
[root@CentOS6 ~]# export
declare -x TERM="xterm"
declare -x USER="root"
declare -x i="test_export"

 (6)、pwd作用:显示当前工作目录,命令运行结果与环境变量$PWD相同:

[root@CentOS6 ~]# pwd
/root
[root@CentOS6 ~]# echo $PWD
/root

 (7)、history作用:查看和管理历史命令

[root@CentOS6 ~]# history
    1  vim /etc/selinux/config 
    2  rpm -q httpd
    3  init 6

    

        管理命令历史;

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

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

        history:

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

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

            -c: 清空命令历史;

        快捷操作:

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

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

            !!: 上一条命令 

        相关环境变量:

                $HISTSIZE:历史命令缓存条目数;默认1000

                $HISTFILE:历史命令记录文件;~/.bash.history

                $HISTFILESIZE:历史命令记录文件记录命令的条目数;默认1000

                $HISTCONTROL:历史命令记录设置:echo $HISTCONTROL

                        ignoredups:忽略重复的命令,连续且相同为“重复”;

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

                        ignoreboth:ignoredups和ignorespace

 (8)、shutdown、poweroff、reboot作用:关机/重启

                    关机:
                        halt, poweroff, shutdown, init 0
                    重启:
                        reboot, shutdown, init 6

                    关机或重启:
                        halt, poweroff
                        reboot
                            -f: 强制,不调用shutdown
                            -p: 切断电源

                        shutdown:
                        shutdown [OPTION]…  TIME [MESSAGE]
                                -r::重启
                                -h:关机

                                -c:取消重启或关机设置

                                 k:仅发送信息关机或重启信息            

                    TIME格式: 
                        now: 立刻
                        +m: 相对时间表示法,从命令提交开始多久之后;例如 +3;
                        hh:mm: 绝对时间表示,指明具体时间;


 (9)、hwclock的作用:硬件时钟; 

        -r:读取当前硬件时钟;

        -s:从硬件时钟写入系统时钟;

        -w:从系统时钟写入硬件时钟;

 (10)、date的作用:系统时钟

   (a)、显示时钟语法:date [OPTION]… [+FORMAT]

                    FORMAT:格式

                        %T:显示时间;13:56:53

                       %D:显示日期;07/10/16

                        %F:显示日期:2016-07-10

[root@CentOS6 ~]# date +%T
13:56:53
[root@CentOS6 ~]# date +%F
2016-07-10
[root@CentOS6 ~]# date +%D
07/10/16

  (b)、设置系统时钟语法:date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

                MMDDhhmm:月日时分年

                [CC]YY:[20]16

                .ss:秒;秒前要加'.'

 

                -s:通过字符串指定格式: 

[root@CentOS6 ~]# date -s 2016-07-10
2016年 07月 10日 星期日 00:00:00 CST

          

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

    (a)、内部命令:help COMMAND

    (b)、外部命令:        

                     (1) # COMMAND –help
                                # COMMAND -h
                     (2) 使用手册(manual)
                                # man COMMAND
                     (3) 信息页
                                # info COMMAND
                     (4) 程序自身的帮助文档;/usr/share/doc
                            README
                            INSTALL
                            ChangeLog

     (c)、man手册页章节

                     通常保存在/usr/share/man
                                man1: 用户命令
                                man2: 系统调用
                                man3: C库调用
                                man4: 设备文件及特殊文件
                                man5: 配置文件格式
                                man6: 游戏
                                man7: 杂项
                                man8: 管理类的命令


                     ###某些命令可能存在于多个章节中,可通过whatis COMMAND或man -f COMMAND查看;


                    手册中的段落说明:

                            NAME
                            SYNOPSIS
                            DESCRIPTION
                            OPTIONS
                            EXAMPLES
                            AUTHOR
                            REPORTING BUGS
                            SEE ALSO

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

Linux命名由LSB(linux标准委员会)制定了FHS(FileSystem Heirache Standard文件系统层级标准)以规范各发行版的根文件系统结构;

    

        /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
        /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
        /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
        /lib:基本共享库文件,以及内核模块文件(/lib/modules);
        /lib64:专用于x86_64系统上的辅助共享库文件存放位置;
        /etc:配置文件目录(纯文本文件);
        /home/USERNAME:普通用户家目录;
        /root:管理员的家目录;
        /media:便携式移动设备挂载点;
                cdrom
                usb
        /mnt:临时文件系统挂载点;
        /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, share

        /var: variable data files
            cache: 应用程序缓存数据目录;
            lib: 应用程序状态信息数据;
            local:专用于为/usr/local下的应用程序存储可变数据;
            lock: 锁文件
            log: 日志目录及文件;
            opt: 专用于为/opt下的应用程序存储可变数据;
            run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
            spool: 应用程序数据池;
            tmp: 保存系统两次重启之间产生的临时数据;

        /proc: 用于输出内核与进程信息相关的虚拟文件系统;                   ###系统调优会用到
        /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
        /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置;

 

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

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

相关推荐

  • five

    1;显示当前系统上root, fedora或user1用户的默认shell。 #   grep "^\(root\|fedora\|user1\)" /etc/passwd #   grep -E "^(root|fedora|u…

    Linux干货 2017-01-16
  • Linux基础知识(1)

    N31
    第一周

    Linux笔记 2018-06-23
  • 马哥教育网络班22期+第六周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; ]# cp -v  /etc/rc.d/rc.sysinit /tmp/    `/etc/rc.d/rc.sysinit' -> `/tmp/rc.sysinit&…

    Linux干货 2016-10-17
  • 我的第一篇博客

        对于一个连日记都懒得写的人来说,写博客博客还真是一个难题。但是为了能让自己有所进步有所提高、更是为了记录自己逐步成长的过程,还是下定决心记录下在接下来的日子里的点点滴滴。当然,这点点滴滴指的是 —— 知识     我想刚学linux的新手眼里除了图形化就只有黑白两种颜色了吧!但是为了提高自己…

    Linux干货 2017-07-15
  • bash脚本编程

    bash脚本编程之用户交互:     脚本参数     用户交互:通过键盘输入数据     read [option]…[name]…     -p: "PROMPT"      -t: TIMEOUT &…

    Linux干货 2017-01-01
  • Ansible_variable

    Ansible变量        系统自动化让重复的工作变得更加容易,但是每个系统还是有一些细微的差别,变量就是如何处理系统之间的不同之处。这里将会列出变量的极大部分使用方法。   本文假设:你已经知道如何使用Ansible。知道inventory,facts等概念。   Ans…

    Linux干货 2015-11-26

评论列表(1条)

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

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