本周作业内容:
1、描述计算机的组成及其功能。
计算机由运算器,控制器,存储器,输入、输出单元组成。
运算器主要对数据进行各种运算,包括算术运算、逻辑运算;
控制器协调计算机各部分有条不紊的工作,从存储器中取出数据,交由运算器执行,同时根据计算结果,向其它部件发出控制信号,或再把计算结果存储到存储器中;
存储器主要存储程序和数据;
输入设备用来向计算机输入二进制信息,比如把文字、图像、音频等信息转化为二进制数据,保存在存储器上;
输出设备用来把计算机运算的结果转变为人类可识别的信息,如把计算机上以二进制形式保存的文字、声音等数据,转变为人类可识别的信息。
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
ubuntu、lubuntu、kubuntu、Linux Mint、Linux Deepin
RHEL、CentOS、Fedora、Oracle Linux
SUSE(企业版SELS,社区版openSUSE)
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 | 临时文件存放位置,通过特殊的粘滞位,每个用户创建的文件只有用户自己可以修改删除 |
本文出自 “睿宝宝的半熟芝士” 博客,谢绝转载!
homework week01