Linux成长之路-基础篇
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux成长之路-基础篇相关的知识,希望对你有一定的参考价值。
一、计算机组成及功能
1、计算机的组成
计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的 组成及逻辑设计等。
主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备。
2、各组成部分的功能
(1)运算器:运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与”、“或”、“非”这样的基本逻辑运算以及数据的比较、移位等操作。
(2)控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。
(3)存储器:存储器分为内存和外存。内存是电脑的记忆部件,用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序。内存可以分为随机访问存储器和只 读存储器,前者允许数据的读取与写入,磁盘中的程序必须被调入内存后才能运行,中央处理器可直接访问内存,与内存交换数据。
(4)输入设备:输入设备是向计算机输入数据和信息的设备。
(5)输出设备:是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。
二、Linux的发行版本与各版本间的联系和区别
Linux发行版主要有三个分支:Debian、Slackware、Redhat,如图:
1、Debian系列
(1)Debian系列包括Mint和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资 料也很丰富,有很多支持的社区,有问题求教也有地方可去:)
1> Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器;严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
2> Linux Mint:基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验。
2、Slackware系列
是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则,就是说没有任何配置系统的图形界面工具。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware Linux的另一个突出的特性也符合KISS原则:Slackware没有如RPM之类的成熟的软件包管理器。Slackware的软件包都是通常的tgz(tar/gzip)格式文件再加上安装脚本。Tgz对于有经验的用户来说,比RPM更为强大,并避免了RPM之类管理器的依赖性问题。Slackware与其他的发行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力图成为“UNIX风格”的Linux发行版本。只吸收稳定版本的应用程序,并且缺少其他linux版本中那些为发行版本定制的配置工具。
1> suse:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。
2> SLES(SUSE Linux Enterprise Server(SLES):企业服务器操作系统,是唯一与微软系统兼容的Linux操作系统。
3> OpenSUSE:由suse发展而来,旨在推进linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好。
3、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的稳定性较差,最好只用于桌面应用。
1> rhel(red hat enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统。早起版本主要用于桌面环境,免费:
2> Fedora:基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux取代Red Hat Linux在商业应用的领域。Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本。
3> Centos:基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。
(4)其他发行版本:
1、 Gentoo:基于linux的自由操作系统,基于Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点, Gentoo的哲学是自由和选择。得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西--你想让它成为什么,它就可以成为什么。由于它近乎无限的适应性,可把Gentoo称作元发行版。
2、 Aech Linux(或称Arch):以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅和代码最小化的设计宗旨。
不通发行版之间的联系和区别:
联系:所有发行版都是使用Linux内核;都需要遵循GNU的GPL协定;所有的发行版都有自己的版本号,版本格式约定基本一样(主版本号.次版本号.发行号.修正号)。
区别:发行版的本质区别,在于继承不同版本的内核,库、程序的组成。不同发行版几乎采用了不同包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系统,包文件以RPM为扩展名;Ubuntu系列,Debian系列使用基于DPKG包管理系统,包文件以deb为扩展名。)
三、Linux的哲学思想
1、一切皆文件:是Unix/Linux的重要哲学思想之一,不仅将文件、目录、字符设备、块设备、 套接字等在 Unix/Linux
中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面,作用就是提高资源的管理效率。
2、由众多功能单一的小程序组成:一个程序只做一件事,并且能组合好完成复杂的任务,作用是分工明确,方便进程管理,好处是小程序易于理解,维护,
占用系统资源少。
3、避免令人困扰的图形界面:使用命令行接口执行效率更高,易于以编程的方式实现自动化任务。
4、配置数据存储在文本中:linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,易于阅读和编辑。
5、提供机制而非策略:从笼统意义上讲,所谓机制就是“提供什么功能”;策略就是“实现什么功能”。其实,机制就是将整个系统看作是一个资源的集合,当
任务来临时能够提供多少资源供其使用,却不介入任务的运行过程,任凭用户自己分配。
四、说明Linux命令的使用格式
1、ifconfig
1.命令格式:
ifconfig [网络设备] [参数]
2.命令功能:
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
3.命令参数:
up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IP地址
del 删除指定网卡的IP地址
<硬件地址> 配置网卡最大的传输单元
mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度
4.使用实例:
实例1:查看网络接口状态,不加任何参数,会输出当前网络接口的情况。
实例2:启动关闭指定网卡
ifconfig ens33 up
ifconfig ens33 down
实例3:为网卡配置IP
说明:
ifconfig eth0 192.168.60.129
给eth0网卡配置IP地:192.168.60.129
ifconfig eth0 192.168.60.129 netmask 255.255.255.0
给eth0网卡配置IP地址:192.168.60.192,并加上子掩码:255.255.255.0
ifconfig eth0 192.168.60.129 netmask 255.255.255.0 broadcast 192.168.60.255
/给eth0网卡配置IP地址:192.168.60.129,加上子掩码:255.255.255.0,加上个广播地址: 192.168.60.129
实例4:启用和关闭ARP协议
命令:
ifconfig eth0 arp
ifconfig eth0 -arp
输出:
实例5:设置最大传输单元
命令:
ifconfig eth0 mtu 1480
输出:
说明:
设置能通过的最大数据包大小为 1480 bytes
2、echo
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
选项:
-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
a 发出警告声;
删除前一个字符;
c 最后不加上换行符号;
f 换行但光标仍旧停留在原来的位置;
换行且光标移至行首;
光标移至行首,但不换行;
插入tab;
v 与f相同;
插入字符;
nn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
实例1:显示系统定义的变量的值
[[email protected] ~]# echo $USER
root
[[email protected] ~]# echo $HOME
/root
实例2:显示用户自定义的变量的值
[[email protected] ~]# var1=date
[[email protected] ~]# echo "Today‘s date time is : $var1"
Today‘s date time is : Sat Dec 15 17:43:24 CST 2018
实例3:在echo命令中使用反斜线
[[email protected] ~]# echo -e "Ubuntu is the best Desktop OS"
UbuntuisthebestDesktopOS
实例4:显示文本字符串
[[email protected] ~]# echo " Hi this echo command testing"
Hi this echo command testing
实例5:在echo命令中使用制表符空格和垂直制表符
[[email protected] ~]# echo -e "Ubuntu is the best Desktop OS"
Ubuntu is the best Desktop OS
[[email protected] ~]# echo -e "Ubuntu vis vthe vbest vDesktop vOS"
Ubuntu
is
the
best
Desktop
OS
实例6:设置echo命令彩色输出
echo命令可以修改字体类型,字体背景色以及字体颜色,转义序列 33可以用于改变字体属性。要使转义序列生效,必须使用-e选项。下面列出了部分转义代码:
[0m: 正常
[1m: 粗体
[4m: 字体加上下划线
[7m: 逆转前景和背景色
[8m: 不可见字符
[9m: 跨行字体
[30m: 灰色字体
[31m: 红色字体
[32m: 绿色字体
[33m: 棕色字体
[34m: 蓝色字体
[35m: 紫色字体
[36m: 浅蓝色字体
[37m: 浅灰字体
[38m: 黑色字体
[40m: 黑色背景
[41m: 红色背景
[42m: 绿色背景
[43m: 棕色背景
[44m: 蓝色背景
[45m: 紫色背景
[46m: 浅蓝色背景
[47m: 浅灰色背景
用紫色加粗字体打印输出My Linux。
[[email protected] ~]# echo -e "