已经找到“” 的记录352条
程序员必备:5款常用代码比较工具

对于经常写代码,又改代码的程序员来说,如果之前写的代码,过了很久又需要改,那么查找不同之处相当困难。如果这时候有一款代码比较工具,将会非常方便。麦站资深程序员归纳总结 5 款常用的代码比较工具,赶快收藏。

对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界。

工欲善其事,必先利其器,每一位程序员都有自己私藏的编程必备工具,接下来小编就给大家推荐5款程序员最佳的代码比较工具。

一:Beyond Compare

推荐:★★★★★

Beyond Compare可以很方便地对比出两份源代码文件之间的不同之处,相差的每一个字节用颜色加以表示,查看方便,支持多种规则对比。

Beyond Compare选择最好的方法来突出不同之处,文本文件可以用语法高亮和设置比较规则的方法进行查看和编辑,适用于用于文档、源代码和HTML。

5款代码比较工具 第1张

 

二、Diffuse

推荐:★★★★

5款代码比较工具 第2张

Diffuse在命令行中的速度是相当快的,支持像 C++、Python、Java、XML 等语言的语法高亮显示。可视化比较,非常直观,支持两相比较和三相比较。这就是说,使用 Diffuse 你可以同时比较两个或三个文本文件。

支持常见的版本控制工具,包括 CVS、subversion、git、mercurial 等,你可以通过 Diffuse 直接从版本控制系统获取源代码,以便对其进行比较和合并。

 

三、WinMerge

推荐:★★★★

5款代码比较工具 第3张

一款运行于Windows系统下的文件比较和合并工具,使用它可以非常方便地比较多个文档内容,适合程序员或者经常需要撰写文稿的朋友使用。

WinMerge会将两个文件内容做对比,并在相异之处以高亮度的方式显示,让使用者可以很快的查知;可以直接让左方的文件内容直接覆盖至右方,或者反过来也可以覆盖。

 

四、Code Compare

推荐:★★★


5款代码比较工具 第4张

Code Compare是一款用于程序代码文件的比较工具,目前Code Compare支持的对比语言有:C#、C++、CSS、HTML、Java、JavaScrip等代码语言。

Visual Studio环境源代码比较是一个方便,易于使用的工具,独特的Visual Studio集成,可以帮助你同时在一个环境内,使所有的方便程序开发设计。

 

五、AptDiff

推荐:★★★


5款代码比较工具 第5张
 

AptDiff是一个文件比较工具,可以对文本和二进制文件进行比较和合并,适用于软件开发、网络设计和其它的专业领域。
 
它使用方便,支持键盘快捷键,可以同步进行横向和纵向卷动,支持Unicode格式和大于4GB的文件,可以生成HTML格式的比较报告。
CSS3的背景颜色background渐变代码

画了几个漂亮的渐变色,暂时不考虑兼容性问题了,嘿嘿。

代码:

