一、计算机的组成及其功能
自上个世纪40年代开始截止到目前,我们所有的计算机包括手持的智能终端设备,它们整个组织体系设备都是遵循冯诺依曼体系结构。
现代计算机设备的组成部分:
运算器、控制器、存储器、输入设备、输出设备
控制器:控制器是整个计算机的枢纽,一般是控制计算机整个部件之间协调的,比如运算器要想运算的话,首先得从存储器中取出数值。或者输入设备输入数。彼此之间要互相协调。而控制器就是控制这些部件能进行协调的,一个非常重要的组件。因此,现在计算机里面运算器和控制器被合二为一了,被称为中央处理单元。俗称:CPU
运算器:通常是用来做计算的,但是它的计算能力只能是做二进制运算。运算器的功能是对数据进行各种算术运算和逻辑运算,即对从控制器取来的数据进行加工处理。
存储器:编址存储设备(一个字节可以存储8位数据),存储器的功能是存储数据和各种信号、指令等信息,并在需要时输入输出存储的信息。
输入设备:向计算机输入信息的设备,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。例如:键盘,鼠标等。
输出设备:把计算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出来。
(补充知识)
I/O:与外部部件进行交互的组件,例如:磁盘、网卡
虚拟键盘也是一款交互式的I/O设备,比如我们现在的手持终端设备。都是采用虚拟键盘
I/O设备也是最慢的设备,属于性能最差的东西了,因为I/O设备中有很多机械式的。比如操作键盘,属于机械运动。机械运动跟电器运动比起来速率差的很大。
CPU:包含了运算器、控制器(只能运行二进制格式的指令),而且每个CPU通常都由CPU指令来工作,多个指令同时工作称为指令集。通常有两种模式指令:
①特权指令(只有操作系统运行特权指令)
②普通指令(应用程序只能调用普通指令)
CPU架构类型详解:
X86:(Intel和AMD兼容架构类型)
X64:(Intel和AMD兼容架构类型)64位兼容32位,反之不行。
ARM:只设计CPU,但是不生产,都由高通,三星等生产。
M68000,M68K:摩托罗拉公司生产
Power:IBM公司生产,是世界上第一个多核CPU,第一个8核,16核,第一个突破4Ghz的,现在性能最强的单颗CPU。但是生产工艺稍差点,目前还采用45纳米,60纳米的技术。功耗和发热量非常大。
Powerpc:苹果、摩托罗拉、IBM三者联合研发简装版的Power。性能非常强大。但目前也基本被Intel的I7等系列赶超。
ultrasparc:sun公司
alpha:HP公司
安腾:原来是HP的,后来卖给了Intel
二、剖析Linux的发行版,并描述不同发行版之间的联系与区别
Linux主流的三大原始发行版分别是,Slackware、Debian、Redhat;还有一些其他独立的发行版例如:ArchLinux等
Slackware
Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它持KISS(Keep It Simple Stupid)的原则。对于配置人员的技术性要求较高,是一款高灵活性和高透明性的linux发行版。它的二次发行版有很多,其中最著名的叫SUSE。而且基于SUSE进行的三次发行版叫OpenSUSE,是开源的,用户桌面应用的,但是也可以拿来在服务器上使用。在欧美国家用的较为广泛,比较流行。
Debian
Debian GNU/Linux,简称Debian,是三大发行版中唯一不是由商业组织维护的,但是debian仍然采用早期最松散的合作方式,大家通过互联网自发的组织维护,不收钱。但也是三大主流发行版中最接近于原汁原味的Linux的,而且对使用者要求,技能较高的一个。因为是自发组织,所以保留的那些黑客较高级的玩法特性。它的二次发行版最著名的就是Ubuntu,ubuntu拥有较为优美的图形界面,如果只是从普通用户的角度,其良好的界面可以说是linux界的Windows。ubuntu每6个月发布一个新版本。同时基于Ubuntu还有第三次发行版是Mint。
Redhat
Redhat成立于1993年,在美国北卡罗莱纳州成立,Redhat企业版叫RHEL,即Red Hat Enterprise Linux的缩写,红帽公司为了支持RHEL的发展,对原本的桌面版Red Hat Linux(已停止支持)发行套件与来自开源社区的Fedora 合并,成为 Fedora Core 发行版本,许多新的技术都会在Fedora中检验,如果稳定的话红帽公司则会考虑加入RHEL中,其实可以这么认为,Fedora就是Red Hat发行Red Hat企业版linux的一个实验版本,拿用户做测试,测试新硬件和新驱动程序的。所以,Fedora发行周期比较快,每6个月发一个新版本。而RHEL则是保守很多,每18月发行一个新版本。
三、Linux的哲学思想,并按照自己的理解对其进行解释和描述
①一切皆文件:
在Linux中,把几乎所有的资源,包括硬件设备都组织为文件格式。
②单一目的的小程序:
由众多单一目的的小程序组成:一个程序只实现一个功能,如果再Linux中完成复杂任务,就是组合小程序。
③尽量避免跟用户交互:
实现脚本编程,以自动完成某些功能。
④使用纯文本文件保存配置信息:
在Linux系统中使用一款合用的文本编辑器即能完成系统配置工作。而且Linux严格区分大小写。
四、说明Linux系统上命令的使用格式:详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
命令使用格式:
COMMAND [OPTIONS..][ARGUMENTS..] 选项;用于启用或关闭命令的某一些特殊功能: 短选项:-c,例如:-l,-h 多个短选项可命令使用,例如-l -h,可写作-lh: 长选项:--word,例如:--long,--human-readable 参数:命令的作用对像,向命令提供数据:
ifconfig:查看和配置网络接口IP,掩码,网关等信息
命令格式:ifconfig [选项] [参数]
常用选项:
up:启动指定网络设备/网卡
down:关闭指定网络设备/网卡
arp:设置指定网卡是否支持ARP协议
-a:显示全部接口信息
使用示例:
1、显示活动的网卡设备摘要信息:
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:F8:D8:8C inet addr:192.168.88.14 Bcast:192.168.88.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fef8:d88c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1082 errors:0 dropped:0 overruns:0 frame:0 TX packets:421 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:105902 (103.4 KiB) TX bytes:86306 (84.2 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:16436 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)
2、开启和关闭网卡设备:
[root@localhost ~]# ifconfig eth0 up [root@localhost ~]# ifconfig eth0 down
3、显示所有的网卡设备信息,包括关闭的网卡设备:
[root@localhost ~]# ifconfig -a
echo:显示器上显示一段文字,一般起到一个提示作用
命令格式:echo [ -n ] 字符串
常用选项:
-n :不要在最后自动换行
-e :允许使用转义符,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a :发出警告声;
\b :删除前一个字符;
\c :最后不加上换行符号;
\f :换行但光标仍旧停留在原来的位置;
\n :换行且光标移至行首;
\r :光标移至行首,但不换行;
\t :插入tab;
\v :与\f相同;
\\ :插入\字符;
\nnn:插入nnn(八进制)所代表的ASCII字符;
–help:显示帮助
–version:显示版本信息
使用示例
1、默认输出显示
[root@localhost ~]# echo 178linux.com 178linux.com
2、不换行输出:
[root@localhost ~]# echo "\n178linux.com" \n178linux.com
3、换行输出:
[root@localhost ~]# echo -e "\n178linux.com" /* -e:是逃逸字符,解释\n的意思 */ 178linux.com
tty:查看当前终端设备,如:ssh
[root@localhost ~]# tty /dev/pts/1
startx:打开图形化操作界面:
[root@localhost ~]# startx &
export:设置或显示环境变量:
命令格式:export [-fnp][变量名称]=[变量设置值]
常用参数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
使用示例:
1、查看环境变量:
[root@localhost ~]# export $PATH -bash: export: `/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin'
2、定义环境变量(仅当前shell进程有效)
[root@localhost ~]# export "NAME=tom"
pwd:查看当前工作目录:
命令格式:pwd[选项]
常用选项:
-L:目录连接链接时,输出连接路径。
-P:输出物理路径。
使用示例:
1、显示当前工作路径:
[root@localhost ~]# pwd /root
2、显示当前物理路径:
[root@localhost ~]# cd /etc/init.d/ [root@localhost init.d]# pwd -P /etc/rc.d/init.d [root@localhost init.d]# pwd /etc/init.d
3、显示链接路径:
[root@localhost init.d]# pwd -L /etc/init.d [root@localhost init.d]# pwd /etc/init.d
history:主要用于显示历史指令记录内容, 下达历史纪录中的指令:
命令格式:history[n]
常用参数:
n:数字,要列出最近的n笔命令列表。
-c:将目前的shell中的所有history内容全部清除。
-a:手动追加当前会话缓冲区的命令历史至历史文件中
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中。
-w :将目前的 history 记忆内容写入 histfiles。Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中。
使用示例:
1、显示命令历史中最后#条命令:
[root@localhost ~]# history 6 680 pwd 681 shutdown -h now 682 history 683* 684 history 5 685 history 6
2、调用命令历史中的命令:
!#: 重复执行第#条指令 !!: 执行上一条命令 !string:调用命令历史中的字符串
3、调用上一条命令的最后一个参数:
!$: [root@localhost ~]# cat !$ cat /etc/passwd ESC, . [root@localhost ~]# cat /etc/passwd Alt + . (需要在虚拟终端中实现)
shutdown:关闭或者重新启动系统:
命令格式:shutdown [选项]… 时间
常用选项:
-r:将系统服务器停掉后,立即关机(相当于reboot)
-h:将系统服务器停掉后,立即关机(常用)
-c:取消已经执行的shutdown命令
-k:不真执行关机,仅提示警告信息
参数:
now: 立刻
+m:相对时间表示法,从命令提交开始多少分钟之后;例如 +3(表示3分钟之后);
hh:mm: 绝对时间表示,指明具体时间(但是是24小时制);
使用示例:
1、立即关机:
[root@localhost ~]# shutdown -h now
2、指定系统10分钟后关机:
[root@localhost ~]# shutdown -h +10 Broadcast message from root@localhost.localdomain (/dev/pts/0) at 18:27 ... The system is going down for halt in 10 minutes!
3、取消已经执行的关机操作:
[root@localhost ~]# shutdown -c shutdown: Shutdown cancelled
4、指定系统30分钟后重启:
[root@localhost ~]# shutdown -r +20 Broadcast message from root@localhost.localdomain (/dev/pts/0) at 18:30 ... The system is going down for reboot in 20 minutes!
5、不真执行关机操作,仅提示警示信息:
[root@localhost ~]# shutdown -k now [root@localhost ~]# Broadcast message from root@localhost.localdomain (/dev/pts/0) at 18:31 ... The system is going down for maintenance NOW!
poweroff / reboot:关机/重启命令:
命令格式:
poweroff [选项]…
reboot [选项]…
通用选项:
-f: 强制,不调用shutdown程序
-p: 切断电源,默认参数;
-w:只是显示关机警告,不调用shutodnw命令,记录写到/var/log/wtmp
使用示例:
1、断电关机:
[root@localhost ~]# poweroff
2、重启:
[root@localhost ~]# reboot
hwclock:显示和设置硬件时钟:
命令格式:hwclock [功能] [选项]
参数:
-s,–hctosys:将系统时间写到硬件时间中,以系统为准
-w,–systohc:将硬件时间写到系统时间中。 以硬件为准
-set –date=<日期与时间>:设定硬件时钟;
-debug:显示hwclock执行时详细的信息;
-utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作;
使用示例:
1、查看当前硬件时间:
[root@localhost ~]# hwclock Sun 03 Jul 2016 06:53:45 PM EDT -0.689440 seconds
2、将系统时间写到硬件时间中,以系统为准:
[root@localhost ~]# date Sun Jul 3 18:59:42 EDT 2016 [root@localhost ~]# hwclock Sun 03 Jul 2016 06:59:47 PM EDT -0.438849 seconds [root@localhost ~]# hwclock -s [root@localhost ~]# hwclock Sun 03 Jul 2016 07:00:03 PM EDT -0.360427 seconds
date:显示或设定系统的日期与时间:
命令格式:date [参数]… [+格式]
常用参数:
%H 小时(以00-23来表示)
%I 小时(以01-12来表示)
%K 小时(以0-23来表示)
%l 小时(以0-12来表示)
%M 分钟(以00-59来表示)
%P AM或PM
%r 时间(含时分秒,小时以12小时AM/PM来表示)
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC
%S 秒(以本地的惯用法来表示)
%T 时间(含时分秒,小时以24小时制来表示)
%X 时间(以本地的惯用法来表示)
%Z 市区
%a 星期的缩写
%A 星期的完整名称
%b 月份英文名的缩写
%B 月份的完整英文名称
%c 日期与时间。只输入date指令也会显示同样的结果
%d 日期(以01-31来表示)
%D 日期(含年月日)
%j 该年中的第几天
%m 月份(以01-12来表示)
%U 该年中的周数
%w 该周的天数,0代表周日,1代表周一,依次类推
%x 日期(以本地的惯用法来表示)
%y 年份(以00-99来表示)
%Y 年份(以四位数来表示)
%n 在显示时,插入新的一行
%t 在显示时,插入tab
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
使用示例:
1、显示当前系统时间
[root@localhost ~]# date Sun Jul 3 19:07:51 EDT 2016
2、设置时间为2016年7月6号11时24分0秒
[root@localhost ~]# date 070611242016.00 Wed Jul 6 11:24:00 EDT 2016
3、显示今天日期(两种格式):
[root@localhost ~]# date +%F 2016-07-06 [root@localhost ~]# date +%D 07/06/16
4、显示今天年月日时间:
[root@localhost ~]# date +%F-%T 2016-07-06-11:28:03
五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的:
1、命令可分为内部命令和外部命令:
内部命令:Linux内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。也可以说,是shell本身自带的命令。
外部命令:在系统的某个路径一个与命令名称对应的可执行文件的命令。我们可以用which+Command(命令名)查找命令的位置。
使用示例:
使用type+COMMAND(命令名):可以来区分命令是外部命令还是内部命令。
[root@localhost ~]# type cd cd is a shell builtin /* 内部命令 */ [root@localhost ~]# type cat cat is hashed (/bin/cat) /* 外部命令 */
2、命令的获取帮助方法:
①内部命令获取帮助:
格式:(# command help)
[root@localhost ~]# help cd cd: cd [-L|-P] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the HOME shell variable. The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon (:). A null directory name is the same as the current directory. If DIR begins with a slash (/), then CDPATH is not used. If the directory is not found, and the shell option `cdable_vars' is set, the word is assumed to be a variable name. If that variable has a value, its value is used for DIR. Options: -L force symbolic links to be followed -P use the physical directory structure without following symbolic links The default is to follow symbolic links, as if `-L' were specified. Exit Status: Returns 0 if the directory is changed; non-zero otherwise.
②外部命令获取帮助:
(1)、使用COMMAND –help (# COMMAND –help)
[root@localhost ~]# cat --help Usage: cat [OPTION]... [FILE]... Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB --help display this help and exit --version output version information and exit With no FILE, or when FILE is -, read standard input. Examples: cat f - g Output f's contents, then standard input, then g's contents. cat Copy standard input to standard output. Report cat bugs to bug-coreutils@gnu.org GNU coreutils home page: <http://www.gnu.org/software/coreutils/> General help using GNU software: <http://www.gnu.org/gethelp/> For complete documentation, run: info coreutils 'cat invocation'
(2)使用手册(manual)
# man COMMAND
(3)信息页
# info COMMAND
(4)程序自身的帮助文档
README
INSTALL
Changelog
(5)程序官方文档
官方站点:Documentation
(6) 发行版的官方文档
(7) Google搜索
3、man详细方法使用方法
man是分章节号的,man # COMMAND(# 表示章节号),手册页存放在该目录下:/usr/share/man
man1 ... man8 man1 : 用户命令(User Commands) man2 : 系统调用 man3 : C库调用 man4 : 设备文件及特殊文件 man5 : 配置文件格式 man6 : 游戏 man7 : 杂项 man8 : 管理类的命令
man帮助手册中的常用段落说明:
NAME --->程序的名字 SYNOPSIS --->使用简要帮助 [] : 可选内容 a|b:二选一 <> : 必选内容 a|b :二选一 ... : 同一内容可出现多次 {}:定界,只对哪些内容2选1,或多选1,辅助符号 DESCRIPTION --->功能详细描述 OPTIONS --->专用选项解释 EXAMPLES --->使用示例参考 AUTHOR --->作者 REPORTING BUGS --->报告BUG联系方式和人 SEE ALSO --->参考帮助
man命令简单常用的操作方法:
sapce,^V,^f,^F: 向文件尾部翻页操作 b,^B : 向文件首部翻屏 d,^D : 向文件尾部翻半屏 u,^U : 向文件首部翻半屏 回车键,^N,e,^E,j,^J :向文件尾部翻一行: y,^Y,^P,k,^K :向文件首部翻一行: q : 退出: # :跳转至第#行: 1G:回到文件首部 G:翻至文件尾部 文本搜索: /KEYWORD : 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索,默认不区分大小写: n:下一个 N:上一个 ?KEYWORD : 以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索,默认不区分大小写: n:跟搜索命令同方向, 下一个 N:跟搜索命令反方向, 上一个
六、罗列Linux发行版的基础目录名称命名法则及功用规定
FHS: (FileSystem Heirache Standard)(文件系统层级结构标准)如下:
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录; /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序; /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序; /lib:基本共享库文件,以及内核模块文件(/lib/modules); /lib64:专用于x86_64系统上的辅助共享库文件存放位置; /etc:配置文件目录(纯文本文件); /home/USERNAME:普通用户家目录; /root:管理员的家目录; /media:便携式移动设备挂载点; cdrom usb /mnt:临时文件系统挂载点; /dev:设备文件及特殊文件存储位置; b: block device,随机访问 c: character device,线性访问 /opt:第三方或附加类应用程序的安装位置; /srv:系统上运行的服务用到的数据; /tmp:临时文件存储位置; /usr: universal shared, read-only data; bin: 保证系统拥有完整功能而提供的应用程序; sbin: lib: lib64: include: C程序的头文件(header files); share:结构化独立的数据,例如doc, man等; local:第三方应用程序的安装位置; bin, sbin, lib, lib64, etc, share /var: 可变数据文件:variable data files cache: 应用程序缓存数据目录; lib: 应用程序状态信息数据; local:专用于为/usr/local下的应用程序存储可变数据; lock: 锁文件 log: 日志目录及文件; opt: 专用于为/opt下的应用程序存储可变数据; run: 运行中的进程相关的数据;通常用于存储进程的pid文件; spool: 应用程序数据池; tmp: 保存系统两次重启之间产生的临时数据; /proc: (伪文件系统)用于输出内核与进程信息相关的虚拟文件系统; /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统; /selinux: security enhanced 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_杭州-Debian,如若转载,请注明出处:http://www.178linux.com/20729
评论列表(1条)
写的很好,排版也很棒,加油