1、描述计算机的组成及其功能。
计算机由五大组件组成包括:计算器,控制器,存储,输入设备,输出设备。
运算器:做运算,且只能做二进制运算,包括算术运算和逻辑运算,如加减乘除,移位,取模。运算器的核心是加法器。
控制器:控制整个计算机部件之间协调。比如做计算,运算器先从存储器取数,运算器作运算,再回存存储器。这整个过程都由控制器做协调。
其中,计算器与控制器组成CPU,即中央处理单元。
CPU由多组芯片(电路)构成,每个芯片都是由多个纳米级晶体管(门电路)按特定逻辑组织在一起的。
每个芯片,功能不同,运算能力以及指令也不同。
CPU的功能实现通过指令进行,多个指令组成指令集。其物理实现即通过调用CPU针脚的功能进行。
针脚是为完成电气/电子运算最基本,最基础的功能。
存储器:memory 编址存储单元设备。8位一个单元(字节),英文为cell,也称为存储盒子。
内存:众多字节联合起来形成的总体存储空间。内存中每个存储单元都有名字,即地址。因此最多最大的地址,决定内存的最大的寻址空间。32位计算机总线寻址范围是2的32次方范围的内存,因此32位计算机最多寻址4G内存。数据存储在内存中,可能占据一个存储空间,也可能是一片连续的存储空间。CPU读取数据的方式可以是直接寻址(直接操作数),也可以是间接寻址(间接操作数)。因为存储器与运算器的交互取决于较慢的那个,即内存的速度较慢影响了CPU的运算速度,为了协调二者的工作,缓存,接近CPU的速度的存储出现了。
缓存:分为一级缓存,二级缓存,三级缓存,具有造价高,容量小的特点,加速CPU与内存交互,协调各个部件的工作,因部件的速率不同,最终提升计算机的性能。
硬盘:因内存是易失性存储器,断电后数据丢失,因此,为永久存储数据,就需要硬盘。硬盘主要分为机械硬盘(磁盘)以及固态硬盘(SSD)。
输入设备,输出设备统称IO设备,是计算机与外部交互的组件,其特点是性能较差,多机械式交互。如网卡,键盘,鼠标,显示器,音响等。
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
Linux的发行版主要包括slackware,debian和redhat系列。
slackware
suse(基于slackware的发行版)
Opensuse(基于suse的二次发行版 个人操作系统)
sles(基于suse的二次发行版 企业级操作系统)
debian
ubuntu(基于debian的发行版)
mint(基于ubuntu的二次发行版)
redhat
rhel:redhat enterprise linux 企业级系统,相对保守,每18个月发行一个新版本
fedora:个人版,用于测试新功能,每6个月发行一个新版本
CentOS:rhel的再编译版本,兼容rhel的格式
Arch:Linux轻量级系统,程序包管理与众不同
Gentoo:现编译的Linux系统,原滋;原味
Android:Linux内核+busybox+java虚拟机
LFS:Linux From Scratch 自己从头开发一个Linux发行版
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性阐述。
自由软件:自由使用;自由学习和修改;自由分发;自由创建衍生版。
1、一切皆文件:把几乎所有资源,包括硬件设备都组织为文件格式;
2、由众多单一目的小程序组成:一个程序只实现一个功能,而且要做好。多个小程序组合完成复杂的任务;
3、尽量避免跟用户交互。目标:实现脚本编程,以自动完成某些功能;
4、使用纯文本文件保存配置信息。目标:一款使用的文本编辑器都能完成系统配置工作。
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
命令格式:COMMAND [OPTION…] [ARGUMENT…]
选项:用于启动或关闭命令的某个或某些功能,一般短选项由"-"引导,长选项由“–”引导。选项间用空格分开。
短选项:-c单个字符,例如-l,-h。多个短选项一起使用可合并,例如-l -h可写作-lh
长选项:–word单词,例如–long, –human-readable。长选项一般不能合并
参数:命令的作用对象,向命令提供数据。多个参数间用空格分隔。
注意:
1、多选项,以及多参数和命令之间都应该使用空白字符分隔;
2、取消命令执行:Ctrl+c。
ifconfig:configure a network interface 配置网口,查看网口信息。
ifconfig [interface]
ifconfig interface [aftype] options | address …
[root@localhost /]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:E3:76:C9 inet addr:192.168.9.103 Bcast:192.168.9.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fee3:76c9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14011 errors:0 dropped:0 overruns:0 frame:0 TX packets:7973 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15773354 (15.0 MiB) TX bytes:595864 (581.8 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:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:578 (578.0 b) TX bytes:578 (578.0 b)
echo:回显命令,shell内建命令
– display a line of text
– write arguments to standard output
echo [string …]
echo [SHORT-OPTION]… [STRING]…
echo LONG-OPTION
echo+变量名:取变量的值并回显
单引号:强引用,真正显示引号内容,即变量名;
双引号:弱引用,变量替换,显示变量名所指向空间所存储的数据。
-n 禁止自动添加换行符,即回显后不另起一行,默认回显后添加换行符
-e 允许使用转义符,即用于控制功能的某些符号,如\n 换行,\t 制表符。
[root@localhost /]# echo "$SHELL" /bin/bash [root@localhost /]# echo '$SHELL' $SHELL
tty:- print the file name of the terminal connected to standard input
显示当前连接终端信息
tty [OPTION]…
物理终端:直接接入本机的显示器和键盘设备等,路径:/dev/console。设备启动时使用物理终端。
虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端。为保持unix特性,默认启动多个虚拟终端。CenOS 6默认启动6个虚拟终端,切换快捷键: Ctrl+Alt+F1->F6。默认启动虚拟终端1(图形终端登录)
图形终端:虚拟终端的一种,但额外提供桌面环境。
虚拟终端设备文件路径:/dev/tty#(#表示数字)
模拟终端:图形界面下打开的命令行接口,基于SSH协议或telnet协议等远程打开的界面。以软件方式实现,不会附加在物理终端之上,而是图形终端或其他远程终端之上。
模拟终端设备文件路径:/dev/pts/#(#表示数字)
[root@localhost ~]# tty /dev/pts/0
startx: – initialize an X session
启动XWindow图形界面
GUI:图形用户界面,由X protocol(远程显示协议),window manager(窗口管理器),desktop(桌面系统)组成
常见桌面系统类型:GNOME(c,gtk),XFCE(嵌入式轻量级桌面环境),KDE(c++,qt)
export: Set export attribute for shell variables.设置,显示环境变量
export [-fn] [name[=value] …] or export -p
-f refer to shell functions 关联到shell方程
-n remove the export property from each NAME 根据名字删除环境变量
-p display a list of all exported variables and functions 显示环境变量列表
[root@localhost ~]# export -p declare -x G_BROKEN_FILENAMES="1" declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="localhost.localdomain" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root" declare -x MAIL="/var/spool/mail/root" declare -x OLDPWD declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" declare -x PWD="/root" 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.9.102 60130 22" declare -x SSH_CONNECTION="192.168.9.102 60130 192.168.9.103 22" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -x USER="root"
export NAME=VALUE 此设置临时生效,长期生效需修改配置文件/etc/profile(全局),~/.bashrc,~/.bash_profile(针对某个用户)
history:
管理命令历史 Display or manipulate the history list.
history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg…]
Options:
-c clear the history list by deleting all of the entries清空命令历史
-d offset delete the history entry at offset OFFSET.用编号删除历史中指定的命令
-a append history lines from this session to the history file 追加本次会话新执行的命令历史列表到历史文件中
原理:
登录进shell后新执行的命令只会记录在缓存中
登录shell时,会读取命令历史文件(~/.bash_history)中记录下的命令
这些新命令在用户退出时会“追加”至命令历史文件中
history的环境变量:
HISTSIZE:命令历史记录的条数
HISTFILE:每个用户独立的命令历史文件,~/.bash_history位于用户家目录下
HISTFILESIZE:命令历史文件记录历史记录的条数
history #:显示历史中最近的#条命令
[root@localhost ~]# history 5 6 export -p 7 man history 8 type history 9 help history 10 history 5
快捷调用历史中的命令:
!#:重复执行第#条命令
!!:重复执行上一条命令
!string:执行最近一个以指定string开头的命令
若不想运行的命令记录到历史中,可通过环境变量HISTCONTROL控制命令历史的记录方式。
环境变量HISTCONTROL取值
ignoredups:忽略重复的命令(连续且相同的命令方为“重复”),默认值
ignorespace:忽略以空白开头的命令。
ignoreboth:以上两种均生效(ignoredups,ignorespace)
shutdown: – bring the system down关机,重启命令
shutdown [OPTION]… TIME [MESSAGE]
OPTION:
-r reboot重启
-h halt关机
-c 取消关机cancel
TIME:
now立刻
+m分钟,例如:+3,相对时间表示法,从命令提交开始多久之后执行命令
hh:mm: 绝对时间表示,指明具体时间
reboot 重启计算机
poweroff关闭计算机
reboot, halt, poweroff – reboot or stop the system
-f ,–force 强制执行命令,不调用shutdown,类似冷重启,不保存数据。一般shutdown会安全关机并保存数据,数据可还原。(一般不用-f)
-p 切断电源
–verbose 显示详细信息
hwclock:- query and set the hardware clock (RTC) 查询设置硬件时钟
Linux的两种时钟
硬件时钟:主板上纽扣电池为晶体振荡器供电,实时时钟,开机时读取硬件时间并设定为当前系统时间
系统时钟:由Linux内核通过CPU的工作频率进行的计时。
hwclock命令显示硬件时钟,并实现硬件时钟与系统时钟同步
-s –hctosys 以硬件时钟为准
-w –systohc 以系统时钟为准
date 显示系统时钟,管理当前系统日期和时间
– print or set the system date and time
date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
MM:月份 DD:几号 hh:小时 mm:分钟 YY:两位年份 CCYY:四位年份 .ss秒种
显示今天为周几:date +%a/date +%A
显示今天的日期:date +%D/date +%F
获取当前系统时间:date +%T/date +%H-%M-%S
date +%F-%H-%M-%S
设定系统时间:
[root@localhost ~]# date 070916132016.52 Sat Jul 9 16:13:52 PDT 2016 [root@localhost ~]# date Sat Jul 9 16:13:57 PDT 2016
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
输入type命令查看命令类型:内/外部命令
内部命令:shell自带
内部命令帮助:help + COMMAND
外部命令:都有一个可执行程序,位于文件系统某目录下,可通过which,whereis查看
shell程序搜寻外部命令可执行文件的路径定义在PATH环境变量中
#echo $PATH 路径优先级自左向右搜寻
hash:shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中
外部命令帮助:
(1)#COMMAND –help,COMMAND -h
(2)使用手册(manual)简写#man
(3)信息页 #info COMMAND
(4)程序自身的帮助文档,README,INSTALL,Changelog
通常在目录/usr/share/doc/COMMAND-VERSION下
(5)程序官方文档,官方站点的Documentation
(6)发行版的官方文档
(7)Google
(8)www.slideshare.com
man到相应的章节下找到命令对应的压缩文件,解压后用less命令展示。
注意:
有些关键字在不止一个章节中存在帮助手册
要查看指定章节中的手册:man # COMMAND
man文档的章节划分:
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备及特殊文件
man5:配置文件格式
man6:游戏相关
man7:杂项
man8:管理类的命令
man命令的配置文件:/etc/man.config
->MANPATH /PATH/TO/SOMEWHERE:通过文本指定新的手册文件搜索位置
->man -M /PATH/TO/SOMEWHERE COMMAND:通过命令方式到指定位置下搜索COMMAND命令的手册并显示之。
man帮助手册中常用段落说明:
NAME:程序的名字
SYNOPSIS:简要使用帮助
[]:可选内容
<>:必选内容
a|b:二选一,多选一
…:同一个内容可出现多次
{}:成组,多选一
DESCRIPTION:详细功能
OPTIONS:专用选项解释
EXAMPLES:使用示例参考
AUTHOR:作者
REPORTING BUGS:报告BUG联系方式和人
SEE ALSO:参考帮助
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
/boot:引导文件的存放目录,存放操作系统启动所依赖的文件,一般为一个独立分区
/bin:供所有用户使用的二进制命令,linux启动会用到这些程序,不能关联至独立分区,OS启动会用到的程序
/sbin:管理类的基本命令,不能关联至独立分区,OS启动即会用到的程序
/lib:基本共享库文件,以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/etc/opt:第三方软件安装文件配置文件目录
/etc/X11:图形界面XWindow系统的配置文件目录
/etc/sgml:SGML配置文件目录
/etc/xml:xml配置文件目录
/home 用户家目录,分两类用户:管理员,普通用户
/home/USERNAME:普通用户家目录
/root管理员家目录
/media:便携式移动设备挂载点,如U盘,光盘
/mnt:临时文件系统挂载点
/dev:设备文件目录
/opt:第三方应用程序安装位置
/srv:系统上运行服务用到的数据存放目录
/tmp:临时文件存储位置
/usr:独立的层级文件系统,存放除/bin,/sbin下基本命令外,额外其他的应用程序以及诸多只读资源和共享资源文件,通常会关联到独立分区。
usr:universal shareable read-only
/usr is the second major section of the filesystem,/usr is shareable,read-only data
/bin:保证系统拥有完整功能而提供的应用程序
/sbin:保证系统拥有完整功能而提供的管理类应用程序
/include:C程序的头文件,库文件的调用接口
/share:结构化独立数据,如man,doc,系统背景图片等
/X11R6:XWindow系统的文件
/games:游戏和教育类二进制文件
/lib
/lib64
/src 源代码
/local 第三方应用程序的安装位置,取代/opt,可关联至完全独立的分区
bin,sbin,lib,lib64,etc,share
/var 可变数据文件,通常会独立分区
/cache:应用程序缓存数据目录
/lib:应用程序状态信息数据
/local:专用于为/usr/local下的应用程序存储可变数据
/lock:锁文件
/log:日志目录及文件
/opt:专用于为/opt下的应用程序存储可变数据
/run:运行中的进程相关的数据,通常用于存储进程的pid文件
/spool:应用程序的池数据
/tmp:保存系统两次重启之间产生的临时数据
/mail:邮件目录
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统
/misc:杂项
/lost+found:ext文件系统默认格式化后产生的路径,与系统没关系
/selinux:security enhanced linux 安全加强的Linux,selinux相关安全策略信息存储位置
Linux上应用程序的组成部分:
二进制程序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
库文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
配置文件:/etc,/etc/Directory,/usr/local/etc
帮助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc
原创文章,作者:N21_走心哥,如若转载,请注明出处:http://www.178linux.com/20555
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油