1.计算机的组成部分及作用  

    现代计算机主要由运算器,控制器,存储器,输入设备,输出设备五大核心部件组成。运算器主要用于做算术运算,逻辑运算等各种运算;控制器协调计算机各部件之间的协调工作,如控制总线的使用权限,完成寻址,对内存数据的访问,以及向内存写入运算结果等。存储器:编址存储设备,存储指令和数据的设备,RAM。输入设备:向计算机输入数据的设备如键盘,硬盘等。输出设备:显示计算结果的设备,如显示器,打印机,投影仪等。

2.Linux发行版,及各版本的区别和联系。

    芬兰赫尔辛基大学的linus根据其导师Andrew所写的minix重新编写了一个kernel,并遵循与GPL开源协议,于1991年发布在网上,当时的计算机管理员就给其命名为linux。GUN正缺乏这样一个kernel,看到Linux如获至宝,全球的黑客级人物都投入大量心血完善此系统,Linux得到了快速的发展,从而出现了大量的发行版包括:slackware,suse,opensuse,debian,ubuntu,rhel,fedora,centos,gentoo,archlinux,LFS等。

    slacklware于1993年德国的一家公司发出的GNU/Linux系统,他们坚持KISS(keep it simple stupid)原则,旗下比较著名的分支发行版S.u.S.e,德国 SuSE Linux AG公司于1994年发行并维护,后背Novell公司收购变为sles企业版和opensuse开源版。

    debian1993年出现互联网黑客自发维护的版本,其包管理器为dpt,其最著名的二次发行版ubuntu,还有根据Ubuntu的三次发行版mint。

    redhat于1994年出现,RHEL为redhat的企业版,每隔18个月发行一个新版本,其个人版捐赠给fedora组织,变为fedora,主要为测试各种新发布的软件,其发布周期为6个月。CentOS为RHEL的重编译版,去除了redhat版权相关的信息以及闭源包,完全兼容RHEL。他们的包管理器都是rpm。

   archlinux是一款使用简单,系统轻量,软件更新速度快的GNU/Linux。

    Gentoo是只提供最基本的,含有所需工具的Linux系统环境,用户需自己安装所需的软件并配置。

    LFS并不是一个Linux系统,他只是一份说明书,教你一步一步编译自己的Linux系统。

3.Linux哲学思想

            Linux哲学思想之一:一切皆文件。在Linux中几乎把所有的资源包括硬件设备(终端,网卡,I/O设备等)有以文件的形式保存在系统中。

            Linux哲学思想之二:组合小程序,完成复杂任务。例如:把/etc/passwd文件的前6行的信息转换为大写字符后输出:head -n 6 /etc/passwd | tr 'a-z' 'A-Z'

      Linux哲学思想之三:尽量避免跟用户交互。使用脚本编程,以自动完成某些功能,如目前火热的自动化运维。

      Linux哲学思想之四:使用存文本文件保存配置信息。可以通过使用文本编辑器来修改配置信息,如nano,vi,vim等

 4.Linux命令使用格式:命令的通用格式:COMMAND(命令) [OPTIONS(选项)...] [ARGUMENTS(参数)...]

    ifconfig 查看,配置,启用,禁用网络接口,此命令在centos7中已经被放弃使用;使用格式为:ifconfig [设备名] [ARGUMENTS...]

        ifconfig后不加任何选项,表示查看当前接口信息(后加-a:查看所有接口的信息,-eth0:查看指定接口的信息)。 