background-image: linear-gradient(0deg, #fff 0%,#000 100%);

上面是主代码,括号内的0deg是角度,后面跟着一个颜色和颜色开始的位置,后面跟着另一个颜色和颜色结束的位置,可以写很多个颜色,标注好位置就好。

样式1

css3 的background 渐变

background-image: linear-gradient(160deg, #b100ff 20%,#00b3ff 80%);

样式2

css3 的background 渐变

background-image: linear-gradient(160deg, #ff0064 20%,#ca00ff 80%);

样式3

css3 的background 渐变

background-image: linear-gradient(160deg, #0078ff 20%,#002abb 80%);

样式4

css3 的background 渐变

background-image: linear-gradient(160deg, #00ffd5 20%,#008cff 80%);

样式5

css3 的background 渐变

background-image: linear-gradient(160deg, #ffce00 20%,#ff8b00 80%);

样式6

css3 的background 渐变

background-image: linear-gradient(160deg, #a200ff 20%,#cf3700 80%);

线性渐变:

background:linear-gradient(设置渐变形式,第一个颜色起点,中间颜色点 中间颜色的位置,结束点颜色);

Linear:渐变的类型(线性渐变);

渐变的形式:可选参数 有两种方式-1、设置旋转角度,0度代表水平从左到右,90度就是从上到下啦,从0度开始逆时针变换。

 

使用关键字,left代表从左到右,top代表从上到下,同理right就是从右到左,lefttop-从坐上到右下,同理leftbottom,righttop,rightbottom。

中间颜色与中间颜色位置为可选参数。

不过要考虑浏览器的兼容,咱们这样写:

-webkit-gradient(linear,0  0,0  100%,from(起始颜色,to(结束颜色));  /*for Safari4+,Chrome 2+*/

-webkit-linear-gradient(起始颜色, 结束颜色);  /*for Safari 5.1+,Chrome 10+*/

-moz-linear-gradient(起始颜色, 结束颜色);  /*for firefox*/

-o-linear-gradient(起始颜色, 结束颜色);  /*Opera*/

linear-gradient(起始颜色, 结束颜色);  /*标准属性*/

如何创建公司网站,最低成本最快建站

公司如何创建网站,最低成本最快建站??现在网站建设越来越火热,互联网快速发展的必然结果。21世纪是外物互联的时代,网络拉近了人与物,物与人的距离,让网友浏览各地的实时信息,建站潮于是就这样起航了。

那么个人网站建设多少钱呢?有哪些收费项目吗?

1.域名的价格

无论公司还是个人,都很重视网站的建设,但是对于网站建设多少钱的问题似乎就不是很了解,如果对这种关系到钱财的问题不了解清楚,那么很容易入套的。究竟个人网站建设多少钱呢?先看看它有哪些收费项目吧。首先域名的花费。域名是一个网站的大门,没有域名根本就无法打开网站。而且域名是与众不同的,在注册域名的时候可能会遇到域名已存在的问题,那么就要自己去重新命名,因为域名不能重复。这部分大概需要几十块或上万不等,这也正是说明建站潮在如火如荼发展着。

2.网站空间的价格

除了域名的花费以外,网站空间的花费也是无法避免的,这部分费用也很重要。因为网站空间顾名思义就是一个网站的容量,它决定了你可以上传到网站的内容,内容的多少跟网站空间的大小是成正比的。从凡科建站的数据来看,网站空间一般一两百块,所以建站至少需要两百块钱。

3.网站建设的费用

接下来,网站建设的费用是可选的,对于建站预算高的人,就有可能会找网站公司帮忙建站,但这里的价格根据建站的效果而定,一般几百起步,上限很高。但若是建站预算不高的或者是想建设个人网站的站长们,可以选择麦站织梦模板这一源码模板建站平台进行网站建设,排版、文案编辑、美工等等都可以自己来完成,而且只有建网站即可免费赠送域名和空间,那么就不用花费建站的这笔钱。

因此,可以得出,使用模板建站平台进行个人网站建设是一个非常经济的选择,甚至可以是免费,而且还能高效率建网站,省钱又省心。

如何从零开始搭建一个网站(初学者如何创建一个网站?)

  随着互联网时代的发展,无论是个人还是企业,都想拥有一个自己的网站,通过网站快速展示自己的商品信息。有很多人不了解一个网站是如何形成的,制作一个网站需要多少时间,具体由哪些细节都是全然不知。他们甚至感觉搭建一个网站是一件非常复杂的事情,其实,网站建设并没有那么复杂,也没那么简单。其实现在做一个基本使用一些免费的建站教学和平台,你不需要学习HTML语言, 不需要学习PHP语言, 更不需要学习CSS,和学习图片处理, 网页制作等等。零基础学习一个小时也能搭建一个自己的网站,所以自己创建一个网站是非常的简单。

  自己创建一个网站首先要熟悉一些常规word 艺术边框 的操作,如何使用FTP工具、管理自己的网站、添加页面,文章,图片,和视频,懂的更新发布内容这些基本的操作,才能更好的熟悉网站管理系统,懂得了网站管理系统中的一些操作,才不会导致你在建站过程中经常出错。

 

  一、免费建站指南

  我们通过WordPress简单介绍一下网站是如何搭建的,网站性感美女校花图片如何增加内容,增加图片视频等等,包括自己的一些产品信息等等。如何搭建WordPres的本地运行环境?

  WordPress运行环境,可以分为:本地运行环境和真实运行环境。

  本地运行环境:

  在你自己的电脑上搭建出一个可以让WordPress正常运行的环境,这样的话你就能在自己的电脑上安装和使用WordPress了。

  在本地运行环境中搭建的WordPress站点,只有你自己能看到,互联网上的其他人无法看到。

  之所以搭建本地运行环境,目的是方面你学习和测试WordPress.

  真实运行环境:

  在真实运行环境中搭建的WordPress站点,互联网的所有人,都可以看到。

  如何搭建本地环境:

  PHP MySQL和Apache,简单来说,就是三款软件。只要你在自己的电脑上,安装这三款软件,就能成功搭建运行环境。

  但是,这三款软件安装起来很简单,但是配置起来很复杂,所以不建议新手手动分别安装。建议新手使用所谓的集成环境,也就是安装一款集成软件,就相当于安装了上述的三款软件,而且不需要你进行复杂的配置。

  集成环境其实也是一款软件,所以具有相似功能的软件也有很多,比如说……Appserv,xampp,phpstudy等等

  因为phpstudy是非常简单的,非常适合新手和老手。

 

  二、网站搭建的步骤

  1.申请域名

  申请域名有很多服务商可以选择,通过自己的爱好选择即可注册域名。这里我们推荐使用(阿里云,百度云,腾讯云)。

 

  2.虚拟主机或服性感美女祼照务器

  虚拟主机和服务器是存在网站程序和网页模板文件的,也可根据自己的需求选择服务商。这里我们推荐使用(阿里云,百度云,腾讯云)。一般个人网站会采用虚拟主机的形式租用空间,放置站点及应用组件,进行必要的数据存放和传输功能。如果是自建服务器须保证24小时开机来保证访问需求,并且花费较大,并无必要。虚拟主机可以有多种选择。购买了虚拟主机之后,我们需要将域名解析到虚拟主机上,这样才能进行网站搭建,客户才能正常的访问我们的网站

 

  3、 域名备案

  现在网监局管的比较严,一般租用国内的虚拟主机或是服务器,都要求域名有备案。域名备案更加能保护你的财产安全。假如你不会备案,没有关系,你可以联系服务商让他协助你完成备案,或者找一些中间商来帮助你完成。首先域名备案是免费的,不需要任何成本,可能就是幕布的15元钱。其他就不会产生什么费用了。域名备案其实很简单,需要填写资料,准备好电子版的照片,一定要填写能联系到你的手机,通管局会给你打电话确认信息。如果你还是不会,没有关系,你可以联系平头哥SEO网客服,在我们这里注册域名免费帮你备案。

 

  4.网站框架或从头建设

  如果你以前有过基本的html、css、js网页开发基础,可以将自己的做的网页提交到个人虚拟空间,当然如果没有也没有关系,网上有许多别人已经做好的模板,可以先借用一下。如模板之家、模板王等,就不一一列举了。而我是想搭建个人博客系统,所以借用了时下非常流行的wordpress,大家可以前往官网下载China 简体中文,根据提示进行一步步安装操作。

 

  5.网站优化,可借助资源或DIY

  在做网站优化先,我建议你先分析关键词,通过百度搜索下拉,相关搜索,百度指数,第三方查询工具等等,现进行查询,在进行关键词规划。我们继续回到网站模板优化,模日本性感美女脱板优化指的是进一步对排版、分栏、美化、加速等进行优化,牵扯到许许多多计算机网络、UI设计等知识。一入个网深似海,我们也有许多未知的知识值得去探索。

 

  三、自己创建一个网站的一些步骤

 

  1、确定需求

  需求是根据你自己所在的行业领域来设计网页的,通俗一点来说就是网站主题,在建设网站之前,先自己创建一个网站确定主题之前,明确网站主题对个人和企业来说非常重要。因为你没有开发能力,你又不懂hmtl、PHP,后期你无法进行改来改去的。所以,必须先确定主题,包括主题颜色,主题样式,主题风格等等,一个好的网站会给用户留下深刻的印象。

 

  2、搜集素材

  我们确定了主题的需求后,我们就需要围绕着主题开始搜集资料了。想要通过自己的网站吸引住用户,你就要去看看竞争对手的网站是如何设计和优化的,当你越了解用户的需求时候,你的网站越容易获得用户的青睐。

 

  3、网站规划

  我们要学会做任何事情都需要懂得如何去规划,一个网站好于不好取决于你前期有没有用心去分析规划。当然,很大程度上是在于设计者的开发能力和设计水平,假如设计师不怎么精通,那么设计出来的网站肯定没有那么好看。网站规划包含的内容很多,如网站的结构、栏目的设置、网站的风格、颜色搭配、版面布局、文字图片的运用等,只要及懂的设计,把用户的需求考虑进去了,制作一个网站就非常的简单。

 

  4、网站程序

  网站程序既是网站管理程序(也别人们称为网站后台管理系统),企业程序使用CMS就可以了,具体使用哪个品牌的吐舌头的性感美女,自己百度决定吧。个人博客程序我推荐用wordpress、Z-blog 两者相对来说都比较好。

 

  5、制作网页

  网站制作也由网页设计师完成的,如果你懂HTML CSS DIV PHP H5等这些的话,那么,我就不需要在多讲了。假如你什么都不会,这里你可以找平头哥SEO网来帮助设计一个简单适合你的网站。

 

  6、上机测试

  将制作好的网站模板文件上传至Web服务器上,才能进行访问测试。具体的方法根据不同的程序操作说明进行操作,很简单的,只要你懂得一些常规的操作就可以了。

 

  作者: 平头哥SEOhttps://www.haotuiwang.cn/ ,原创不易,转载时必须以链接形式注明作者和原始出处及本声明。

css字间距离代码

在css中,可以利用letter-spacing属性来让字之间的间隔变大,只需要给包含文字的容器元素添加“letter-spacing:间距值;”样式即可。

说明:

letter-spacing 属性增加或减少字符间的空白(字符间距),该属性定义了在文本字符框之间插入多少空间。由于字符字形通常比其字符框要窄,指定长度值时,会调整字母之间通常的间隔。

css字间距示例代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>p文字间距 CSS5</title>
<style>
.jianju{ letter-spacing:6px}
</style>
</head>
<body>
<p>第一段:内容,换行形式,我是第一段的内容</p>
<p class="jianju">第二段:内容,我被设置字间距6px</p>
</body>
</html>
301重定向到https 并且不带www跳转到带www
Apache环境下,.htaccess 伪静态让http 301重定向到https, 并且不带www跳转到带www
 
.htaccess
#开启伪静态 RewriteEngine On #http 301重定向到https, 并且不带www跳转到带www RewriteCond %{HTTP_HOST} ^123.com [NC] RewriteRule ^(.*)$ https://www.123.com/$1 [L,R=301] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.123.com/$1 [L,R=301]
上面3处123.com改成你自己的域名即可
深度解析服务器科普知识

在上一篇服务器基础知识文章“[收藏] 最全服务器基础知识科普”中,读者阅读量超过了1.1W,既然大家这么喜欢此类科普文章,今天笔者再次给大家带来服务器深度知识相关文章,请大家搬好椅子,精彩内容马上开始。

服务器是网络数据的节点和枢纽,是一种高性能计算机,存储、处理网络上80%的数据、信息,负责为网络中的多个客户端用户同时提供信息服务,获取大家非常熟悉服务器的RAS特性,但实际上服务器的可服务特性包含RASUM,他们分别是:

Ø 可靠性 (Reliablity)

• 可靠性是保持可靠而一致的特性,数据完整性和在发生之前对硬件故障做出警告是可靠性的两个方面 ,如硬件冗余、预警、RAID技术

Ø 高可用性 (Availability)

• 高可用性是指随时存在并且可以立即使用的特性

• 从系统故障中迅速恢复 ;支持关键组件热插拔;新组件替换故障组件的能力

Ø 可扩充性 (Scalability)

• 在服务器上具备一定的可扩展空间和冗余件(如磁盘阵列架位、PCI和内存条插槽位等)。

• 增加内存的能力 ;增加处理器的能力 ;增加磁盘容量的能力 ;支持多种主流操作系统的限制

Ø 易用性 (Usability)

• 是否容易操作,如用户导航系统是否完善,机箱设计是否人性化,是否有关键恢复功能,是否有操作系统备份,以及是否有足够的培训支持等方面

Ø 可管理性 (Manageability )

• 一方面更高效的管理,更少的人力、物力;另一方面提供简单的基础架构,从最基础的层面上简化管理。

上一篇文章中,我们也对服务器进行了不同分类,服务器按照指令集分类为:

• 复杂指令集CISC(Complex Instruction Set Computer)

1)指英特尔生产的x86(intel CPU的一种命名规范)系列CPU及其兼容CPU

2)AMD全系列CPU,Intel除安腾系列外的CPU

• 精简指令集RISC(Reduced Instruction Set Computing )

1)小型机(IBM、HP、SUN);2)专用平台、专用系统;3)大型应用后台密集集中处理。在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。

• 显示并行指令集EPIC(Explicitly Parallel Instruction Computers)

该指令集最重要的思想就是并行处理;如 Itanium和Itanium 2系列。如果按照外形分类:可分为:塔式、机架式、刀片式:

塔式(TOWER)服务器:既常见的立式和卧式机箱结构的服务器,可放置在普通的办公环境,机箱结构较大,有较大的内部硬盘、冗余电源、冗余风扇的扩容空间,并具备较好的散热。

  • 塔式(Tower)服务器既常见的立式和卧式机箱结构的服务器,可放置在普通的办公环境。机箱结构较大(类似于传统的台式电脑)。
  • 塔式服务器密度低,多为单处理器系统(有少部分为双处理器系统)。系统电源和风扇一般是单配,非冗余可靠性较低。

机架式(RACK)服务器:机架结构是传统电信机房的设备结构标准,宽度为19英寸,高度以单位“U”计算,每“U”为1.75英寸,即1.75X2.54=4.445cm。

  • 机架(Rack) 采用电信机房的设备结构标准,宽度为19英寸,高度以单位 Unit 计量,每“U”为1.75英寸,即4.445cm。
  • 通常有1U, 2U, 4U和8U之分,其中以2U和1U发货为主,其次是4U和8U. 近期市场也有3U和6U等高度的机架产品出现

刀片式服务器(Blade Server):通常在一个机箱里可以插入10-20余个“刀片”,其中每一块“刀片”实际上就是一块系统主板。

  • 刀片服务器(Blade)是一种更高密度的服务器平台。一般包括刀片服务器、刀片机框(含背板)及后插板三大部分。不同厂商有不同高度的机框。各厂商机框皆为19英寸宽,可安装在42U的标准机柜上
  • 通常在一个机箱里可以插入数量不等(8~20块)的“刀片”,其中每一块“刀片”实际上就是一块服务器主板
  • 当前市场主流的刀片服务器包括 HP BL460c Gen8, IBM HS23, Dell M820, 华为BH622 V2等。
  • 按照处理器个数分类 :单路、双路、多路。其中路:一台服务器内部支持的CPU个数;核:多个芯片集成在一个封装内

服务器基准测试体系

两大基准体系:TPC、SPEC。

20世纪90年代,TPC(Transaction processing Performance Council,事务处理性能委员会)成立,Benchmark(基准测试)随之走上历史舞台。企业采购服务器时,除主观之外,理性的光芒开始闪耀。

Ø TPC-C单位为tpmC,对系统在线事务处理能力进行评价,含义为每分钟内系统处理新订单的个数;

Ø 主要模拟企业的MIS、ERP等系统来考验服务器联机业务处理能力

SPEC(标准性能评估机构)是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。目前主要包括:

Ø 针对CPU性能的SPEC CPU2000、SPEC CPU2006

Ø 针对Web服务器的SPEC Web2005

Ø 针对高性能计算的SPEC HPC2002与SPEC MPI2006

Ø 针对Java应用的SPEC jAppServer2004与SPEC JBB2005,以及对图形、网络、邮件服务器的测试指标。

四大应用中的基准测试

1)高性能计算(HPC):Linpack…

2)在线事务处理(OLTP):TPC-C…

3)Web服务:SPEC Web2005、TPC-W

