阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 31484阅读
  • 17回复

教程101之Linux基础知识

级别: 码农
发帖
203
云币
1059
— 本帖被 西秦 从 新手帮帮团 移动到本区(2015-08-31) —
教程101之Linux基础知识
;wz YZ5=Di  
D|n`9yv a  
此篇为后续Linux教程的基础知识,后续文章所提到的一些概念以及命令会在此篇给出,防止大家阅读后续教程存在困难。
3u8HF-  
=GjxqIv  
. \fzK  
(1)如何登陆我购买好的Linux服务器 MqI!i>  
sT3O_20{  
ZuF-$]oL&  
我自己使用的是putty,论坛里推荐的Xshell也不错。putty是一个开源免费的ssh连接工具,功能足够使用。连接服务器的时候在Host Name中输入Ip地址,然后点击Open即可。 /cDla5eej  
^r$P&}Z\b  
@&d/}Mx"t  
(2)为什么我用putty登陆服务器会出现乱码 d7tH~9GX8  
hun/H4f|  
810u +%fu  
请选择putty左边的Translation>Remote Character Set,在下拉列表中选择UTF-8编码即可 3%xj-7z W  
e ?H`p"l  
1NT@}j~/  
(3)什么是APT包管理系统 (3"V5r`*;  
Xi1/wbC  
vh+Ih Gi  
APT包管理系统是一套主要运用与Debian、Ubuntu中等的包管理系统,用来解决安装软件时遇到的包依赖问题。命令包含以apt开头的一系列命令,用以对deb包进行管理。 eEQ 4L\d  
在Linux下安装的软件是由一系列库所组成,包含文件最基础的部分以及各种扩展lib。安装软件的时候需要当前安装的软件以及它所需要的其他lib以前装,APT就是用来解决这个问题的。 %Sfew/"R0  
$q{-)=-BXQ  
#tdI;x3  
(4)什么是yum包管理系统 zrG&p Z  
hn-9l1~!h  
grnlJ=  
yum包管理系统主要是用于Red Hat系统中的一套包管理系统,用以管理rpm包。命令是yum。 hIC$4lR~  
B9n$8QS  
W)?B{\  
(5)Linux怎么安装软件 z6b!,lp  
4l E j/#}  
sUcx;<|BC  
Linux下安装软件有三种方式: k 0z2)3L  
F%t`dz!L  
f 6Bx>lh  
1.通过apt或者yum包管理系统从软件源安装软件。这种方法最为迅速,而且难度最低,但是如果遇到软件源中没有所需要的软件的就比较麻烦了。 sV'(y>PP%  
2.通过下载所需软件的deb包或者rpm包。这种方法用于安装一些不存在与软件源但是提供了独立的deb或者rpm安装包的软件,比如某些apache的模块。 }i ./,  
3.下载源代码编译安装。这种安装方法灵活性很大,基本只要能找到源代码都能安装,而且不分系统。同时自己手动编译源代码可以得到最好的性能,因为编辑过程中编译器会针对机器做出特定的优化。缺点是操作比较复杂,需要有比较强的动手能力以及部分程序基础,日后升级维护也比较麻烦。同时很多软件通过编译时家在参数来决定是否开启某些功能,如果参数出错就要重新编译,相对来说不如第一种方法灵活。 vz*QzVk1  
&hEtVkK  
me#VCkr#  
(6)什么是LAMP、LNMP,他们有什么区别 ^N _kiSr  
} O8|_d  
)}1 J.>5  
LAMP是Linux Apache Mysql PHP的缩写 t0d1? ?G  
LNMP是Linux Nginx Mysql PHP的缩写 gN Xg  
mTT1,|  
(2Z-NVU#  
LAMP和LNMP分别代表了当前主流的两种Web服务器软件架构,区别在一个是以Apache位Web Server,另一个是以Nginx做Web Server。具体到设置上也有稍微的不同,这个会在以后的设置中详细讲解。 |vw0:\/ H  
9sifc<za  
htj:Z:C`  
(7)Apache是什么 #TM+Vd$  
%Iw6oG  
0 Ji>dr n  
以下摘自维基百科: |T atRB3>  
V<Q''%k  
(;;%B=  
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其跨平台和安全性[2] 被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 BMkN68q  
{M96jjiInf  
~oy =2Q<Z  
历史 \3LP@;Phn  
HKbyi~8N=  
OOn{Wp  
Apache起初由伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发。此后,Apache Httpd被开放源代码团体的成员不断的发展和加强。Apache Http网站服务器拥有牢靠可信的美誉,已经在全球超过半数的网站中被使用-特别是几乎所有最热门和浏览量最大的网站。比方说,维基百科网站服务器就是使用Apache的。 NKd}g  
刚开始发展时,Apache只是Netscape网页服务器(现在是Sun ONE)之外的开放源代码选择之一。慢慢地,它开始在功能和速度超越其他基于Unix的HTTP服务器。到了Apache 2.x的时代,实际效率又比Apache 1.x更快,2.x比1.x能同时服务更多的网页连接数。 '/%]B@!  
1996年4月以来,Apache一直是Internet上最流行的HTTP服务器:1999年5月它在57%的网页服务器上运行,到了2005年7月这个比例上升到了69%。在2005年11月最风光的时候达到接近70%的市占率,不过在部份拥有大量域名的主机域名商转换为微软IIS平台后,Apache市占率近年来呈现些微下滑。同时搜索引擎巨擘Google自己的网页服务器平台GWS推出后(也可说是一种修改版的Apache[3]),再加上nginx、Lighttpd等轻量化网页服务器软件在市场上有一些能见度,这些因素都反应在整体网页服务器市占率的消长,Apache的市占率就随之滑落。根据Netcraft在2009年12月的最新统计数据,Apache的市占率已经降为53.67%,IIS降为18.26%,谷歌网页服务器13.53%,nginx 8.75%。尽管如此,Apache仍旧是当前互联网市场上,市占率最高的网页服务器软件。[4] O%L]*vIr  
^pruQp1X  
awkPFA*c'  
命名 FD:3;nUY7  
$L7Z_JD5  
Z:9xf:g *  
作者宣称因为Apache这个名字好记,所以才在最初选择它,但是流传最广的解释是(也是最显而易见的):这个名字来自于一个事实:当Apache在1995年初开发的时候,它是由当时最流行的HTTP服务器NCSA HTTPd 1.3的代码修改而成的,因此是“一个修补的(a patchy)”服务器。然而,在Apache服务器官方网站的FAQ中是这么解释的:“Apache这个名字是为了纪念名为Apache的美洲原住民印第安人的一支,众所周知他们拥有高超的作战策略和无穷的耐性。”贝伦多夫说:“我选择阿帕奇这个名字是取其积极含义。阿帕奇族是最后一个屈服于美国政府的民族。当时我们担心大公司迟早会参与竞争并‘教化’这块最早的网络之地,所以在我看来,阿帕奇是个很好的名称,也有人说这个词一语双关-因为正如APAtCHy的名字所表明的那样,他们确实是在给服务器打补丁。”[5]无论如何,Apache 2.x分支不包含任何NCSA的程序代码。 lKWe=xY\B  
Ut.%=o;&[  
*:S_v.Y3"  
特性 LH/lnrN  
OSreS5bg  
ybNo`:8 A;  
Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python,Tcl, 和PHP。流行的认证模块包括mod_access,mod_auth和mod_digest。其他的例子有SSL和TLS支持(mod_ssl),代理服务器(proxy)模块,很有用的URL重写(由mod_rewrite实现),定制日志文件(mod_log_config),以及过滤支持(mod_include和mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。 Od_xH  
O*0%AjT6  
N~H!6N W  
2.x版本 'KvS I=$  
:%G_<VAo!  
U9"g;t+/   
Apache的2.x版本核心在Apache 1.x版本之上作出了重要的加强。这包括:多线程,更好的支持非UNIX平台(例如Windows),新的Apache API,以及IPv6支持。 hOFC8g  
NxY B)`~  
h</,p49gM  
评价 eXKpum~  
nv$>iJ^~H  
B xAyjA6  
《PC Magazine》2004年8月评出了近30年以来的10款最佳软件产品。他们其中或者是有过最辉煌的历史,或者是最具创意。其对Apache的评价是:第三名:Apache(阿帕奇,1995年推出)Apache目前已经演变成了“LAMP”,即Linux、Apache、MySQL和PHP的联合体。这是一个开放源代码软件项目,已经对微软的“.NET”战略构成严重威胁。尤其是Apache网络服务器,让用户充分体验到开放源代码软件的稳定性、可靠性和可定制性。 ` 1Ui  
Apple.com评价Apache时说:Apache是服务器软件始终不断进化的大型组件,它免费但又是无价之宝。Apache是在开源运动中出现的绝对珍品,因为不属于个人专利而是对公共免费。一旦拥有这些源代码,程序员能够自由完成所想——能在其它程序员接替工作时被赋予同样的权限来改变和修改自己的源代码。 nA owFdCD  
+4L]Z ;k  
X~UrAG}_  
(8)什么是Nginx p^.qwP\P  
;|qbz]t2(  
i~Qnw-^B  
以下摘自维基百科: }%75 Wety  
P^(uS'j)+  
p : {,~ 1  
Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。起初是供俄国大型的门户网站及搜索引擎Rambler(俄语:Рамблер)使用。此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。 r+=%Ag  
fQm3D%  
!NqLBrcv0  
特点 F\u]X  
B:)PUBb  
d+45Y,|  
Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。 `d c&B  
xig4H7V  
i[Qq,MmC  
nginx 的模块 (usFT_  
|@W|nbAfX  
y3XR:d1cg  
整体采用模块化设计是nginx的一个重大特点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。 =W*Ro+wWb  
-6W$@,K  
*epK17i=  
与PHP的集成 3>>Ca;>$  
ajCe&+  
+ L [a  
目前使用FastCGI Nginx运行PHP应用时如果配置文件设置不合理,并不是十分可靠。建议使用NAMP架构(Nginx Apache Mysql PHP),即使用Nginx处理静态请求,并将动态请求反向代理给Apache处理。 5Vc~yMz  
/&N\#;kK?b  
l&|Tb8_'  
(9)什么是Mysql $~e55X'!+  
&( ZEs c  
|F4)&xN\  
以下摘自维基百科: {3T&6LA  
(%j V [Q  
RD6>\9  
MySQL是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被升阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。 q*K[?  
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。 xsIfR3Ze9  
但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持Open Solaris的发展,因此导致共享软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,因此原先一些使用MySQL的开源软件逐渐转向其它的数据库。 C>Q|"Vf2  
),>whCtsI  
?7#{#sj  
历史 m2%n:  
mGpBj9jr1  
"#:h#uRUb  
2008年1月16日,Sun(太阳微系统)正式收购MySQL。[1] ~\*wt(o  
2009年4月20日,甲骨文公司宣布以每股9.50美元,74亿美金的总额收购Sun电脑公司。[2] aECpe'!m4  
4d_Az'7`4  
VtzBYza  
特性 QFB2,k6jN  
g)ofAG2  
+y_V$q$G  
使用C和C  编写,并使用了多种编译器进行测试,保证源代码的可移植性。 HJ!!"  
支持AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell NetWare、NetBSD、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。 SBaTbY0  
为多种编程语言提供了API。这些编程语言包括C、C  、C#、VB.NET、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 CD. XZA[  
支持多线程,充分利用CPU资源,支持多用户。 F=?GV\Tw  
优化的SQL查询算法,有效地提高查询速度。 iA|n\a~ny,  
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。 {z9,CwJan?  
提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift JIS等都可以用作数据表名和数据列名。 RT2&^9-  
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 V#B'm?aQ  
提供用于管理、检查、优化数据库操作的管理工具。 =eR#]d  
可以处理拥有上千万条记录的大型数据库。 ~<}?pDA}~  
N3V4Mpf  
v5I5tzt*%H  
应用 +f}w+  
uG+eF  
#^_7i)=~  
与其他的大型数据库例如Oracle、IBM DB2、MS SQL等相比,MySQL自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人用户和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源代码软件,因此可以大大降低总体拥有成本。 A9WOu*G1O  
目前Internet上流行的网站构架方式是LAMP(Linux Apache MySQL PHP),即是用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP(部分网站也使用Perl或Python)作为服务器端脚本解释器。由于这四个软件都是开放源代码软件,因此使用这种方式不用花一分钱就可以创建起一个稳定、免费的网站系统。MySQL加PHP的配对在互联网上的应用相比LAMP来说更为常见,并获得了“动态配对”(Dynamic Duo)的雅号,大部分Blog网站基于的WordPress系统主要运用MySQL加PHP的配对。除了LAMP之外,用于Solaris、Windows和Mac上的网站构架也分别被称为SAMP、WAMP和MAMP。 ~iIFe+6  
维基百科所使用的Mediawiki维基引擎采用PHP语言写成,并以MySQL作为其数据库管理系统。 {qm5H7sL  
x&N@R?AG1  
1lsg|iVz  
MySQL管理 Oiw!d6"Ovq  
a ~k*Gd(  
#bb$Icmtk  
可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Workbench[3]。前者是用来取代旧有的MySQL Administrator和MySQL Query Browser。[4] - v=ndJ.  
Navicat导航猫 for MySQL 是一套专为 MySQL 设计的强大数据库管理及开发工具。它可以用于任何版本的 MySQL 数据库,并支持大部份 MySQL的功能,包括触发器、索引、查看等。 CHdYY7\{  
phpMyAdmin是由PHP写成的MySQL数据库系统管理程序,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量数据的导入及导出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程序一样在网页服务器上运行,但是您可以在任何地方使用这些程序产生的HTML页面,也就是于远程管理你的MySQL数据库。使用phpMyAdmin您就可以方便的创建、修改、删除数据库及数据表。 =T$2Qo8  
phpMyBackupPro[5]也是由PHP写成的,可以通过Web接口创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL数据库。 EkOn Rm_hn  
>`n)-8  
?U,XyxN  
(10)什么是PHP D7v.Xq|  
L(/wsw~y*  
']sIU;h3  
以下摘自维基百科: '<wZe.Q!  
3P*"$fH  
V'AZs;  
PHP(PHP:Hypertext Preprocessor)是一种在电脑上运行的脚本语言,主要用途是在于处理动态网页,也包含了命令行运行接口(command line interface),或者产生图形用户界面(GUI)程序。 c;'7o=rr  
PHP最早由丹麦人拉斯姆斯·勒多夫在1995年发明,而现在PHP的标准由PHP Group和开放源代码社区维护。PHP以PHP License作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。 _2<k,Dl;RY  
PHP的应用范围相当广泛,尤其是在网页程序的开发上。一般来说PHP大多运行在网页服务器上,通过运行PHP代码来产生用户浏览的网页。PHP可以在多数的服务器和操作系统上运行,而且使用PHP完全是免费的。根据2007年4月的统计数据,PHP已经被安装在超过2000万个网站和100万台服务器上。 Iy2AJ|d.  
602=qb  
.Zx7+`i  
(11)Apache模块是什么 ,27=i>>  
yiczRex%rq  
qjRp5  
Apache模块可以李伟Apache的扩展,通过加载不同的模块Apache可以提供更多的功能。比如Apache的Gzip压缩就是由mod_declare提供的,同时还可以加载mod_fastcgi模块来实现类似于php-fpm的效果。 Uc j>gc=  
Bs-MoT!  
z6OJT6<'  
(12)什么是配置文件 -<5H8P-  
=1j`VJU9  
c`V~?]I>  
配置文件指包含软件运行所需的必备信息的文本文件,一般存放在/etc底下。根据安装方式的不一样,具体位置可能发生变化,也可以通过对特定软件添加参数用以指定不同的配置文件。通过修改配置文件可以改变软件的运作方式,制定自定义内容以及进行系统调优。可以说配置文件就是Linux上软件的控制面板。 (P nrY~9  
4hV~ ir  
gk"J+uM  
(13)Linux上修改配置文件用什么工具 j,g.Eo  
;7yt,b5&C  
28o!>*  
一般使用vim。vim是著名文本编辑器vi的重实现 功能加强版本。去除了vi的软件版权限制,使其可以被自由分发并添加了更多功能来满足大家的需求。一般在Linux中输入vim来启动,已经作为了当前各大发行版本Linux默认的文本编辑器。 QsPL^ Ny  
vim的操作主要通过键盘快捷键以及特定的命令来实现,习惯之后可以进行高效率的文操作以及程序编写,是一款十分高效的文本编辑程序。 r)Iq47Uiw  
vim具体操作会在以后慢慢讲解。 5?MKx!%  
Jz)c|8U  
=A^VzIj(  
(14)什么是log JZ0u/x5  
gx6$:j;   
PF-"^2&_  
log是日志文件,用来记录软件运行中产生的一些信息。log对于分析排除程序故障以及对于网站被入侵后的追查工作具有重要意义。 tJ9`Ys  
t/:]\|]WB  
AlT04H   
以上是一些可能以后教程会涉及到的基本概念,今后会根据大家的反馈不断更新这个帖子,力求为大家扫除以后的阅读障碍,让大家了解一些专有技术名词后所代表的含义。 rKWkT"  
今后的教程将由浅入深讲解Linux系统的方方面面,帮助大家度过Linux上手苦手期。 Gw Z(3  
iLG~_Ob:  
TWJ%? /d  
~D\ V!  
0Bhf(5  
发帖
994
云币
1363
只看该作者 沙发  发表于: 2013-04-02
太强了,你是我偶像啊
〉〉论坛经验-《阿里云服务器从入门到精通》精华汇总
http://bbs.aliyun.com/read/135619.html?amp;displayMode=1#tpc
级别: 小白
发帖
23
云币
36
只看该作者 板凳  发表于: 2013-04-02
Re教程101之Linux基础知识
非常好啊,期待继续~
级别: 小白
发帖
23
云币
36
只看该作者 地板  发表于: 2013-04-02
回1楼qiujin2012的帖子
管理员,啥时候也露一手啊?
级别: 科学怪人
发帖
9985
云币
21878

只看该作者 4楼 发表于: 2013-04-03
新手入门的知识啊。
级别: 程序猿
发帖
320
云币
83
只看该作者 5楼 发表于: 2013-04-03
Re教程101之Linux基础知识
呵呵 楼主太神奇了
级别: 技术砖家
发帖
2678
云币
8106
只看该作者 6楼 发表于: 2013-04-03
Re教程101之Linux基础知识
支持louzhu
级别: 小白
发帖
20
云币
8
只看该作者 7楼 发表于: 2013-04-03
Re教程101之Linux基础知识
占个位看看
级别: 布道狮
发帖
2959
云币
2944
只看该作者 8楼 发表于: 2013-04-03
不错
级别: 小白
发帖
19
云币
21
只看该作者 9楼 发表于: 2013-04-03
Re教程101之Linux基础知识
好知识,顶起`````
级别: 程序猿
发帖
243
云币
206
只看该作者 10楼 发表于: 2013-04-04
非常好!很适合我这种菜鸟级的用户,谢谢版主!
级别: 程序猿
发帖
570
云币
724
只看该作者 11楼 发表于: 2013-04-08
相当详细,还得努力,好多不明白。
级别: 小白
发帖
1
云币
1
只看该作者 12楼 发表于: 2013-04-10
Re教程101之Linux基础知识
很好啊,就是没时间学习
级别: 码农
发帖
138
云币
180
只看该作者 13楼 发表于: 2013-05-31
Re教程101之Linux基础知识
学习姿势啦 卤煮的帖子后续没有跟进了吗?
级别: 技术砖家
发帖
1088
云币
3800
只看该作者 14楼 发表于: 2013-06-04
貌似风筝断了线.
发表主题 回复主题
« 返回列表
«12»
共2页
上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)