本周作业内容:
1、描述计算机的组成及其功能。
计算机由运算器,控制器,存储器,输入、输出单元组成。
运算器主要对数据进行各种运算,包括算术运算、逻辑运算;
控制器协调计算机各部分有条不紊的工作,从存储器中取出数据,交由运算器执行,同时根据计算结果,向其它部件发出控制信号,或再把计算结果存储到存储器中;
存储器主要存储程序和数据;
输入设备用来向计算机输入二进制信息,比如把文字、图像、音频等信息转化为二进制数据,保存在存储器上;
输出设备用来把计算机运算的结果转变为人类可识别的信息,如把计算机上以二进制形式保存的文字、声音等数据,转变为人类可识别的信息。
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
基于debian的发行版本:
ubuntu、lubuntu、kubuntu、Linux Mint、Linux Deepin
基于Red Hat的发行版本:
RHEL、CentOS、Fedora、Oracle Linux
基于slackware的发行版本:
SUSE(企业版SELS,社区版openSUSE)
其它还有ArchLinux、Gentoo。
另外LFS(linux from scratch),指导用户从头打造自己的发行版本。
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
Linux哲学思想是保持简单原则(KISS:keep it simple, stupid)。主要表现在
一切皆文件:在linux系统中,把所有对象,包括硬件设备,都当作文件来看待,实现操作的一致性。
单一目的小程序:每个程序只做好一件事,且要做好。通过管道,或其它方式,多个小程序组合完成复杂的任务。
使用纯文本保存配置信息:使用文本编辑器即可完成系统配置工作。
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
linux命令格式一般是:命令 选项 参数
ifconfig:配置网络接口
不加参数,显示当前激活网卡的状态信息 [root@captain ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:75:60:7E inet addr:192.168.162.134 Bcast:192.168.162.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe75:607e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15302 errors:0 dropped:0 overruns:0 frame:0 TX packets:12874 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1214451 (1.1 MiB) TX bytes:2101589 (2.0 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
-a 显示所有网卡状态信息,包括未激活的网卡
[root@captain ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0C:29:75:60:7E inet addr:192.168.162.134 Bcast:192.168.162.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe75:607e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15285 errors:0 dropped:0 overruns:0 frame:0 TX packets:12864 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1212985 (1.1 MiB) TX bytes:2099233 (2.0 MiB) eth1 Link encap:Ethernet HWaddr 00:0C:29:75:60:88 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:3827 errors:0 dropped:0 overruns:0 frame:0 TX packets:193 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:349753 (341.5 KiB) TX bytes:16176 (15.7 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
后接某个网卡接口,只显示该接口的状态信息
[root@captain ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:75:60:7E inet addr:192.168.162.134 Bcast:192.168.162.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe75:607e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15316 errors:0 dropped:0 overruns:0 frame:0 TX packets:12883 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1215567 (1.1 MiB) TX bytes:2103391 (2.0 MiB)
配置接口IP地址,但重启后失效
[root@captain ~]# ifconfig eth1 192.168.1.100 netmask 255.255.255.0 [root@captain ~]# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:0C:29:75:60:88 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe75:6088/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7565 errors:0 dropped:0 overruns:0 frame:0 TX packets:7 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:501036 (489.2 KiB) TX bytes:578 (578.0 b)
echo 把参数回显到标准输出
[root@captain ~]# s="this is a string" [root@captain ~]# echo "$s" #双引号不会阻止变量扩展,如果字符串中有空格,要加上双引号 this is a string [root@captain ~]# echo '$s' #单引号阻止变量扩展 $s
-e 解释转义字符
-n 不换行
[root@captain ~]# cat processbar.sh #!/bin/bash echo -ne "\033[?25l" #隐藏光标 tm=3 while [ $tm -ge 0 ] do echo -n "==> process" for ((i = 1; i<=3; i++)) do echo -n "." sleep 0.5 done echo -en "\b\b\b \r" sleep 0.5 ((tm--)) done echo -e "\033[?25h" #显示光标 echo "done"
tty 显示当前终端类型,终端类型包括:物理终端、虚拟终端、模拟终端
[root@captain ~]# tty /dev/pts/0
startx 启动图形界面,前提是需要安装桌面环境
export 设置或显示变量,设置的变量子shell可以继承
[root@captain ~]# a="this is a" [root@captain ~]# export b="this is b" [root@captain ~]# cat export.sh echo "a=$a" echo 'b=$b" [root@captain ~]# sh export.sh a= b=this is b
pwd 查看当前所在的目录
history 查看历史命令
history -c 清空历史命令 控制history行为的相关变量 HISTSIZE=1000 #设置内存记录中保存条目数量 HISTFILESIZE=1000 #设置文件中保存的最大记录条目数量 HISTTIMEFORMAT="`whoami` %F %T " #输出历史命令的格式 HISTCONTROL=ignoredups #不记录相邻重复条目 HISTCONTROL=erasedups #不记录所有重复条目 HISTCONTROL=ignorespace #忽略以空白开头的命令 history n #列出最近的n条历史记录 !! #执行上一条命令 !n #执行第n条命令 !string #执行最近一个以string开头的命令 另外ctrl-r快捷键可以搜索历史命令,找到需要的历史命令,回车后再次执行
shutdown 关机
shutdown [option] time [message] time的格式: now:立即关机 +m:m分钟以后关机 hh:mm:在hh:mm时刻关机 -r 重启 -h 关机 -c 取消关机 -k 发送警告消息但不关机 shutdown -r now #立即重启 shutdown -h +10 #10分钟以后关机
poweroff 关机
reboot 重启
hwclock 查看硬件时钟
-s, --hctosys #把硬件时间设置为系统时间 -w, --systohc #把系统时间设置为硬件时间
date 查看或设置当前系统时间
date 不加参数,查看当前时间 控制时间显示格式 [root@captain ~]# date +"%F %T" 2016-08-05 15:37:32 常用格式 %y 年的最后两位(00-99) %Y 年,完整位数 %m 月(01-12) %d 天 %H 小时(00-23) %k 小时(0-23) %I 小时(01-12) %l 小时(1-12) %M 分钟(00-59) %s 自1970年1月1日零点到现在的秒数 %S 秒(00-60) %F 日期,相当于%Y-%m-%d %T 时间,相当于%H:%M:%S %j 一年中的第几天 %u 星期(1-7) %U 一年中的第几周(00-53) %a 星期的简写(Mon,Tue...) %A 星期的完整拼写 %b 月份的简写(Jan,Feb...) %B 月份的完整拼写 -d #根据输出格式显示某个时间 [root@captain ~]# date -d "30 days ago" +"%F %T" 2016-07-06 15:39:01 -s #设置系统时间 [root@captain ~]# date Fri Aug 5 15:40:25 CST 2016 [root@captain ~]# date -s "12:00:00" Fri Aug 5 12:00:00 CST 2016 [root@captain ~]# date Fri Aug 5 12:00:02 CST 2016
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
获取命令的帮助方法:
help command #获取内建命令的帮助信息 man command info command command --help
man文档主要分为以下章节
章节 | 说明 |
NAME | 命令的功能 |
SYNOPSIS | 命令语法 |
DESCRIPTION | 命令的参数释义 |
EXAMPLES | 命令用法示例 |
AUTHOR | 作者信息 |
REPORTING BUGS | 如何提交bug |
COPYRIGHT | 版权信息 |
SEE ALSO | 参考 |
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
目录 | 用途 |
/ | linux文件系统结构的最顶端,是整个系统的入口,所有的目录、文件、设备等都位于/之下 |
/boot | linux系统启动所必须的目录,是引导文件存放的地方 |
/bin | 存放用户使用的基本命令 |
/sbin | 系统管理类的命令 |
/root | root家目录 |
/home | 普通用户家目录 |
/usr | 系统存放程序的地方,普通命令、帮助文件等 /usr/bin 保证系统完整功能提供的程序 /usr/include C程序头文件位置 /usr/share 结构化独立数据,帮助文档等 /usr/local 第三方应用程序安装位置 |
/var | 变化数据文件,缓存目录、日志文件、程序运行相关数据等 |
/etc | 系统及软件配置文件的存放位置 |
/lib | 共享库位置 |
/lib64 | 共享库位置,64位系统专用 |
/dev | 硬件设备相关的信息,每个设备都是一个文件 |
/proc | 与内核和进程信息相关的虚拟文件系统 |
/sys | 硬件设备相关的虚拟文件系统 |
/opt | 第三方程序安装位置 |
/media | 便携移动设备挂载点 |
/mnt | 临时文件系统挂载点 |
/tmp | 临时文件存放位置,通过特殊的粘滞位,每个用户创建的文件只有用户自己可以修改删除 |