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