1.计算机的组成部分及作用
现代计算机主要由运算器,控制器,存储器,输入设备,输出设备五大核心部件组成。运算器主要用于做算术运算,逻辑运算等各种运算;控制器协调计算机各部件之间的协调工作,如控制总线的使用权限,完成寻址,对内存数据的访问,以及向内存写入运算结果等。存储器:编址存储设备,存储指令和数据的设备,RAM。输入设备:向计算机输入数据的设备如键盘,硬盘等。输出设备:显示计算结果的设备,如显示器,打印机,投影仪等。
2.Linux发行版,及各版本的区别和联系。
芬兰赫尔辛基大学的linus根据其导师Andrew所写的minix重新编写了一个kernel,并遵循与GPL开源协议,于1991年发布在网上,当时的计算机管理员就给其命名为linux。GUN正缺乏这样一个kernel,看到Linux如获至宝,全球的黑客级人物都投入大量心血完善此系统,Linux得到了快速的发展,从而出现了大量的发行版包括:slackware,suse,opensuse,debian,ubuntu,rhel,fedora,centos,gentoo,archlinux,LFS等。
slacklware于1993年德国的一家公司发出的GNU/Linux系统,他们坚持KISS(keep it simple stupid)原则,旗下比较著名的分支发行版S.u.S.e,德国 SuSE Linux AG公司于1994年发行并维护,后背Novell公司收购变为sles企业版和opensuse开源版。
debian1993年出现互联网黑客自发维护的版本,其包管理器为dpt,其最著名的二次发行版ubuntu,还有根据Ubuntu的三次发行版mint。
redhat于1994年出现,RHEL为redhat的企业版,每隔18个月发行一个新版本,其个人版捐赠给fedora组织,变为fedora,主要为测试各种新发布的软件,其发布周期为6个月。CentOS为RHEL的重编译版,去除了redhat版权相关的信息以及闭源包,完全兼容RHEL。他们的包管理器都是rpm。
archlinux是一款使用简单,系统轻量,软件更新速度快的GNU/Linux。
Gentoo是只提供最基本的,含有所需工具的Linux系统环境,用户需自己安装所需的软件并配置。
LFS并不是一个Linux系统,他只是一份说明书,教你一步一步编译自己的Linux系统。
3.Linux哲学思想
Linux哲学思想之一:一切皆文件。在Linux中几乎把所有的资源包括硬件设备(终端,网卡,I/O设备等)有以文件的形式保存在系统中。
Linux哲学思想之二:组合小程序,完成复杂任务。例如:把/etc/passwd文件的前6行的信息转换为大写字符后输出:head -n 6 /etc/passwd | tr ‘a-z‘ ‘A-Z‘
Linux哲学思想之三:尽量避免跟用户交互。使用脚本编程,以自动完成某些功能,如目前火热的自动化运维。
Linux哲学思想之四:使用存文本文件保存配置信息。可以通过使用文本编辑器来修改配置信息,如nano,vi,vim等
4.Linux命令使用格式:命令的通用格式:COMMAND(命令) [OPTIONS(选项)...] [ARGUMENTS(参数)...]
ifconfig 查看,配置,启用,禁用网络接口,此命令在centos7中已经被放弃使用;使用格式为:ifconfig [设备名] [ARGUMENTS...]
ifconfig后不加任何选项,表示查看当前接口信息(后加-a:查看所有接口的信息,-eth0:查看指定接口的信息)。
[[email protected] ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:CC:9C:50 inet addr:192.168.0.188 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fecc:9c50/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5126525 errors:0 dropped:0 overruns:0 frame:0 TX packets:3846 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:313025873 (298.5 MiB) TX bytes:730561 (713.4 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)
修改设备IP地址,子网,广播地址,注意此只能临时修改,在接口down掉再up时或者系统重启后将恢复之前的配置。
[[email protected] ~]# ifconfig eth0 192.168.0.220 netmask 255.255.255.0 boradcast 192.168.0.255 up
由于是虚拟机使用xhell已断开连接,结果如下截图。
up或者down网卡设备,结果如下图
echo命令:回显,Write arguments to the standard output(将写入的参数发送到标准输出设备上).
语法格式为:echo [OPTIONS...] [ARGUMENTS]...
-n 不在最后自动换行
-e 使用转义字符
\b 删除欠一个字符
\n 转义处换行
\t 制表符
[[email protected] ~]# echo $OLDPWD/etc/sysconfig/network-scripts[[email protected] ~]# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
tty:打印与标准输入连接的终端名称
[[email protected] ~]# tty/dev/pts/0
startx:启动GUI。
export:修改环境变量的值。
export 变量="new_value";变量赋值:把赋值符号右边的只赋予变量名所指向的内存空间。
例如修改命令历史记录方式:
[[email protected] ~]# export HISTCONTROL="ignorespace"[[email protected] ~]# echo $HISTCONTROLignorespace
pwd:显示当前工作目录。
history 记录命令历史,bash的内置命令。登陆shell时会读取命令历史文件HISTFILE(路径:~/.bash_history)中的命令, 登陆进shell后使用的命令存储在命令历史中,在退出shell是append到HISTFILE中。这里面涉及到了几个环境变量:HISTSIZE 命令历史记录命令的条数,默认1000条;HISTFILESIZE 命令历史文件所能记录的条数,默认1000条;HISTCONTROL 控制命令历史的记录方式,有三个值可选ignoredups(忽略重复的命令,连续且相同为“重复”),ignorespace(忽略空格开头的命令),ignoreboth(包含前两者)。
history # 显示最近使用过的# 条命令
history -c 情空当前shell中历史
history -d # 删除编号为#的命令
history -a 将命令历史新增的命令追加到历史文件中
调用命令历史:!# 重复调用第#条命令
!! 上一条命令
!string 调用最近一条以string打头的命令
调用上条命令最右侧的参数:!$、按下ESC松开按.、Alt+.
shutdown关机或重启语法格式为:shutdown [OPTION] TIME [MESSAGE]
options:-h 关闭电源
-r 重启
-c 取消上次shutdown命令
time: +m 多少分钟后执行
now 立即执行
hh:mm于具体的时间点执行
message: 执行此命令时默认想所有用户发出警告,也可自行编辑。
[[email protected] ~]# shutdown -h +10 Broadcast message from [email protected] (/dev/pts/0) at 0:58 ... The system is going down for halt in 10 minutes! #MESSAGE
poweroff:关机命令,通过调用shutdown -p,先关闭系统,最后再关闭电源。
reboot:重启命令,通过调用shutdown -r,实现。
date:日期和时间的显示和设置。
显示时间语法格式:date [OPTION]... [+FORMAT]
OPTION
-s 设置时间
FORMAT:格式化输出
%D 按%m/%d/%y显示
[[email protected] ~]# date +%D08/03/16
%F 按%Y-%m-%d显示
[[email protected] ~]# date +%F2016-08-03
%T 按%H:%M:%S显示
[[email protected] ~]# date +%T01:28:41
设置时间date [MMDDhhmm[[CC]YY][.ss]]
MM:月份
DD:几号
hh:小时
mm:分钟
YY两位年份
CCYY:四位年份
.ss:秒钟
[[email protected] ~]# date 08062144.50Sat Aug 6 21:44:50 CST 2016
hwclock 硬件时钟,显示硬件时钟
hwclock -s 将硬件时钟同步到系统时钟
hwclock -w 将系统时钟同步到硬件时钟
[[email protected] ~]# hwclockSun 07 Aug 2016 05:53:34 AM CST -1.174447 seconds[[email protected] ~]# hwclock -w[[email protected] ~]# hwclockSat 06 Aug 2016 09:55:17 PM CST -0.860810 seconds
5.如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
Linux获取帮助有以下几个方法:
内部命令:help COMMAND
外部命令:
1.COMMAND --help
COMMAND -h
2.man命令:man COMMAND
man手册主要存放在/usr/share/man, 其下有man1,man2,man3,man4,man5,man6,man7,man8...
各章节划分如下:
man1:用户命令(普通命令)
man2:系统调用
man3 :库调用
man4:设备文件及特殊文件
man5:配置文件格式
man6:游戏
man7:杂项
man8:管理类命令
man命令的配置文件:/etc/man.config
MANPATH /PATH/TO/SOMEWHERE:指明新的手册文件搜索位置
man -M /PATH/TO/SOMEWHERE:到指定位置下搜索COMMAND命令的手册页并显示。
3.info COMMAND
4.程序自身的帮助文档
/usr/share/doc/COMMAND-VERSION
5.程序官方文档
6.发行版的官方文档
http://www.redhat.com/docs
7.GOOGLE
8.slideshare.com
6.请罗列Linux发行版的基础目录名称命名法则及其功用规定。
/boot 引导文件的存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放于此目录。
/bin 供所有用户使用的基础命令;不能关联至独立分区,OS启动即会用的的程序;
/sbin 管理类的基本命令,不能关联至独立分区,OS启动即会用的的程序;
/lib 基本共享库文件,以及内核模块文件(/lib/modules)
/lib64 专用于X86-64系统上的的辅助共享文件库文件存放位置
/etc 配置文件目录*(纯文本文件 )
/home/USERNAME 普通用户的家目录
/root 管理员的家目录
/media 挂载便携式设备(U盘,光盘。。。)
cdrom
usb
/mnt 临时挂载文件系统的挂载点
/dev 特殊文件或设备文件存放的位置
b: block device 随机访问
c:character device 线性访问
/opt 第三方应用程序安装位置,一般不用
/srv 系统上运行的服务用到的数据
/tmp 临时文件
/usr:unlversal shared ,read-only data
bin:保证系统拥有完整功能而提供的应用程序
sbin:管理员使用
lib:
lib64
include C程序的头文件(header files),一般都以.h结尾。
share 结构化独立的数据,例如doc,man等
local:本地层级结构,取代早起opt,第三方应用程序的安装位置,可以关联至一个完全独立的分区下
bin,sbin,lib,lib64,etc,share
/var var层级结构,通常可以关联至一个独立分区,主要用于存放经常发生变化的数据文件。variable data files
cache:应用程序缓存数据目录
lib:可变状态数据
local:专用于为/usr/local下的应用程序存储可变数据
lock:锁文件
log:日志目录及文件
opt:专用于为/opt下的应用程序存储可变数据
run:与运行中的进程相关的数据,通常用于存放进程的pid文件
spool:应用程序数据池;
tmp:保存系统两次重启之间产生的临时数据。
/proc 用于输出内核与进程信息相关的虚拟文件系统
/sys 用于输出当前系统上硬件设备相关信息的虚拟文件系统