4)Java应用服务器:SPECjbb2005

专用基准测试

1) Oracle基准测试

2) SAP基准测试等

服务器硬件构成

处理器、内存、芯片组、I/O (RAID卡、网卡、HBA卡)、硬盘 、机箱(电源、风扇)。

CPU是Central Processing Unit(中央微处理器)的缩写,它是计算机中最重要的一个部分,由运算器、控制器和寄存器组成。CPU数据来源:CPU->高速缓存->内存->硬盘;先找缓存,再找内存,最后找硬盘。

Ø 多核CPU:一个处理器封装中有多个处理内核,如双核2个,四核4个。使用多核服务器,可以提高运算效率并延长服务器投资的生命周期。

Ø 主要指标:频率、缓存、前端总线、功耗

1)频率:主频也叫时钟频率,单位是MHz或GHz,用来表示CPU的运算、处理数据的速度。 CPU的主频=外频×倍频系数。 外频是CPU的基准频率,单位MHz,决定着整块主板的运行速度。理论上倍频是从1.5一直到无限大,以0.5为间距,它可使系统总线工作在相对较低的频率上,而提升CPU速度。

2)缓存:缓存的结构和大小对CPU速度的影响非常大,因CPU需要重复读取同样数据块,缓存容量的增大,可以大幅提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。

