首页 > 代码库 > 第一次作业
第一次作业
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
目前主流的三大Linux版本有slackware,debian,redhat。
slackware:最早的Linux版本之一,力图为“UNIX风格”的linux发行版,坚持KISS的原则。
suse:是已slackware为基础发行版本,2004年被Novell收购,2011年被Attachmate收购。
opensus:opensus是一个免费的个人操作系统。它采用的KDE4.3作为默认桌面环境,同时也提供 GNOME桌面版本。
debian:debian不是商业版本,他最接近于原滋原味的linux,但是操作要求高。
ubuntu:ubuntu是debian的二次发行版本。从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity,并且每六个月发行一次新版本。
mint:他是一个为x86电脑设计的操作系统,是基于Debian和Ubuntu的Linux发行版。
redhat:redhat9.0版本之后就不在发行新的版本,并且不在开发桌面版的linux,重点放在服务器版的开发上。
rhel:rhel是红帽重点开发的服务器版系统操作系统。
CentOS:兼容rhel的格式,是由民间组织开发的免费系统,后来被红帽收购,并入红帽开发的一个项目。
fedora:是一款由Linux爱好者社区构建的日常应用形的操作系统。
2、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、 history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。 ifconfig:是linux的网络设置命令,语法实例ifconfig eth0 192.168.0.1 netmask 255.255.255.0 。
echo:是显示命令,一般起到提示的作用。#echo $ {SHELL}可以显示当前使用的shell版本。
tty:命令可以查看连接终端标准输入设备的名称。所有的外围设备都有名称和代号,这类文件存放于/dev目录下,可使用tty查看当前使用终端机的文件名称。
startx: 如果linux添加了图形界面通过startx &可进入图形操作系统。
export: 设置或显示环境变量,export -f 代表变量名称中为函数名称。
export -n 删除指定的变量,变量不会再后续的指令中输出。
export -p 列出所有的shell程序的环境变量。
pwd:显示当前用户所在目录的整个用户路径。
history:显示历史指令,记录命令历史内容。
history -c :将当前shell中的所有命令历史清空;
history -a :将当前新增的history指令添加到historys中,若没有加histfiles,则预设介入~/.bash_history;
history -r :将histfiles的内容读取到当前的shell版本的history记录中;
history -w :将当前history中的历史命令写入到histfiles中。;
history 10 :显示最近的10条命令;
shutdown:可指挥linux进行关机。-c取消计算机关机动作。-f 重新启动时不执行fsck -F重新启动时执行fsck。
shutdown -h 13:00 将系统在一点钟关机。-k输出信息给所有的用户但是不会实际关机。-n 不调用init,shutdown自己进行。
shutdown -r 重新启动计算机。-t 输出警告信息持续的时间。
shutdown -h now 立刻关机。
poweroff:关闭计算机。 poweroff -n 关闭计算机时不执行sync操作;poweroff -w 不真正关闭操作系统,仅在日志文件“/car/log/wtmp”中。poweroff -d 关闭系统时,不将操作系统写入日志文件“var/log/wtmp”中添加相应的记录。poweroff -f 强制关闭系统;poweroff -i 关闭操作系统之前关闭所有的网络接口;poweroff -h 关闭操作系统之前所有的硬盘设置为备用模式。
reboot:重启linux系统,reboot -d 系统重启但是不把数据写入记录文件/var/log/wtmp。reboot -d 强制重启,不调用shutdown指令的功能。reboot -h 在系统关机或poweroff之前,将所有的硬盘处于待机模式。reboot -i 关闭网络设置之后重新启动系统。reboot -n 保存数据后再重新启动系统。reboot -w 不会真的重新启动,只会把重新开机的数据写入var/log/wtmp中。
hwclock:linux时钟命令,显示硬件时钟的时间。hwclock --show或者hwclock -r 查看硬件时钟命令。hwclock -w 将硬件时钟调整与当前系统时钟一致.hwclock -s 将系统时钟调整与当前硬件时钟一致。
date:显示或设置系统时间与日期。实例 date 11290958202016 11月29日9点59分20秒2016年
3、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
在linux的命令中有内部命令和外部命令,内部命令是指在bash源代码里面的命令。可以用type命令查询区分内部命令外部命令。
内部命令的帮助信息可以使用help命令查询。实例:help cd;help echo;help history等。
外部命令是实用程序部分,它的信息量比较大,所以有命令帮助手册、命令信息页和程序自身的帮助文件可以提供命令使用方法的查询。使用方法如,命令加--help或-h。manual帮助手册#man 加 命令,可以通过它查询命令的使用方法和实例。信息页查询#info加命令例如info ls;info vi;可 以通过它查询命令的作者、开发历史等详细信息。程序自身带的帮助文档目录:/usr/share/doc/
ChangeLog: 程序版本升级的变动情况
INSTALL: 安装方法说明
README:程序说明信息man帮助手册所在的目录为/usr/share/man中常用的八个章节
man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备文件及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp,mv,rm
cp复制命令,可以复制文件或目录到指定路径。格式:cp SRC(源文件或目录)DEST(指定文件或目录)
SRC为文件:
如果指定文件不存在:新建DEST,并将SRC中内容填充至DEST中;
如果指定文件或目录存在:
DEST是文件时:将SRC中的内容覆盖至DEST中;此时建议为cp命令使用-i选项。
DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
如果要复制多个文件时,目标必须存在,并且为目录,其他情况均会出错。
cp SRC DEST
SRC是目录:
SRC目录内没有目录或文件可以复制,如果有目录和文件此时应使用选项:cp -r SRC DEST
DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
DEST存在:直接复制
DEST是文件:报错
DEST是目录:复制到此目录中。
cp常用选项:
-i 或 --interactive 覆盖文件之前先询问用户
-r, -R: 递归复制目录及内部的所有内容;
-a: 归档备份,相当于-dR --preserv=all
-d:同--no-dereference或--preserv=links,不跟踪符号链接
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp: 时间戳
links:链接属性
xattr:扩展属性
context:安全上下文
all:以上所有
-p: --preserv=mode,ownership,timestamp
-v: --verbose显示详细信息,执行过程
-f: --force强行复制文件或目录, 不论目的文件或目录是否已经存在。
cp实例:
将文件zbw1复制成文件zbw2
cp /tmp/zbw1 zbw2
mv同move,移动文件,格式mv SRC(源文件或目录) DEST(目标文件或目录) 将SRC移动到DEST。当移动的源文件为多个时,目标必须为目录。
常用选项:
-i: 交互式
-f: 强制移动到指定文件
mv实例:
rm:同remove删除命令。
rm -rf全部删除
rm -i交互式删除
rm实例:
5、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令的执行结果状态有两种成功和失败,成功只返回0;失败返回1-255。
bash使用特殊变量$?保存最近一条命令的执行状态结果:
0:成功;1-255:失败
程序执行会有两类结果:1、程序的返回值;2、程序的执行状态结果;
示例:
命令行展开:
~: 展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
实例:
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
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,dec,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命令可以查看元数据信息:显示文件的名字、大小、所占据的磁盘块数Blocks、IO块的大小IO Block、文件类型、所在设备Decice、节点号Inode、链接次数Links、访问权限、Uid属主、Gid属组、时间戳。
文件的时间戳信息有三种:
一、access time:访问时间,简写为atime,读取文件内容
二、modify time: 修改时间, mtime,改变文件内容(数据)
三、change time: 改变时间, ctime,元数据发生改变文件权限、文件拥有者、以及文件数据块的分布信息查询。
查看命令:ls -l /tmp
drwxr-xr-x 2 root root 6 nov 29 15:41 123
最左侧的第一位d:文件类型是目录,
后面的9位是:访问权限,perm
左第一个root: 文件的属主
左第二个root:文件的属组
数字6 :文件的大小
nov 29 15:41:文件最近一次的修改时间11月29号15:41
123 :文件名称
8、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
# ls -d /var/l*[0-9]*[[:lower:]]
9、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
# ls -d /etc/[0-9]*[^0-9]
10、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
# ls /etc/[^[:alpha:]][[:alpha:]]*
11、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-09-20-09-32-22。
#touch /tmp/tfile-"$(date +%Y-%m-%H-%M-%S)"
12、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
#cp -a /etc/*.d /tmp/mytest2
13、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
#cp -a /etc/[1mn].conf /tmp/mytest3
本文出自 “11633397” 博客,谢绝转载!
第一次作业