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

linux主流发行版本主要有

slackware系列:主要代表有S.u.S.E,openSUSE

    openSUSE:根据使用者的不同,可选择适用于各自的版本。

debian系列:主要衍生分支ubuntu,mint

    ubuntu:在国内名气较大,使用广泛,其突出特点使用简单,容易上手。可为装完就能用

    mint:基于ubuntu,显著特点安装时可选择桌面环境后,即可使用,简单,方便易用

redhat系列:主要代表rehl,CentOS,fedora

    rehl:企业级应用

    CentOS:社区企业操作系统

    fedora:显著特点,前卫,REHL和CentOS新版本基于fedora

ArchLinux:一个独立的开放源代码的发行版,采用滚动发布模式,执行定期系统更新,即可获得新的软件,适用于有一定linux基础的用户使用

Gentoo:可定制性强,入手门槛高。


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

linux命令使用格式:

     COMMAND [OPTIONS...] [ARGUMENTS...]

     OPTIONS: 用于启用或关闭命令的某个或某些功能。支持短线选:-c;长选项:--word

     ARGUMENTS:命令的作用对象,想命令提供数据;

    

ifconfig 用来配置或查看内核网络接口信息,常用格式如下

    ifconfig [interface] 或者 ifconfig interface [aftype] options | address ...

        不带参数,显示当前活动接口的状态信息。

        interface,查看特定接口的状态信息。


示例一、 ifconfig eth0用来显示eth0的接口信息