3)前端总线:FSB频率(即总线频率)影响CPU与内存直接数据交换速度。数据带宽=(总线频率×数据位宽)/8,如64位的至强Nocona,前端总线是800MHz,其的数据传输最大带宽是6.4GB/秒。

服务器硬件的规划须同步Intel CPU “Tick Tock”节奏,按照大年小年开发。

2011大年,2012小年,2013大年,2014小年。

大年: 架构升级,主力销售服务器优先全面换代开发;

小年: 特性优化,Tick CPU升级、服务器特性优化、补齐、临时市场需求版本。

内存是用来存放当前正在使用的(即执行中)的数据和程序。所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。

DDR3内存

DDR3,DDR SDRAM技术中的第三代,和第二代相比能够提供更高的带宽和更低的功耗。DDR3比DDR2最多能够提升66%的带宽、在同等速率下可以降低40%的功耗,DDR3和DDR2同样是240pin设计,但凹槽位置不同。二者不可兼容使用。

主要典型技术ECC:传统服务器内存仅采用ECC技术,可纠正1-2位内存错误,创新内存容错技术,提供更高的可靠性,包括:

1)内存热备:热备内存在正常情况下不使用,当工作内存的故障次数达到预设值ECC的最大值,系统自动将故障内存条中的数据传输到热备内存条,故障内存条就不再使用。

