1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
Linux发行版:
Slackware
Suse
Opensuse
Debian
Ubuntu
Mint
Redhat
Rhel
Fedora
Slackware中最为著名的的版本为suse,风格类似于unix,其中opensuse为三次开发版本,其中slackware还有suse linux enterprise edition。
Debian是现在唯一以社区形式运行的,不收费,是三大发行版中最接近原汁原味的linux同时要求使用者需要拥有相对熟悉的linux操作经验,其中二次开发中最为著名的系统是ubuntu,mint也是其二次开发板。
Redhat公司村里与199X年,redhat在6.0之后变得相当问题,从此也获得了不少用户的青睐,在redhat升级到7.0版本中,redhat公司吧linux系统分成两条生产线,一条是redhat针对个人桌面版本,另一个版本是针对企业,叫做RHEL=Redhat Enterprise Linux。 Redhat在9.0版本之后由于企业策略的改变,于2000年之后捐给了fedora社区。
2、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
Ifconfig是一个用来显示网络设备配置的命令,该命令会显示出当前所有激活的网络端口信息。
其用法为 ifconfig [-v] interface [aftype] option|address…
-a 显示所有网络端口的信息,包括未激活的端口
-s 显示为一个短列表
如下图所示
第一行UP表示了这个网络端口被激活了,Broadcast表示广播,Running显示为改网络已经连接上网了,Multicast表示可以组播。
第二行显示为 IP地址,掩码和广播地址
第三行显示为IPV6 IP地址,前缀长度等
第三行显示为网卡地址和发送队列长度
第四行到第八行都是为数据包接法情况
Echo命令主要功能是在显示器上显示一段文字
用法
Echo [short-option][string]
-n 显示完毕后不输入断行符号.
利用$符号, Ehco还可以实现返回变量中的值
Tty是用来查看当年终端设备的命令
tty[option]
终端分为两种
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,病额外提供桌面环境。
模拟终端:图形界面下打开的命令行借口,基于SSH或者telnet等远程打开的界面。
虚拟终端设备路径 /dev/tty#
模拟终端设备路径/dev/pst/0-n
Startx的功能是用来启动X windows服务,其实它是有启动xinit来完成的。通常情况下,运行这个命令都是不使用arguments.
Startx [ [client]option] [ [server] [display] option]
export是用来设置或者显示环境变量的命令.
用法
Export [-fnp][变量名字]=[值]
由于export命令只会把环境变量值写入内存中,当系统logout之后,该环境变量就有变回预设值.如下图所示
-f 代表变量名字中为函数名字
-n 删除制定变量
-p 显示所有环境变量
Pwd是用来显示当前/工作路径
用法
Pwd [option]
History显示已经执行的命令序号和命令本身.
相关的环境变量
HISTSIZE, HISFILE, HISFILESIZE,HISTCONTROL
用法
history -d offset 删除第几条历史命令
history -c 清楚所有历史命令
history -a 追加所有当年会话中的历史命令值历史命令文件中
history # 显示最新的#条历史记录
调用history中的命令
!# 调用#条历史命令
!! 调用上一条
!String 调用已string开头的命令
调用上一条命令中最后一个参数的方法
!$
Alt+.
关于history记录方式
History记录方式可以通过环境变量HISTCONTROL来进行调整。
Ignorduups:忽略重复命令,在连续输入情况下,历史命令中只会显示一个
Ignorspace:忽略所有用空白开头的命令
Shutdown,poweroff,reboot这三个属于同一类型命令如他们英文意思一样,shutdown就是关闭系统,但是不会关闭电源,poweroff,关闭系统之后还会关闭电源,reboot就是重新启动系统。
用法
-p 关闭电源
-H 暂时挂起
-r 重启
Shutdown/power/reboot[option] [time] [wall]
Hwclock=hardwareclock设置或者显示硬件时钟时间跟日期
用法
Hwclock [function][option]
hwclock -r 使用标准时间格式显示时钟时间
hwclock -s 把时钟时间设置为系统时间,同时把当前系统时区设置为kernel的时区
hwclock -w 把系统时间设置为时钟时间
hwclock –set –date=“2012-08-04 16:20:10”
Date设置或者显示系统时间跟日期
用法
date [option]…[+FORMAT]
date[MMDDhhmm[[CC]YY][.ss]]
时间显示 date +“now is %t”
设置时间date 121123122016.00
MM 月份
DD 日期
hh 小时
mm 分钟
CCYY年份
ss 秒钟
3、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
在linux上面有一下几种获取命令帮助的方法
1: help command 仅对内部命令有效
2: command –-help 对外部命令有效
-h
3: man command 打开帮助手册
Man帮助手册的路径为:/usr/share/man
其中man手册被分为8大类
Man1 用户命令
Man2 系统调用
Man3 C库调用
Man4 设备文件及特殊文件
Man5 配置文件格式
Man6 游戏
Man7 杂项
Man8 管理类命令
4: info command 命令信息
还可以借用外部文档获取命令帮助
程序相关的 README, INSTALL, Changelog等文件
程序官网文档 Documentation
发行版的官方文档
在线搜索引擎
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
列出文件及文件夹 ls
文件内容查看类命令 cat, more, less,tail, head, tac
Cat可以创建文件,并把几个文件中的内容合并至一个新的文件下面。Cat命令会把文件内容一次性全部读完,不可卷动
Cat t1.txtt2.txt t2.txt > t4.txt
Cat [option][file]
-A 显示所有
-e 显示结束符号
-n 显示行编号
Cat/etc/profile
More是一个最常用的文件查看命令,会根据窗口大小进行分页,并在下面显示文件百分比,通过空格可以翻页。
-c 顶部清屏开始显示
-s 连续多个空行显示为一行
空格,ctrl+f: 向下滚一屏
Ctrl+b: 向上滚一屏
V: 调用vi编辑器
利用more进行分页显示列如
Ls -l /etc|more
Less 跟more一样也是分页显示的工具,less作为linux正统查看文件的工具,功能比more更加强大其中最常使用的用法如下 less [option] file
-c 从顶部刷新屏幕并显示文件内容
-f 强制打开文件,不提示警告
-i 搜索时忽略大小写,除非搜索串中包含大写字母
-I 搜索时忽略大小写,除非搜索串中包含小写字母
-m 显示读取文件百分比
-M 显示读取文件百分比,行号,总行数
-N 每行前显示序号
-p 在目录下搜索单词 less -p one /etc/profile
-s连续多个空行显示为一行
文件操作动作
回车 向下移动一行
Y 向上移动一行
空格 向下滚动一屏
B向上滚动一屏
g 跳到第一行
G 跳到最后一行
V 调用vi编辑器
head是显示一个文件内容的前多少行
head -n # 显示文件头多少行
head -c # 显示文件头多少byte
tail显示文件最后多少行的一个命令
tail -n # 显示文件头多少行
tail -c # 显示文件头多少byte
tac为倒叙显示文件内容的命令
tac [option][file]
复制文件 cp
在usr文件下面创建一个tast.txt的文件,使用cp命令吧文件复制到games文件夹中。Cp [option] file file
用法
-b 删除,覆盖目的文件,先备份
-f 强行复制文件或者目录,不论文件或者目录是否存在
-i 覆盖文件前先询问用户
-r 递归处理,将制定目录下的文件与子目录一并处理,若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 递归处理,将制定目录下的文件与子目录一并处理
-u 当源文件新与目标文件或者目标文件丢失时,该文件才会被复制
-v 显示执行过程
移动文件 mv
mv [option]file file
-f 强行复写
-i 复写之前询问
-n 不复写已经存在的文件
-u 当源文件新与目标文件或者目标文件丢失时,该文件才会被复制
-v 显示执行过程
删除文件 rm
rm [option] file
-f 强行删除
-i 删除每个文件都询问
-r 递归删除,删除文件夹以及子文件
-d 删除文件夹
-v 显示过程
创建文件 touch
更新文件的修改时间跟访问时间,也可以用来创建文件。
Touch [option]file
-a 只修改访问时间
-c 不创建文件,当文件名不存在的时候
-m 只改修改时间
-t 使用[[CC]YY]MMDDhhmm[.ss]的格式来修改文件时间
元数据属性 stat
显示文件或者文件系统的属性
-f 显示文件系统属性代替文件属性
-c –format=FORMAT用自定义显示格式代替初始化格式
-t 用terse格式显示
查看内容类型 file
用来识别文件类型,也可以用来辨别一些文件的编码格式
-b 不显示文件名字
文本编辑 nano,vi
Nano跟vi都是文本编辑命令,vi作为linux最为强大的文本编辑命令,操作起来比较复杂,而nano对新手而言就相对比较友好,上手容易
Nano
^y 上一页
^v 下一页
^o 保存
^x 退出
Alt+6 复制
^k 剪切一整行
^u 粘贴
Vi
:w 保存
:wq 保存退出
:q!不保存退出
5、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
~展开为用户的主目录
~username 展开为制定用户的主目录
{}使用大括号,用逗号分隔的列表来表示多个路径
命令运行的结果以一个特殊的变量保存
Echo $?
成功返回 0
不成功返回 1~99
查看手册可根据返回值来检查不成功的原因
6、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
mkdir -pv/tmp/{a,b}/{c,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
7、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据属性 stat
显示文件或者文件系统的属性
-f 显示文件系统属性代替文件属性
-c –format=FORMAT用自定义显示格式代替初始化格式
-t 用terse格式显示
元数据的信息有三个
Access:访问时间
Modify:修改时间
Change:状态改变时间
改变时间戳的命令是touch,使用方法详见第四章节
8、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
在完成这个问题之前,我们先来提及一下这个问题中会涉及到的glob命令。其中涉及到通配符。
*:表示任意长度的任意字符
?:任意单个字符
[]:明确致命指定范围内的单个字符
[^]:匹配指定范围之外的
当知道这些通配符号之后,来完成这个问题。
ls /var/l*[[:digit:]]*[[:lower:]]
9、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -d /etc/[[:digit:]]*[^0-9]
10、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -d /etc/[^a-z][[:alpha:]]*
11、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-09-20-09-32-22。
touch /tmp/tfile-&(date+%Y-%m-%d-%H-%M-%S)
12、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -rdaf /etc/*.d /tmp/mytest2
13、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp /etc/[lmn]*.conf /tmp/mytest3