[root@localhost ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:85:D2:7C  
          inet addr:172.16.100.100  Bcast:172.16.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3348399 errors:0 dropped:0 overruns:0 frame:0
          TX packets:291966 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:299850859 (285.9 MiB)  TX bytes:43890237 (41.8 MiB)

echo 回显命令

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

    -e:允许使用转义符

        \n:换行

        \t:制表符


示例一:输出hello world 使用-n不换行

[root@localhost ~]# echo -n hello world
hello world[root@localhost ~]#

示例二:使用-e和\t,在hello和world之间插入一个制表符 

[root@localhost ~]# echo -e "hello\tworld"
hello   world
[root@localhost ~]#


tty 查看当前终端设备

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


startx 在虚拟终端下启用图形界面


export 变量的声明和赋值,并在之后的子进程同样生效

    export name=VALUE 

示例一、对变量name赋值为tom

[root@localhost ~]# export name=tom
[root@localhost ~]# echo $name
tom
[root@localhost ~]# bash
[root@localhost ~]# echo $name
tom


pwd 显示当前目录

示例:

[root@localhost sysconfig]# pwd
/etc/sysconfig


history 命令历史

    -d OFFSET:删除第OFFSET条命令

    -c:清楚历史命令

    #:显示历史中最近的#条命令

    -a:手动追加当前会话缓冲区的命令历史至历史文件中
示例一,显示最近的3条命令

[root@localhost sysconfig]# history 3
 1014  pwd
 1015  bash
 1016  history 3


shutdown,poweroff,reboot

    shutdown 以一种安全的方式关闭系统,所有登入的用户都将得到通知,并且在TIME到达前的5分钟内新用户将被阻止登入。

    shutdown [OPTION]... TIME [MESSAGE]

        -r:reboot

        -h:halted或者powered off

        -H:halted

        -P:powered off

        -c:取消shutdown

        -k:只是发送警告信息和拒绝新用户登入。并不关闭系统。

        

        TIME

            now:立刻

            +m:从命令提交开始,过多久之后,如+5

            hh:mm:指明具体时间

    

    poweroff用来关闭计算机并切断电源。是reboot的一个软连接

    reboot 重启

        -f,--force:强制关闭系统

        -p,--poweroff:调用halt命令


hwclock,date

    hwclock 查询和设置硬件时钟

        -r:读取硬件时钟信息

        --set:设置硬件时钟

        -s:硬件时钟同步系统时间

        -w:系统时间同步硬件时钟

    date [OPTION]... [+FORMAT] 显示系统时间

        FORMAT:格式符号

            %D

            %F

            %T

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

示例:

[root@localhost sysconfig]# date
Sat Dec 10 17:06:37 CST 2016
[root@localhost sysconfig]# date +%D
12/10/16
[root@localhost sysconfig]# date +%T
17:05:51



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

linux系统命令分为内部命令和外部命令

    内部命令:可以用help COMMAND查看

    外部命令:可以通过以下方式

        (1)#COMMAND -h|--help

        (2)使用手册(manual) #man COMMAND

        (3)#info COMMAND

man文档手册说明

    NAME:命令的解释

    SYSOPSIS:命令的语法和格式

    DESCRIPTION:命令的描述

    OPTIONS:命令支持的选项说明

    EXAMPLES:命令的示例

    AUTHOR:命令的提供者

    REPORTING BUGS:报告命令bug的链接地址

    SEE ALSO:可参见的相关命令

        

4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

linux常用的文件管理类命令主要有:cp,mv,rm

    复制命令:cp

        cp [OPTION]... [-T] SOURCE DEST

        cp [OPTION]... SOURCE... DIRECTORY

        cp [OPTION]... -t DIRECTORY SOURCE...

    cp SRC DEST

        SRC是文件:

            如果目标不存在,新建DEST,并将SRC中内容填充至DEST中;

            如果目标存在:

                如果DEST是文件:将SRC中的内容覆盖至DEST中,可以使用-i选项

                如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

        SRC是目录:

            此时使用选项:-r

                如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中; 

            如果DEST存在:

                如果DEST是文件:将提示错误

                如果DEST是目录:将复制SRC至DEST中。

 cp SRC... DEST

            SRC...:多个文件

                DEST必须存在,且为目录,其他情形均会出错

    常用选项:

            -i:交互式

            -r,-R:递归复制目录及内部的所有内容;

            -a:归档,相当于-dR --preserv=all

            -f:--force  

示例一、复制/etc/passwd至/tmp/tom/passwd2,第一次执行passwd2不存在,第二次执行passwd2已存在

[root@localhost tom]# cp -i /etc/passwd /tmp/tom/passwd2
[root@localhost tom]# cp -i /etc/passwd /tmp/tom/passwd2 
cp: overwrite `/tmp/tom/passwd2'? y
[root@localhost tom]# 
[root@localhost etc]# cd /tmp/tom
[root@localhost tom]# ll
total 4
-rw-r--r-- 1 root root 1905 Dec 10 17:54 passwd2

示例二、复制/etc/fstab 至/tmp/tom目录下

[root@localhost tmp]# cp /etc/fstab /tmp/tom
[root@localhost tmp]# cd tom
[root@localhost tom]# ll
total 4
-rw-r--r-- 1 root root 779 Dec 10 17:50 fstab

示例三、复制/etc/httpd/conf.d目录下文件至/tmp/tom/目录下

[root@localhost tom]# cp -r /etc/httpd/conf.d/ /tmp/tom/
[root@localhost tom]# ll
total 12
drwxr-xr-x 2 root root 4096 Dec 10 18:02 conf.d
-rw-r--r-- 1 root root  779 Dec 10 17:50 fstab
-rw-r--r-- 1 root root 1905 Dec 10 17:56 passwd2
[root@localhost tom]#

示例四、复制 /etc/host和/etc/issue至/tmp/tom/目录下  

[root@localhost etc]# cp hosts issue /tmp/tom/
[root@localhost tom]# ll
total 20
drwxr-xr-x 2 root root 4096 Dec 10 18:02 conf.d
-rw-r--r-- 1 root root  779 Dec 10 17:50 fstab
-rw-r--r-- 1 root root  158 Dec 10 18:22 hosts
-rw-r--r-- 1 root root   47 Dec 10 18:22 issue
-rw-r--r-- 1 root root 1905 Dec 10 17:56 passwd2
[root@localhost tom]#


mv:move,移动文件

        mv [OPTION]... [-T] SOURCE DEST

        mv [OPTION]... SOURCE... DIRECTORY

        mv [OPTION]... -t DIRECTORY SOURCE...

        SOUCE不能是目录

        常用选项: 

                -i:交互式

                -f:强制

示例一、移动/tmp/tom/passwd2文件至/tmp/hallen目录下

[root@localhost tom]# ll
total 20
drwxr-xr-x 2 root root 4096 Dec 10 18:02 conf.d
-rw-r--r-- 1 root root  779 Dec 10 17:50 fstab
-rw-r--r-- 1 root root  158 Dec 10 18:22 hosts
-rw-r--r-- 1 root root   47 Dec 10 18:22 issue
-rw-r--r-- 1 root root 1905 Dec 10 17:56 passwd2
[root@localhost tom]# mv -i passwd2 /tmp/hallen/
[root@localhost tom]# ll
total 16
drwxr-xr-x 2 root root 4096 Dec 10 18:02 conf.d
-rw-r--r-- 1 root root  779 Dec 10 17:50 fstab
-rw-r--r-- 1 root root  158 Dec 10 18:22 hosts
-rw-r--r-- 1 root root   47 Dec 10 18:22 issue
[root@localhost tom]#

示例二、移动/tmp/tom/issue至/tmp/hallen/,并重命名为issue2

[root@localhost tom]# cp issue /tmp/hallen/issue2
[root@localhost tom]# cd ../hallen/
[root@localhost hallen]# ll
total 8
-rw-r--r-- 1 root root   47 Dec 10 18:37 issue2
-rw-r--r-- 1 root root 1905 Dec 10 17:56 passwd2
[root@localhost hallen]#

示例三、移动/tmp/tom/fstab文件至/tmp/hallen,并覆盖已存在文件issue2,建议使用-i选项,否则将不提示直接覆盖。

[root@localhost tom]# mv -i fstab /tmp/hallen/issue2
mv: overwrite `/tmp/hallen/issue2'? y
[root@localhost tom]#

   

rm: remove,删除

    rm [OPTION]... FILE...

         常用选项:

            -i: 交互式

            -f: 强制删除

            -r: 递归

        rm -rf  /tmp 慎用,强制删除/tmp目录下的所有文件和目录

[root@localhost tom]# ll
total 8
drwxr-xr-x 2 root root 4096 Dec 10 18:02 conf.d
-rw-r--r-- 1 root root   47 Dec 10 18:22 issue
[root@localhost tom]# rm -rf /tmp/tom/
[root@localhost tom]# ll
total 0
[root@localhost tom]#


5、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

命令执行状态:可以通过echo $?的值查看

              成功 0

              失败 1-255

命令行展开

        ~:展开为用户的主目录

        ~USERNAME:展开为指定用户的主目录

        {}:可承载一个以逗号分隔的列表,并将其展开为多个路径

            /tmp/{tom,hallen} = /tmp/tom,/tmp/hallen

示例一、展开用户tom主目录

[root@localhost ~]# ~tom
-bash: /home/tom: is a directory

示例二、在/tmp/tom目录下创建目录a和b

[root@localhost tmp]# mkdir /tmp/tom/{a,b}
[root@localhost tmp]# cd tom/
[root@localhost tom]# ll
total 8
drwxr-xr-x 2 root root 4096 Dec 10 20:12 a
drwxr-xr-x 2 root root 4096 Dec 10 20:12 b


6、请使用命令行展开功能来完成以下练习:

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

[root@localhost ~]# mkdir /tmp/{a,b}_{c,d}
[root@localhost tmp]# ll
total 16
drwxr-xr-x  2 root   root       4096 Dec 10 21:26 a_c
drwxr-xr-x  2 root   root       4096 Dec 10 21:26 a_d
drwxr-xr-x  2 root   root       4096 Dec 10 21:26 b_c
drwxr-xr-x  2 root   root       4096 Dec 10 21:26 b_d

(2)、创建/tmp/mylinux目录下的:

mylinux/

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

├── lock

├── log

└── run

[root@localhost tmp]# mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}
[root@localhost mylinux]# tree
.
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│   └── local
│       ├── bin
│       └── sbin
└── var


7、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

文件元数据包括:

    File:文件或目录名称

    Size:文件大小 Blocks:块大小 IO Block:

    Device:设备位置 Inode:节点号 Links:链接数

    Access:权限 Uid:文件属主 Gid:文件属组

    Access:文件访问时间

    Modify:文件修改时间,内容改变

    Change:文件改变时间,元数据改变

可以通过stat命令查看文件元数据信息

[root@localhost etc]# stat prelink.cache
  File: `prelink.cache'
  Size: 329314          Blocks: 648        IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 1313229     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-12-10 17:46:19.518996340 +0800
Modify: 2016-12-10 03:36:06.909067268 +0800
Change: 2016-12-10 03:36:06.909067269 +0800
[root@localhost etc]#

可以用touch命令修改文件时间戳

        touch [OPTION]... FILE...

            -a:仅修改atime

            -m:仅修改mtime

            -t STAMP:修改

                            [[CC]YY]MMDDhhmm[.ss]

            -c:如果文件不存在,则不予创建

示例:指定issues2文件的atime和mtime为2016年10月10日20时10分50秒

[root@localhost hallen]# touch -t 201610102010.50 issue2 
[root@localhost hallen]# stat issue2 
  File: `issue2'
  Size: 158             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 917542      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-10-10 20:10:50.000000000 +0800
Modify: 2016-10-10 20:10:50.000000000 +0800
Change: 2016-12-10 22:14:49.180976890 +0800


8、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

[root@localhost var]# ls -d /var/l*[[:digit:]]*[[:lower:]]
/var/lm87hy


9、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

[root@localhost var]# ls -d /etc/[[:digit:]]*[^[:digit:]]
/etc/9hl4m


10、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

[root@localhost var]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/9hl4m


11、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-09-20-09-32-22。

[root@localhost tmp]# touch tfile-`date +%F-%k-%M-%S`
[root@localhost tmp]# touch tfile-$(date +%F-%k-%M-%S)

12、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

[root@localhost mytest2]# cp -ir  /etc/*.d /tmp/mytest2/


13、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

root@localhost mytest2]# cp /etc/[lmn]*.conf /tmp/mytest3