2)内存镜像:内存数据有两个拷贝,避免由于内存故障而导致数据丢失,同时工作内存与镜像内存不处于同一通道,也避免了因内存通道错误而引起的数据丢失。

内存条类型:UDIMM,RDIMM,LRDIMM

UDIMM:即Unbuffered DIMM,表示控制器输出的地址和控制信号直接到达DIMM上的DRAM芯片。容量频率较低,但同等频率下,因无缓存延迟较小。常见单条容量2GB/4GB,最高主频1.33GHz

RDIMM:即Registered DIMM,表示控制器输出的地址和控制信号经过Reg寄存后输出到DRAM芯片,是目前较为主流的内存条,单条容量在2~32GB之间频率最大可达1.6GHz,性能、价格和可扩展性较好。

LRDIMM:Load Reduced DIMM,低负载DIMM。LRDIMM通过使用新的技术和较低的工作电压,达到降低服务器内存总线负载和功耗的目的,并让服务器内存总线可以达到更高的工作频率并大幅提升内存支持容量。相比于通常的RDIMM,Dual-Rank LRDIMM内存的功耗只有其50%。

内存主要指标

• 容量(如4/8/16/32GB);

• 频率(如800/ 1066/ 1333/ 1600MHz);

• 延迟:表示系统进入数据存取操作就绪状态前等待内存响应的时间,它通常用4个连着的阿拉伯数字来表示CL-TRP-TRCD-TRAS,例如“3-4-4-8”,一般 这4个数字越小,表示内存性能越好,但也不绝对,需配合决定。

