标签:第一周配套作业
第一周配套作业
第1题 描述计算机的组成及其功能
计算机组成CPU(控制器+运算器)、I/O总线、存储器(内存+硬盘)、输入输出系统组成。
1.控制器(Control):对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。
2.运算器(Datapath):对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
3.I/O总线:各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。
4.存储器(Memory):存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。
5. 输入(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
6. 输出(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
第2题 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
目前Linux的主流发行版主要分为以下三类:
1.Slackware
2.Debian
3.RedHat
三者都是基于Linux内核由不同的发行商发行版本。
Slackware由商业公司进行维护的发行版,设计哲学——KISS,尽量保持系统的简洁,保持着文本界面的系统安装程序,保持着文本界面的系统设置工具,一定程度上牺牲了易用性。Slackware知名的二次发行版是SUSE Linux,SUSE在欧洲拥有大量用户。
Debian是三大主流Linux发行版中以社区组织维护的发行版,是迄今为止最遵循GNU规范的Linux系统,Debian最具特色的是apt-get /dpkg包管理方式,在Debian的实际发展包含三个主要分支(如把 “experimental”算在内的话是四个分支):”unstable” (或者称之为 “sid”), “testing” 和 “stable”。Debian知名的二次发行版是Ubuntu,Ubuntu是基于Debian的unstable版本加强而来,Ubuntu的安装及使用非常的人性化,采用自行加强的内核(kernel),安全性方面更高。Ubuntu的版本周期为六个月,弥补了Debian更新缓慢的不足。
RedHat是由红帽公司进行维护的发行版,RedHat应用范围广,具有典型性和代表性的Linux。RedHat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。RHEL主要面向企业级应用,稳定性非常好,适合于服务器使用,提供有偿服务和技术支持。但是更新较慢,每18个月发行一个新版本。CentOS是通过RHEL源码进行重新编译而成。CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件。但 CentOS兼容rhel的格式, 并不向用户提供商业支持,也不负上任何商业责任。安全漏洞的修正和软件包的升级对应RHEL,有数日数星期数个月的延迟情况。Fedora Core主要面向桌面应用,定位为新技术的实验场地,许多新的技术都会在 FC 中检验,如果稳定的话红帽公司则会考虑加入RHEL中。版本更新周期也非常短,仅6个月。由于版本更新频繁,性能和稳定性得不到保证,因此,一般在服务器上不推荐采用Fedora Core。
第3题 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
Linux的哲学思想:
1.一切皆文件
(将计算机资源通过文件形式进行组织管理)
2.由众多单一目的小程序组成
(系统设计以简洁为出发点,应用程序设计为功能单一的小程序,保证程序运行效率,对于复杂任务通过小程序组成完成)
3.尽量避免跟用户交互
(以功能单一的小程序为基础,用户可以根据自己的需求,通过编写脚本程序调用其他的小程序,自动完成自己需要的操作作业)
4.使用纯文本文件保存配置信息
(用户可以通过任意一款文本编程器对操作系统、应用程序的配置文件进行修改,快速的完成系统及软件配置工作)
第4题 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
Linux系统上的命名格式
#COMMAND [OPTIONS...] [ARGUMENTS...]
OPTIONS:命令选项,用于启用或关闭命令的某个或某些功能
ARGUMENTS:命令参数,为命令的作用对象
【ifconfig】
1.命令格式:ifconfig [网络设备] [参数]
2.命令功能:ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
3.命令参数:
up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
<硬件地址> 配置网卡最大的传输单元 mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度
4.常用举例
实例1:显示网络设备信息(激活状态的)
ifconfig
实例2:启动关闭指定网卡
ifconfig eth0 up
ifconfig eth0 down
实例3:配置IP地址
ifconfig eth0 192.168.2.56 netmask 255.255.255.0
实例4:启用和关闭ARP协议
ifconfig eth0 arp
ifconfig eth0 -arp
实例5:设置最大传输单元
ifconfig eth0 mtu 150
【echo】
1.命令格式:echo [选项][参数]或 echo [--help][--version]
2.命令功能:是在显示器上显示一段文字,一般起到一个提示的作用。
3.命令选项:
-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\\ 反斜线
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 回车;
\t 水平制表;
\v 垂直制表;
\ 插入字符;nnn 插入nnn(八进制)所代表的ASCII字符;
--help 显示帮助
--version 显示版本信息
4.常用举例
实例1:输入一行文本并显示在标准输出上
#echo Tecmintis a community of LinuxNerds
Tecmintis a community of LinuxNerds
实例2:输出一个声明的变量值
#x=10
#echo The value of variable x = $x
The value of variable x =10
实例3:使用‘\b‘选项
#echo -e "Tecmint \bis \ba \bcommunity \bof \bLinux \bNerds"
TecmintisacommunityofLinuxNerds
实例4:使用‘\n‘选项
#echo -e "Tecmint \nis \na \ncommunity \nof \nLinux \nNerds"
Tecmint
is
a
community
of
Linux
Nerds
实例5:使用‘\t‘选项
#echo -e "Tecmint \tis \ta \tcommunity \tof \tLinux \tNerds"
Tecmintis a community of Linux Nerds
实例6:使用‘\v‘选项
#echo -e "\vTecmint \vis \va \vcommunity \vof \vLinux \vNerds"
Tecmint
is
a
community
of
Linux
Nerds
【tty】
1.命令格式:tty [-s][--help][--version]
2.命令功能:显示终端机连接标准输入设备的文件名称。在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。
3.命令选项:
-s或--silent或--quiet 不显示任何信息,只回传状态代码。
--help 在线帮助。
--version 显示版本信息。
返回的状态码:
0 表示标准输入是一个终端。
1 表示标准输入不是一个终端。
2 表示给定的参数是不正确的参数。
3 表示发生了写错误。
4.常用举例
实例1:显示当前终端
#tty
/dev/pts/0
实例2:运行tty什么也不输出,然后查看其退出码
#tty -s
#echo $?
0
实例3:向指定终端发送信息
## echo hello >/dev/pts/1
打开"/dev/pts/1"对应的终端,就会发现刚才发送的hello
tty#或伪终端/dev/pts/#是代表linux的纯命令行终端,而写到这个终端的字符串只是做为这个终端的输出,不会当做终端的输入处理。
【startx】
1.命令格式:startx [ -d Display:0 ] [ -t | -w ] [ -x Startup | [ -r Resources ] [ -m Window_Manager ] ] [ -wait ]
2.命令功能:初始化一个 X 会话。
3.命令选项:
-d Display :0 指定在启动过程中传递给 X 客户机的 X 服务器的显示名称。
-m Window_Manager 当未找到 startup 脚本时,启动窗口管理器。
-r Resources 当未找到 startup 脚本时,装入资源文件。
-t 为一个 X 终端启动 X 客户机。
-w 为工作站上的 X 窗口会话启动 X 服务器和 X 客户机。
-wait 当 xdm 命令调用 startx 时,防止重新启动 X 会话。
-x Startup 使用 startup 脚本启动 X 窗口会话。。
4.常用举例
实例1:要在工作站上或 X 终端上启动 X 会话
startx
实例2:要在工作站上强制启动 X 会话
startx -w
实例3:要为 X 终端启动 X 会话,并注销用户的 Telnet 会话
startx; kill -9 $$
实例4:要使用 .xinitrc 脚本启动 X 会话
startx -x .xinitrc
实例5:要使用 mwm 窗口管理器启动 X 会话
startx -m mwm
【export】
1.命令格式:export [-fnp][变量名称]=[变量设置值]
2.命令功能:设置或显示环境变量
3.命令选项:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
4.常用举例
实例1:列出当前所有的环境变量
# export -p
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="STCO6"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x QTDIR="/usr/lib64/qt-3.3"
declare -x QTINC="/usr/lib64/qt-3.3/include"
declare -x QTLIB="/usr/lib64/qt-3.3/lib"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_CLIENT="192.168.2.11 56445 22"
declare -x SSH_CONNECTION="192.168.2.11 56445 192.168.2.30 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
实例2:定义环境变量
# export MYENV
# export -p
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="STCO6"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x MYENV
declare -x OLDPWD
declare -x PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x QTDIR="/usr/lib64/qt-3.3"
declare -x QTINC="/usr/lib64/qt-3.3/include"
declare -x QTLIB="/usr/lib64/qt-3.3/lib"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_CLIENT="192.168.2.11 56445 22"
declare -x SSH_CONNECTION="192.168.2.11 56445 192.168.2.30 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
实例3:定义环境变量赋值
# export MYENV=7
# export -p
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="STCO6"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x MYENV="7"
declare -x OLDPWD
declare -x PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x QTDIR="/usr/lib64/qt-3.3"
declare -x QTINC="/usr/lib64/qt-3.3/include"
declare -x QTLIB="/usr/lib64/qt-3.3/lib"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_CLIENT="192.168.2.11 56445 22"
declare -x SSH_CONNECTION="192.168.2.11 56445 192.168.2.30 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
【pwd】
1.命令格式:pwd [OPTION]
2.命令功能:查看”当前工作目录“的完整路径
3.命令选项:
-P 显示出实际路径,而非使用连接(link)路径
4.常用举例
实例1:用 pwd 命令查看默认工作目录的完整路径
# pwd
/root
实例2:显示当前目录的物理路径
# cd /etc/init.d
# pwd -P
/etc/rc.d/init.d
实例3:要显示当前目录的连接路径
# cd /etc/init.d
# pwd -L
/etc/init.d
【history】
1.命令格式:
history [-c] [-d offset]
history -anrw [filename]
history -ps arg [arg...]
2.命令功能:用于显示历史指令记录内容, 下达历史纪录中的指令 。
3.命令选项:
-c: 清空命令历史
-d: 删除历史中指定的命令;
#: 显示最近的#条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-n: 读历史文件中未读过的行到历史列表
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-p: 展开历史参数成多个行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
4.常用举例
实例1:使用history命令显示最近使用的10条历史命令
# history 10
21 man pwd
22 pwd -P
23 man pwd
24 cd /etc/rc.d/init.d/
25 pwd -L
26 vi /etc/sysconfig/network-scripts/ifcfg-eth0
27 history
28 history -p
29 history -P
30 history 10
实例2:使用命令记录号码执行命令,执行历史清单中的第10条命令
# !10
/init 0
实例3:重复执行上一个命令
# !!
【shutdown】
1.命令格式:shutdown [-efFhknr][-t 秒数][时间][警告信息]
2.命令功能:可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
3.命令选项:
-c 当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。
-f 重新启动时不执行fsck。
-F 重新启动时执行fsck。
-h 将系统关机。
-k 只是送出信息给所有用户,但不会实际关机。
-n 不调用init程序进行关机,而由shutdown自己进行。
-r shutdown之后重新启动。
-t<秒数> 送出警告信息和删除信息之间要延迟多少秒。
[时间] 设置多久时间后执行shutdown指令。
[警告信息] 要传送给所有登入用户的信息。
4.常用举例
实例1:马上关闭Linux系统
# shutdown -h now
实例2:系统10分钟后重新启动
# shutdown -r +10
/init 0
实例3:设置系统在那个时间点关机
# shutdown -h 12:30
【poweroff】
1.命令格式:poweroff[选项]
2.命令功能:用来关闭计算机操作系统并且切断系统电源。
3.命令选项:
-n:关闭操作系统时不执行sync操作
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录
-f:强制关闭操作系统
-i:关闭操作系统之前关闭所有的网络接口
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
4.常用举例
实例1:如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统
# poweroff
【reboot】
1.命令格式:reboot[选项]
2.命令功能:用来重新启动正在运行的Linux操作系统。
3.命令选项:
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。
-f:强制重新开机,不调用shutdown指令的功能
-i:在重开机之前,先关闭所有网络界面
-n:重开机之前不检查是否有未结束的程序
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
4.常用举例
实例1:系统重启
# reboot
实例2:做个重开机的模拟(只有纪录并不会真的重开机)
# reboot -w
【hwclock】
1.命令格式:hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test][--utc][--version][--set --date=<日期与时间>]
2.命令功能:显示与设定硬件时钟。
3.命令选项:
-r, --show 读取并打印硬件时钟(read hardware clock and print result )
-s, --hctosys 将硬件时钟同步到系统时钟(set the system time from the hardware clock )
-w, --systohc 将系统时钟同步到硬件时钟(set the hardware clock to the current system time )
--adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug 显示hwclock执行时详细的信息。
--directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys 将系统时钟调整为与目前的硬件时钟一致。
--set --date=<日期与时间> 设定硬件时钟。
--show 显示硬件时钟的时间与日期。
--systohc 将硬件时钟调整为与目前的系统时钟一致。
--test 仅测试程序,而不会实际更改硬件时钟。
--utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version 显示版本信息。
4.常用举例
实例1:显示硬件时钟
# hwclock
# hwclock –r
# hwclock --show
实例2:系统时间同步到硬件时间
# hwclock -w
【date】
1.命令格式:date [选项]... [+格式]
2.命令功能:显示与设定硬件时钟。
3.命令选项:
时间方面 :
% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期方面 :
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
参数 :
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
--help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
--version : 显示版本编号
4.常用举例
实例1:显示时间后跳行,再显示目前日期
# date ‘+%T%n%D‘
18:11:43
08/05/16
实例2:显示月份与日数
# date ‘+%B %d‘
August 05
第5题 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
1.内部命令获取帮助
# help 命令名称
2.外部命令获取帮助
(1)# 命令名称 --help
(2)# 命令名称 -h
(3)使用手册(manual) # man 命令名称
(4)信息页 # info 命令名称
(5)程序自身的帮助文档(README、INSTALL、ChangeLog)
3.man文件章节划分
man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备文件及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令
man9:内核
man10:最新
第6题 请罗列Linux发行版的基础目录名称命名法则及功用规定
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
/lib:基本共享库文件,以及内核模块文件(/lib/modules);
/lib64:专用于x86_64系统上的辅助共享库文件存放位置;
/etc:配置文件目录(纯文本文件);
/home/USERNAME:普通用户家目录;
/root:管理员的家目录;
/media:便携式移动设备挂载点;
/mnt:临时文件系统挂载点;
/dev:设备文件及特殊文件存储位置;
/opt:第三方应用程序的安装位置;
/srv:系统上运行的服务用到的数据;
/tmp:临时文件存储位置;
/usr:系统存放程序的目录,比如命令、帮助文件等。
bin: 保证系统拥有完整功能而提供的应用程序;
sbin: 根文件系统不必要的系统管理命令,例如多数服务程序。
lib:应用程序库文件,程序或子系统的不变的数据文件
lib64:专用于x86_64系统上应用程序库文件,程序或子系统的不变的数据文件
include: C程序的头文件(header files);
share:结构化独立的数据,例如doc, man等;
local:第三方应用程序的安装位置;
bin, sbin, lib, lib64, etc, share
/var: 动态数据。这个目录的内容是经常变动的
cache: 应用程序缓存数据目录;
lib: 应用程序状态信息数据;
local:专用于为/usr/local下的应用程序存储可变数据;
lock: 锁文件
log: 日志目录及文件;
opt: 专用于为/opt下的应用程序存储可变数据;
run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
spool: 应用程序数据池;
tmp: 保存系统两次重启之间产生的临时数据;
/proc: 用于输出内核与进程信息相关的虚拟文件系统;
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置。
标签:第一周配套作业
原文地址:http://257023.blog.51cto.com/247023/1834887