一、计算机组成部分及其功能:硬件系统和软件系统
1、计算机的硬件系统组成及其功能:
运算器:处理数据的算术运算及逻辑运算即数据加工处理;
控制器:根据接收到的指令,负责向各部件发送控制信号,保证各部件协调工作;
存储器:计算机记忆货暂存数据的部件,存放计算机程序及参与运算的各种数据;
输入设备:实现计算机原始程序和数据的输入;
输出设备:实现计算机结果的输出;
2、计算机的软件系统组成及其功能:
系统软件:控制计算机运行、管理计算机的各种资源、并为应用软件提供支持和服务的一类软件;
应用软件:为某一专门的应用目的而开发的计算机软件;
二、主流的Linux发行版本
1、Gentoo:Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装更复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。Gentoo的哲学是自由和选择;
2、ArcLinux:Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。由 Judd Vinet 于2002年启动。Arch Linux是起源于加拿大的一份致力于使用简单、系统轻量、软件更新速度快的GNU/Linux发行版。创始人Judd Vinet出于对Debian以及Red Hat的包管理器不满,以及受CRUX影响而创立。最初针对i686,但是如今对x86_64也支持良好,而且还派生出了针对ARM平台的Arch Linux ARM以及针对HURD内核的Arch Hurd(发展缓慢);
3、Debian:或者称Debian系列,包括Debian、Ubuntu、Knoppix、Kali Linux等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get/dpkg包管理方式,Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了;
4、Slackware:Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 很多特性体现出了KISS原则,最为有名的一些例子就是不依赖图形界面的文本化系统配置、传统的服务管理方式和不解决依赖的包管理方式。它的最大特点就是安装灵活,目录结构严谨,版本力求稳定而非追新。Slackware的软件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安装脚本。Tgz/Txz 对于有经验的用户来说,比RPM更为灵活,并避免了APT 之类管理器可能带来的的依赖地狱。这个系列包含SUSE、openSuSE等;
5、RedHat:应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,建议只用于桌面应用。
三、Linux哲学思想
1、一切皆文件:把几乎所有的资源抽象成文件形式;包括硬件设备,通信接口等;
2、由总多功能单一的程序组成,并且组合小程序完成复杂的任务;
3、尽量避免与用户进行交互,使用编程的方式实现自动化任务;
4、使用文本文件保存配置信息。
四、命令使用方法详解(ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date)
1、ifconfig命令:用于配置和显示Linux内核中网络接口的网络参数
对应的配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736 (CentOS 7) /etc/sysconfig/network-scripts/ifcfg-eth0 (CentOS 6)
语法格式:ifconfig [OPTIONS]
参数:
1、a:显示所有的网卡设备及其信息,其中包含非活动的;
2、up/down:开启/关闭指定的网卡设备;
3、mtu N:设置网卡设备的MTU为N;
4、netmask:设置网口设备的子网掩码;
5、hw<网络设备类型><硬件地址>:设置网卡设备的类型与硬件地址;
6、-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;
7、-pointopoint<地址>:与指定地址的网卡设备建立直接连线,此模式具有保密功能;
实例:
1、显示所有的网卡设备(CentOS 7)
说明:
(1)、eno16777736是网卡的名称,其中包含inet(ipv4地址)、netmask(子网掩码)、broadcast(广播地址)、inet6(ipv6地址)、ether(物理地址)等网卡设备相关信息;
lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。其ipv4地址为127.0.0.1
(2)、启动关闭指定网卡
~]# ifconfig eno16777736 up
~]# ifconfig eno16777736 down
(3)、ifconfig修改MAC地址
~]#ifconfig eno16777736 hw ether XX:XX:XX:XX:XX:XX
(4)、配置IP地址(此方法配置的IP地址仅当前有效,重启后恢复)
[root@localhost ~]# ifconfig eth0 192.168.2.10
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
(5)、设置最大传输单元:
ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes
2、echo命令:用于在shell中打印shell变量的值,或者直接输出指定的字符串
语法格式:echo (选项) (参数)
参数:
-e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab; \v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
实例:
[root@localhost ~]# echo a\/b
输出结果:a\/b
3、tty命令:显示终端机连接标准输入设备的文件名称
语法格式:tty [OPTION]…
参数:
-s或–silent或–quiet 不显示任何信息,只回传状态代码。
实例:
[root@localhost ~]# tty
输出结果:/dev/pts/3
说明:
Linux常见终端:(n为编号)
/dev/ttySn 串行端口终端[1,7]
/dev/pty 伪终端
/dev/ttyn 控制终端[1,6]
/dev/console 物理终端
pts(pseudo-terminal slave)是pty的实现方法
4、startx命令:用来启动X Window,实际上启动X Window的程序为xinit
5、export命令:用于将shell变量输出为环境变量,或者将shell函数输出为环境变量
6、pwd命令:显示用户当前工作目录
7、history命令:是一条非常实用的shell命令,可以显示出之前在shell中运行的命令
定制history的功能,可以通过环境变量实现;
HISTSIZE:shell进程可保留的命令历史的条数;
HISTFILE:持久保持命令历史的文件;
.bash_history
HISTFILESIZE:命令历史文件的大小;
命令用法:
history [ -c ] [ -d 偏移量 ] [ n ]
或 history -anrw [ 文件名 ]
或 history -ps 参数 [ 参数… ]
-c:清空命令历史;
-d offset:删除指定命令历史
-r:从文件读取命令历史至历史列表中
-w:把历史列表中的命令追加到历史文件中
history n:显示最近的n条命令;
调用命令历史列表中的命令:
!#:再一次执行历史命令列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再次执行命令历史列表中最近一次以STRING开头的命令
注意:命令的重复执行有时候需要依赖于幂等性;
调用上一条命令的最后一个参数:
快捷键:Esc、. 或 符号组合:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令
ignorespace : 忽略空白字符开通的命令
ignoreboth:以上两者同时生效
实例:
1、运行history命令:
[root@localhost ~]# history
2、显示最近10条历史命令
[root@localhost ~]# history 10
8、shutdown、poweroff、reboot命令
(1)shutdown命令:可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
选项:
-c:当执行“shutdown -h 11:50”指令时,使用"shutdown -c"就可以中断关机的指令;
-f:重新启动时不执行fsck;
-F:重新启动时执行fsck;
-h:将系统关机;
-k:只是送出信息给所有用户,但不会实际关机;
-n:不调用init程序进行关机,而由shutdown自己进行;
-r:shutdown之后重新启动;
-t<秒数>:送出警告信息和删除信息之间要延迟多少秒。
(2)poweroff命令:用来关闭计算机操作系统并且切断系统电源
选项:
-n:关闭操作系统时不执行sync操作;
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
(3)reboot命令:重新启动正在运行的Linux操作系统
选项:
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-n:重开机之前不检查是否有未结束的程序;
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
9、hwclock命令:查询或设置硬件时钟
选项:
–adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟;
–hctosys:将系统时钟调整为与目前的硬件时钟一致;
–set –date=<日期与时间>:设定硬件时钟;
–show:显示硬件时钟的时间与日期;
–systohc:将硬件时钟调整为与目前的系统时钟一致;
–utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作;
10、date命令:显示或设置系统的日期时间
选项:
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
常用时间格式字符串:
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%y 年的最后两个数字(1999则是99)
实例:
格式化输出当前日期:
五、Linux系统上获取命令的帮助信息
1、内嵌命令:help COMMAND
2、外部命令:
(1)命令自带简要格式的使用帮助
# COMMAND –help
(2)命令使用手册:manual
默认情况下存于/usr/share/man目录下,使用man命令进行查看
# man COMMAND
man手册分为以下几个章节:
1 用户命令(User Commands)
2 系统调用(System Calls)
3 C库调用(Library Calls)
4 特殊文件(usually found in /dev)
5 文件格式(File Formats)
6 游戏(Games)
7 其它(Miscellaneous)
8 系统管理命令(System Administrator Commands)
9 内核(Kernel)
(3)、info COMMAND:获取命令的在线手册
(4)、很多应用程序会自带帮助文件
存储于/usr/share/doc/APP-VERSION
(5)、主流发行版官方文档
(6)、程序的官方文档
(7)、搜索引擎
六、Linux目录结构及其目录说明
原创文章,作者:N22-江西-H随风,如若转载,请注明出处:http://www.178linux.com/34018
评论列表(1条)
存在的问题:
计算机五大部件中关于存储器的描述有错别字
建议:
1、关于命令的使用可列举一些例子,比如如何设置 系统时钟,命令历史中带有操作时间戳,命令历史日志等
2、建议排版使用markdown