芯片组是由一组或多组芯片组成,它的主要作用是在处理器、内存及I/O设备间提供接口,是构成主板电路的核心,如果把CPU比喻为大脑,则芯片组相当于心脏,决定了主板的级别和档次。以前也是“南桥”和“北桥”的统称,随着技术的发展,南北桥已合并。

PCI是一种连接电子计算机主板和外部设备的总线标准,用来连接显示卡、声卡、网卡、硬盘控制器等高速外围设备。在数据传输率要求较高的应用中,可以解决原有标准总线数据传输率低带来的瓶颈问题。历经PCI,PCI-X, 目前PCI-E是最新一代的技术。

Ø PCI-E:最新一代的I/O总线技术,PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享资源,突破的系统I/O带宽的瓶颈,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。

Ø PCI-E 2.0: 目前最高的16X 2.0版本可达到10GB/s。

Ø PCI-E 3.0:数据传输率8GHz/s,对PCI-E 2.x/1.x的向下兼容,继续支持2.5GHz、5GHz信号机制。PCI-E 3.0架构单信道(x1)单向带宽即可接近1GB/s,十六信道(x16)双向带宽更是可达32GB/s。

RAID卡是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不同RAID卡支持的RAID功能不同,如 RAlD0、RAID1、RAID3、RAID4、RAID5、RAID10不等。RAID卡可以让很多磁盘驱动器同时传输数据,达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。同时,Raid卡也提供容错的重要功能。

