首页 > 代码库 > 作业01
作业01
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
答:
一次发行版 二次发行版 三次发行版
slackware(已不常见)
├──────── suse(在欧美最流行)
│ ├──────opensuse
│
debian(黑客自发维护,最接近原汁原味的Linux)
├──────── ubuntu
│ ├────── mint
│
redhat(提供付费的服务质量保障以及后期的补丁等):
rehel:redhat enterprise linux(企业版),每18个月发行一个新版本
├──────── Centos: 兼容rhel的格式,重新编译后免费提供(已被redhat收购)
│
│
fedora(个人版),每6个月发行一个新版本,用于测试新软件、新驱动等
│
│
│
ArchLinux(轻量、灵活,有经过优化的软件包)
│
│
│
Gentoo(追求极限的配置和性能)
│
│
│
LFS:Linux From scratch(指导文档,教用户手动编译安装Linux内核)
2、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
答:
命令的使用格式:
COMMAND [OPTIONS...][ARGUMENTS...]
ifconfig:
显示接口信息
ifconfig -a 显示所有接口信息
ifconfigeth0 仅显示eth0的接口信息
echo:
输出信息
echo ‘$SHELL’ 单引号为强引用,输出结果为 $SHELL
echo “$SHELL” 双引号为弱引用,输出变量名的实际值,结果为/bin/bash
tty:
查看当前的终端设备
可以使用Ctrl+Alt+F#: [1,6]切换终端,如使用Ctrl+Alt+F2切换终端后,执行tty,显示/dev/tty2
startx:
进入图形界面
export:
定义环境变量
依次执行: export user="TOM"
echo"$user"
会输出:TOM
pwd:
输出当前所在目录
依次执行: cd /etc
pwd
会输出: /etc
history:
显示执行过的命令记录,可以使用命令前的数字来重新执行该命令
具体使用方法: !4 重新执行history中显示的第4条命令
history -a 追加本次会话新执行的命令历史列表至历史文件中
history -d 删除指定的命令记录,如执行history -d 11 会删除第11条记录
history -c 清空所有记录
shutdown:
关机
例:
shutdown -h now 立即关机
shutdown -r 重启
shutdown -h +5 指定5分钟后关机
shutdown -h 15:00 在指定时间关机
shutdown -c 取消当前shutdown进程
poweroff:
关机,效果和shutdown –h now相同
reboot:
重启计算机
hwclock:
显示BIOS时间
hwclock -s 把BIOS时间同步到系统时间
hwclock -w 把系统时间同步到BIOS时间
date:
显示或修改系统时间
date +FORMAT 以指定格式显示时间
date+%D 输出11/26/16
date+%F 输出2016-11-26
date+%T 输出14:15:37
date [MMDDhhmm[[CC]YY][.ss]] 设置系统时间
MM: 月份
DD: 几号
hh: 小时
mm: 分钟
YY: 两位年份
CCYY: 四位年份
.ss 秒钟
执行 date 120103052016.10 系统时间设置为2016年 12月 01日 星期四03:05:10 CST
3、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
答:
内部命令,使用 help COMMAND 如 help cd
外部命令:
(1) COMMAND --help 如 ls --help
COMMAND-help 如 ls –h
(2) 使用 man COMMAND
(3) 信息页
info COMMAND
(4)程序自身的帮助文档.,如: README、INSTALL、ChangeLog
(5) 程序官方文档,官方站点中的Documentation页面
(6) 系统发行版的官方文档
(7) Google
man文档章节:
man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备文件及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令
注意: 有些关键字不止一个章节中存在帮助手册
要查看指定章节中的手册: man # COMMAND
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
答:
cp SRC DEST(复制)
如果SRC是文件,DEST是目录,会在DEST目录下新建SRC同名文件,如果已存在同名文件,会提示是否覆盖。例: cp /tmp/test1 /test 执行后会在/test目录下创建tes1文件
如果SRC是目录,需要使用-r选项。DEST如果不存在,会创建同名的目录,DEST如果存在,且类型是文件,会报错。 例: cp /tmp /test
cp SRC… DEST
如果要复制多个文件,DEST必须为目录,否则会报错。例:cp /tmp/{test1,test2} /test
常用选项:
-i: 交互式
-r, -R: 递归复制目录及内部的所有内容
-a: 归档,相当于-Dr --preserv=links
-d:--no-dereference –preserv=links
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p: --preserv=mode,ownership,timestamp
-v: --verbose
-f: --force
mv SRC DEST (移动)
特性和cp相同,不同的是使用mv移动文件后,原文件就删除了。
常用选项:
-i: 交互式
-f: 强制
rm FILE(删除文件)
常用选项:
-i: 交互式
-f: 强制
-r: 递归
例: rm -f /test/test1 删除文件
rm -rf /test 删除整个目录
5、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
答: 命令执行状态返回值: 0代表执行成功,1-255代表执行失败
命令行展开:
~展开为当前用户的家目录,~USERNAME展开为指定用户的家目录。如执行cd~,直接进入当前用户的家目录,执行~user1可进入user1的家目录(非root用户不能进入其他用户的家目录)
{ }可承载一个以逗号分隔的列表,并展开为多个路径以执行命令,如同时建立多个test目录: mkdir /tmp/test{1,2,3}
6、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
答: mkdir /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
答: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}
7、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
答:
查看元数据: stat /PATH/TO/SOMEFILE 如:stat /tmp
修改文件时间戳信息:
修改最后一次访问时间(Access): touch -a /PATH/TO/SOMEFILE
修改最后一次修改时间(Modify): touch -m /PATH/TO/SOMEFILE
8、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
答:ls -ad /var/l*[0-9]*[[:lower:]]
9、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
答: ls -ad /etc/[0-9]*[^0-9]
10、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
答: ls -ad /etc/[^[:alpha:]][[:alpha:]]*
11、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-09-20-09-32-22。
答: mkdir /tmp/tfile-$(date +%F-%H-%M-%S)
12、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
答:
mkdir /tmp/mytest2
cp -a /etc/*.d /tmp/mytest2
13、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
答:
mkdir /tmp/mytest3
cp -a /etc/[lmn]*.conf /tmp/mytest3
作业01