一、描述计算机的组成及其功能。linux
计算机是由控制器、运算器、存储器、输入设备和输出设备五部分组成。shell
1)控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工做,保证计算机按照预先规定的目标和步骤有条不紊地进行操做及处理。小程序
2)运算器:运算器的主要功能是对数据进行各类运算。这些运算除了常规的加、减、乘、除等基本的算术运算以外,还包括能进行“逻辑判断”的逻辑处理能力,即“与”、“或”、“非”这样的基本逻辑运算以及数据的比较、移位等操做。一般把控制器与运算器合称为中央处理器(Central Processing Unit-CPU)centos
3)存储器:存储器分为只读存储器(ROM)和随机读写存储器(RAM)。只读存储器只能读取数据,不能写入数据(如,内存);随机读写存储器能读写数据(如,磁盘、U盘)。缓存
4)输入设备:用来向计算机输入各类原始数据和程序的设备叫输入设备安全
5)输出设备:从计算机输出各种数据的设备叫作输出设备bash
二、按系列罗列Linux的发行版,并描述不一样发行版之间的联系与区别。服务器
1)Slackware:网络
最先古老的Linux发行版,主要用于桌面、工做站、服务器,采用的默认桌面是KEDide
2)SUSE Linux:
基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。流行于欧洲,中途经屡次收购发现较为缓慢。
3)OPENSUSE:
由suse发展而来,被同一家公司收购,主要用于桌面环境,界面较为酷炫,免费。
4)debian:
互联网自发组织,最接近原滋原味的Linux,使用于任何环境,因为系统稳定,多用于服务器
5)Ubuntu:
Ubuntu是基于Debian发行版和GNOME桌面环境,每六个月发行一次新的版本。用于桌面坏境
6)redhat:
早起版本主要用于桌面环境,免费。自从Red Hat 9.0版本发布后,Red Hat公司就再也不开发桌面版的Linux发行包,04年后对Red Hat 9.0不提供技术支持,后专作服务器操做系统Red Hat Enterprise Linux,每十八个月发行一个新版本,内核相对较低。力求稳定,不求最新。
三、描述Linux的哲学思想,并按照本身的理解对其进行解释性描述。
1)一切皆文件,把几乎全部资源,包括硬件设备都组织为文件格式
2)由众多单一的小程序组成,一个程序只实现一个功能,组合小程序完成复杂任务
3)尽可能避免跟用户交互:
4)使用纯文本文件保存配置信息
四、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
1)ifconfig:显示或配置网络设备
用法:ifconfig [-v] [-a] [-s] [interface] --查看网路设备信息
实例
[jun_shao@localhost ~]$ ifconfig //查看全部网络设备信息 [jun_shao@localhost ~]$ ifconfig -a //同上 [jun_shao@localhost ~]$ ifconfig wlp3s0 //查看指定网络设备的详细信息 wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::82a5:89ff:fe58:e60f prefixlen 64 scopeid 0x20<link> ether 80:a5:89:58:e6:0f txqueuelen 1000 (Ethernet) RX packets 1445 bytes 270800 (264.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 680 bytes 103589 (101.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)echo:回显请求
用法:echo: echo [-neE] [参数 ...]
实例
[jun_shao@localhost ~]$ echo $SHELL //请求显示当前使用的shell程序,$SHELL环境变量 /bin/bash [jun_shao@localhost ~]$ echo "$SHELL" //双引号为强引用,直接输出$SHELL环境变量的值 /bin/bash [jun_shao@localhost ~]$ echo -e '$SHELL' //单引号为弱引用,不引用变量的值,直接输出字符串;-e:启动转移字符,如\n 换行 $SHELL
3)tty:查看当前终端设备的文件名
终端:用户与主机交互必须用到的设备
终端的分类:
物理终端:直接介入本机的显示器和键盘:console
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,centos 6 默认启动6个虚拟终端Ctrl+Alt+FN:[1 6]
图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境,设备文件路径:/dev/tty#
模拟终端:图形界面下打开的命令行接口,基于SSH协议或telnet洗衣等远程打开的界面,设备文件:/dev/pts/# [0 oo)
用法:tty [选项]...
[jun_shao@localhost ~]$ tty //使用的模拟终端 /dev/pts/2
4)startx:显示图形终端
5)export:设置或显示环境变量。
实例
[root@localhost jun_shao]# export HISTCONTROL=ignorespace
6)pwd:显示当前工做目录的名字
实例
[jun_shao@localhost ~]$ pwd /home/jun_shao
7)history:管理历史命令,全部命令历史都存在缓存中
a.登陆进shell后新执行的命令只会记录在缓存中
b.登陆shell时,会读取命令历史文件记录下来
用法:history: history [-c] [-d 偏移量] [n]
[jun_shao@localhost ~]$ history //显示历史命令包括缓存中的命令 [jun_shao@localhost ~]$ history -c //清空历史命令 [jun_shao@localhost ~]$ history -d 111 //删除偏移量为111的历史命令 [jun_shao@localhost ~]$ history -a //将缓存中的历史命令手动添加到历史命令文件.bash_history 中
调用管理历史命令中命令的方式:
!#:重复执行第#条指令
!!:执行上一条命令
!string 调用最近以string开头的命令
!$:调用上一条命令的最后一个参数
ESC,.:调用上一条命令的最后一个参数
实例
[jun_shao@localhost ~]$ !245 //重复执行管理历史命令中的第245条的命令 ls vmware 公共 模板 视频 图片 文档 下载 音乐 桌面 [jun_shao@localhost ~]$ !! //重复执行上一条命令 ls /usr/ bin etc games include lib lib64 libexec local sbin share src tmp [jun_shao@localhost ~]$ !l //调用最近以l开头的命令 ls /usr/ bin etc games include lib lib64 libexec local sbin share src tmp [jun_shao@localhost ~]$ ls !$ //调用上一条命令的最后一个参数 ls /etc/fstab /etc/fstab
环境变量:
HISTSIZE:命令历史记录的条数
HISTFILE:显示当前用户管理历史文件的路径~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
实例
[root@localhost jun_shao]# echo $HISTFILE /root/.bash_history
控制命令历史的记录方式
环境变量:HISTCONTROL
ignoredups:忽略连续且重复的命令,系统默认
ignorespace:忽略全部以空白开头的命令
ignoreboth:上述两个同时生效
实例
[root@localhost jun_shao]# echo $HISTCONTROL //查看当前shell使用那种方式记录历史命令 ignoredups [root@localhost jun_shao]# export HISTCONTROL=ignorespace //更改shell记录历史记录的使用方式,只对当前shell有效 [root@localhost jun_shao]# echo $HISTCONTROL ignorespace
8)shutdown:关闭和重启系统命令
用法:shutdown [OPTIONS...] [TIME] [WALL...]
实例
[root@localhost jun_shao]# shutdown -r 10 //十分钟后重启系统 [root@localhost jun_shao]# shutdown -h 10 //十分后关闭系统 [root@localhost jun_shao]# shutdown -c //取消重启和关闭系统
9)poweroff:关机命令
10)reboot:重启命令
11)hwclock:显示计算机的硬件时钟
用法:hwclock [功能] [选项...]
实例
[root@localhost jun_shao]# hwclock //显示硬件时钟 [root@localhost jun_shao]# hwclock -s //从硬件时钟设置系统时间 [root@localhost jun_shao]# hwclock -w // 从当前系统时间设置硬件时钟
12)date:查看或设置系统时间
用法:date [选项]... [+格式]
或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
实例
[root@localhost jun_shao]# date //显示系统 [root@localhost jun_shao]# date +%F //完整日期格式,等价于 %Y-%m-%d [root@localhost jun_shao]# date 0820222216.23 //设置系统时间 2016年 08月 20日 星期六 22:22:23 CST
五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
Linux系统命令:
内部命令:是指写在bash里面,其执行速度高,由于解析命令不须要Shell建立子进程
外部命令:都有一个可执行文件,位于文件系统某个目录下
实例
[jun_shao@localhost ~]$ which ls //经过which查看ls程序存放在那个目录下 alias ls='ls --color=auto' //alias,别名,说明执行ls等于执行了ls --color=auto /usr/bin/ls [jun_shao@localhost ~]$ whereis ls //经过whereis命令查找ls的可执行文件、源代码文件、帮助文件在文件系统中的位置 ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
内部命令获取帮助的方式:
1)# COMMAND -h 或 # COMMAND --help
2)使用手册:# man COMMAND
3)信息页 :# info COMMAND
4)程序自身的帮助文档 README、INSTALL、ChangeLog
5)程序的官方文档
6)发行版的官方文档
7)google
实例
[jun_shao@localhost ~]$ cd -h -bash: cd: -h: 无效选项 cd: 用法:cd [-L|[-P [-e]]] [dir]
外部命令获取帮助信息的方式:
1)COMMAND --help
2)man COMMAND
手册页: /usr/share/man
man1 ... man8
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:配置文件格式
man6:游戏
man7:杂项
man8:管理类的命令(磁盘分区)
注意:有些关键在不止一个章节中存在帮助手册:
要查指定章节中的手册:man [1...8] command
man命令的配置文件:/etc/man.config
MANPATH /PATH/TO/SOMEWHERE:指明新的手册文件搜索位置
# man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示
六、请罗列Linux发行版的基础目录名称命名法则及功用规定
/boot:引导文件的存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都放在此目录 /bin:供说有用户使用的基本命令,不能关联至独立分区,os启动即会用到的程序 /sbin:管理类的基本命令,不能关联至独立分区,os启动即会用到的程序 /lib:基本共享库文件,以及内核模块文件(/lib/modules) /lib64:专用于X86_64系统上的辅助共享库文件存放位置 /etc:配置文件目录(纯文本文件) /etc/opt /etc/X11 /home/UserName:普通用户家目录 /root:管理员家目录 /media: 便携式移动设备挂载点 /mnt:临时文件系统的挂载点 /dev:设备文件和特殊文件的存放点 b:block device 随机访问 c:character device 线性访问 /opt:第三方应用程序安装点 /srv:系统上运行的服务用到的数据 /tmp:临时文件 /user:universal shared,read-only bin:供全部用户使用的,保证系统拥有完整功能而提供的应用程序 sbin: lib: lib64: include:C程序的头文件 share:结构化独立的数据,如doc,man等 local:第三方应用程序的安装位置 /var:variable data file 可变数据存放点 cache:应用程序缓存数据目录 lib:应用程序状态数据 local:专用于为/usr/local下的程序存储可变数据 lock:锁文件 log:日志目录及文件 /opt:专用于为/opt下的程序存储可变数据 run:运行中的进程相关的数据,一般用于存储进程的pid文件 spool:应用程序数据池 tmp:保存系统两次重启之间产生的临时数据 /proc:用于输出内核于进程信息相关的虚拟文件系统 /sys:输出当前系统上硬件设备相关信息的虚拟文件系统 /selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置