数据组织形式

  • 分块:将一个分区分成多个大小相等的、地址相邻的块,这些块称为分块。它是组成条带的元素。
  • 条带:同一磁盘阵列中的多个磁盘驱动器上的相同“位置”(或者说是相同编号)的分块。

数据存取方式

  • 并行存取模式:是把所有磁盘驱动器的主轴马达作精密的控制,使每个磁盘的位置都彼此同步,然后对每一个磁盘驱动器作一个很短的I/O数据传送,使从主机来的每一个I/O 指令,都平均分布到每一个磁盘驱动器,将阵列中每一个磁盘驱动器的性能发挥到最大。适用范围:大型的、数据连续的以长时间顺序访问数据为特征的应用。
  • 独立存取模式:对每个磁盘驱动器的存取都是独立且没有顺序和时间间隔的限制,可同时接收多个I/O Requests,每笔传输的数据量都比较小。适用范围:数据存取频繁,每笔存取数据量较小的应用。

服务器管理技术

Ø IPMI:智能平台管理接口,是一项应用于服务器管理系统设计的标准,由Intel、HP、 Dell和NEC公司于1998年共同提出。用户可利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。利用此接口标准有助于在不同类服务器系统硬件上实施系统管理,使不同平台的集中管理成为可能。

工作原理:IPMI的核心是一个专用芯片/控制器BMC,其并不依赖于服务器的处理器、BIOS或操作系统来工作,非常地独立。只要有BMC与IPMI固件其便可开始工作,而BMC通常是一个安装在服务器主板上的独立的板卡,现在也有服务器主板提供对IPMI支持的。使用低级硬件智能管理而不使用操作系统进行管理,具有两个主要优点: 首先,此配置允许进行带外服务器管理;其次,操作系统不必负担传输系统状态数据的任务。

Ø KVM over IP:通过网络将远端服务器的显示、鼠标、键盘信号虚拟到本地控制端,通过本地控制端来操作远端服务器。其优点:1)实施、升级成本低,无缝升级;2)灵活集中化管理;3)全球控制、操作简单;4)利用IP技术提供丰富的管理控制;

Ø 虚拟媒体:Virtual Media技术实现把本地端的任何介质都可以映射成为被控服务器的USB设备。采用该技术,IT管理员无需到达服务器现场就可以进行跟数据有关的现场操作及完全控制,如故障诊断、文件传输、给应用程序和OS打补丁等。

Linux apt 命令

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)。

apt 语法

  apt [options] [command] [package ...]
  • options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名。

apt 常用命令

  • 列出所有可更新的软件清单命令:sudo apt update

  • 升级软件包:sudo apt upgrade

    列出可更新的软件包及版本信息:apt list --upgradeable

    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

  • 安装指定的软件命令:sudo apt install <package_name>

    安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

  • 更新指定的软件命令:sudo apt update <package_name>

  • 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

  • 删除软件包命令:sudo apt remove <package_name>

  • 清理不再使用的依赖和库文件: sudo apt autoremove

  • 移除软件包及配置文件: sudo apt purge <package_name>

  • 查找软件包命令: sudo apt search <keyword>

  • 列出所有已安装的包:apt list --installed

  • 列出所有已安装的包的版本信息:apt list --all-versions

实例

查看一些可更新的包:

sudo apt update

升级安装包:

sudo apt upgrade

在以上交互式输入字母 Y 即可开始升级。

可以将以下两个命令组合起来,一键升级:

sudo apt update && sudo apt upgrade -y

安装 mplayer 包:

sudo apt install mplayer

如过不太记得完整的包名,我们可以只输入前半部分的包名,然后按下 Tab 键,会列出相关的包名:

以上实例我们输入来 reds,然后按下 Tab 键,输出来四个相关的包。

如果我们想安装一个软件包,但如果软件包已经存在,则不要升级它,可以使用 –no-upgrade 选项:

sudo apt install <package_name> --no-upgrade