[root@yang ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:CC:9C:50  
          inet addr:192.168.0.188  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fecc:9c50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5126525 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3846 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:313025873 (298.5 MiB)  TX bytes:730561 (713.4 KiB)

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:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

        修改设备IP地址,子网,广播地址,注意此只能临时修改,在接口down掉再up时或者系统重启后将恢复之前的配置。

    

[root@yang ~]# ifconfig eth0 192.168.0.220 netmask 255.255.255.0 boradcast 192.168.0.255 up

由于是虚拟机使用xhell已断开连接,结果如下截图。

Linux第一周学习 总结!_man

    up或者down网卡设备,结果如下图

Linux第一周学习 总结!_man_02

  echo命令:回显,Write arguments to the standard output(将写入的参数发送到标准输出设备上).

        语法格式为:echo [OPTIONS...] [ARGUMENTS]...

            -n 不在最后自动换行

            -e 使用转义字符

                \b 删除欠一个字符

                \n 转义处换行

                \t 制表符    

[root@yang ~]# echo $OLDPWD
/etc/sysconfig/network-scripts
[root@yang ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  tty:打印与标准输入连接的终端名称   

[root@yang ~]# tty
/dev/pts/0

   startx:启动GUI。

   export:修改环境变量的值。

        export 变量="new_value";变量赋值:把赋值符号右边的只赋予变量名所指向的内存空间。

            例如修改命令历史记录方式:

[root@yang ~]# export HISTCONTROL="ignorespace"
[root@yang ~]# echo $HISTCONTROL
ignorespace

 pwd:显示当前工作目录。

  history 记录命令历史,bash的内置命令。登陆shell时会读取命令历史文件HISTFILE(路径:~/.bash_history)中的命令, 登陆进shell后使用的命令存储在命令历史中,在退出shell是append到HISTFILE中。这里面涉及到了几个环境变量:HISTSIZE 命令历史记录命令的条数,默认1000条;HISTFILESIZE 命令历史文件所能记录的条数,默认1000条;HISTCONTROL 控制命令历史的记录方式,有三个值可选ignoredups(忽略重复的命令,连续且相同为“重复”),ignorespace(忽略空格开头的命令),ignoreboth(包含前两者)。

        history # 显示最近使用过的# 条命令

          history -c 情空当前shell中历史

          history -d # 删除编号为#的命令

          history -a 将命令历史新增的命令追加到历史文件中

        调用命令历史:!# 重复调用第#条命令

                      !! 上一条命令

                      !string 调用最近一条以string打头的命令

        调用上条命令最右侧的参数:!$、按下ESC松开按.、Alt+.

  shutdown关机或重启语法格式为:shutdown [OPTION] TIME [MESSAGE]

       options:-h  关闭电源

            -r 重启

            -c 取消上次shutdown命令

      time:  +m 多少分钟后执行

              now 立即执行

            hh:mm于具体的时间点执行

      message: 执行此命令时默认想所有用户发出警告,也可自行编辑。

[root@localhost ~]# shutdown -h +10

Broadcast message from root@localhost
(/dev/pts/0) at 0:58 ...

The system is going down for halt in 10 minutes!  #MESSAGE

  poweroff:关机命令,通过调用shutdown -p,先关闭系统,最后再关闭电源。

   reboot:重启命令,通过调用shutdown -r,实现。

   date:日期和时间的显示和设置。

    显示时间语法格式:date [OPTION]... [+FORMAT]

     OPTION 

        -s 设置时间

      FORMAT:格式化输出

        %D 按%m/%d/%y显示

[root@localhost ~]# date +%D
08/03/16


        %F 按%Y-%m-%d显示

[root@localhost ~]# date +%F
2016-08-03

        %T 按%H:%M:%S显示

[root@localhost ~]# date +%T
01:28:41

    设置时间date  [MMDDhhmm[[CC]YY][.ss]]

        MM:月份

        DD:几号

        hh:小时

        mm:分钟

        YY两位年份

        CCYY:四位年份

        .ss:秒钟

[root@localhost ~]# date 08062144.50
Sat Aug  6 21:44:50 CST 2016

     
  hwclock 硬件时钟,显示硬件时钟

    hwclock -s 将硬件时钟同步到系统时钟

    hwclock -w 将系统时钟同步到硬件时钟

[root@localhost ~]# hwclock
Sun 07 Aug 2016 05:53:34 AM CST  -1.174447 seconds
[root@localhost ~]# hwclock -w
[root@localhost ~]# hwclock
Sat 06 Aug 2016 09:55:17 PM CST  -0.860810 seconds

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

           Linux获取帮助有以下几个方法:

               内部命令:help COMMAND

                外部命令:

                        1.COMMAND  --help

                            COMMAND -h

                        2.man命令:man COMMAND

                                man手册主要存放在/usr/share/man,    其下有man1,man2,man3,man4,man5,man6,man7,man8...

           各章节划分如下:   

            man1:用户命令(普通命令)

            man2:系统调用

            man3 :库调用

            man4:设备文件及特殊文件

            man5:配置文件格式

            man6:游戏

            man7:杂项

            man8:管理类命令

    

        man命令的配置文件:/etc/man.config

        MANPATH /PATH/TO/SOMEWHERE:指明新的手册文件搜索位置

        man -M /PATH/TO/SOMEWHERE:到指定位置下搜索COMMAND命令的手册页并显示。

     3.info COMMAND

     

     4.程序自身的帮助文档

    /usr/share/doc/COMMAND-VERSION

     5.程序官方文档

     6.发行版的官方文档

    http://www.redhat.com/docs

     7.GOOGLE

    8.slideshare.com


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

    

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

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

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

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

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

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

    /home/USERNAME 普通用户的家目录

    /root 管理员的家目录

    /media 挂载便携式设备(U盘,光盘。。。)

        cdrom

        usb

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

    /dev 特殊文件或设备文件存放的位置

        b: block device 随机访问

        c:character device 线性访问

    /opt 第三方应用程序安装位置,一般不用

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

    /tmp 临时文件

    /usr:unlversal shared ,read-only data

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

        sbin:管理员使用

        lib:

        lib64

        include C程序的头文件(header files),一般都以.h结尾。

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

        local:本地层级结构,取代早起opt,第三方应用程序的安装位置,可以关联至一个完全独立的分区下

            bin,sbin,lib,lib64,etc,share

    /var var层级结构,通常可以关联至一个独立分区,主要用于存放经常发生变化的数据文件。variable data files

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

        lib:可变状态数据

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

        lock:锁文件

        log:日志目录及文件

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

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

        spool:应用程序数据池;

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

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

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