安装 mplayer 如果存在则不要升级:

sudo apt install mplayer --no-upgrade

如果只想升级,不要安装可以使用 --only-upgrade 参数:

sudo apt install <package_name> --only-upgrade

只升级 mplayer,如果不存在就不要安装它:

sudo apt install mplayer --only-upgrade

如果需要设置指定版本,语法格式如下:

sudo apt install <package_name>=<version_number>

package_name 为包名,version_number 为版本号。

移除包可以使用 remove 命令:

sudo apt remove mplayer

查找名为 libimobile 的相关包:

apt search libimobile

查看 pinta 包的相关信息:

apt show pinta

列出可更新的软件包:

apt list --upgradeable

清理不再使用的依赖和库文件:

sudo apt autoremove

在以上交互式输入字母 Y 即可开始清理。

Linux yum 命令

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名。

yum常用命令

  • 1. 列出所有可更新的软件清单命令:yum check-update

  • 2. 更新所有软件命令:yum update

  • 3. 仅安装指定的软件命令:yum install <package_name>

  • 4. 仅更新指定的软件命令:yum update <package_name>

  • 5. 列出所有可安裝的软件清单命令:yum list

  • 6. 删除软件包命令:yum remove <package_name>

  • 7. 查找软件包命令:yum search <keyword>

  • 8. 清除缓存命令:

    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

实例 1

安装 pam-devel

[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <==先检查软件的属性相依问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution
……(省略)

实例 2

移除 pam-devel

[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies  <==同样的,先解决属性相依的问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 pam-devel               i386       0.99.6.2-4.el5   installed         495 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)  <==还好,并没有属性相依的问题,单纯移除一个软件

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing   : pam-devel                    ######################### [1/1]

Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!

实例 3

利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

[root@www ~]# yum list pam*
Installed Packages
pam.i386                  0.99.6.2-3.27.el5      installed
pam_ccreds.i386           3-5                    installed
pam_krb5.i386             2.2.14-1               installed
pam_passwdqc.i386         1.0.2-1.2.2            installed
pam_pkcs11.i386           0.5.3-23               installed
pam_smb.i386              1.1.7-7.2.1            installed
Available Packages <==底下则是『可升级』的或『未安装』的
pam.i386                  0.99.6.2-4.el5         base
pam-devel.i386            0.99.6.2-4.el5         base
pam_krb5.i386             2.2.14-10              base

国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。

将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)

  • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
  • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
  • CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo

运行以下命令生成缓存

yum clean all
yum makecache

除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。

中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.html

Linux vi/vim

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

相关文章:史上最全Vim快捷键键位图 — 入门到进阶


什么是 vim?

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vim 键盘图:


vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:


vi/vim 使用实例

使用 vi/vim 进入一般模式

如果你想要使用 vi 来建立一个名为 30vps.txt 的文件时,你可以这样做:

$ vim 30vps.txt

直接输入 vi 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

按下 i 进入输入模式(也称为编辑模式),开始编辑文字

在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!

在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。

这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

按下 ESC 按钮回到一般模式

好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!

在一般模式中按下 :wq 储存后离开 vi

OK,我们要存档了,存盘并离开的指令很简单,输入 :wq 即可保存离开!

OK! 这样我们就成功创建了一个 30vps.txt 的文件。


vi/vim 按键说明

除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。

第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等

移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!
[Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d] 屏幕『向下』移动半页
[Ctrl] + [u] 屏幕『向上』移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n<space> 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)
n<Enter> n 为数字。光标向下移动 n 行(常用)
搜索替换
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:
『:100,200s/vbird/VBIRD/g』。(常用)
:1,$s/word1/word2/g:%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc:%s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
删除、复制与贴上
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。
ndd n 为数字。剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴。
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行(常用)
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u 复原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

第二部分:一般模式切换到编辑模式的可用的按钮说明

进入输入或取代的编辑模式
i, I 进入输入模式(Insert mode):
i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
a, A 进入输入模式(Insert mode):
a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O 进入输入模式(Insert mode):
这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用)
r, R 进入取代模式(Replace mode):
r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
上面这些按键中,在 vi 画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔!
[Esc] 退出编辑模式,回到一般模式中(常用)

第三部分:一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
ZQ 不保存,强制退出。效果等同于 :q!
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
vim 环境的变更
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!

特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。

举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可。

客户热线: