热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux的好处与配置

Linux的好处与配置--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
说说Linux的好处。
1、免费。2、安全。3、强大。

这是总体上说的,具体点就系统而言,1、自动补全功能:在输入命令时可以按TAB补全命令。

2、模块化设计:只要能稍稍学习一下系统的知识,不用担心系统会出问题,出了问题一般也不用重装,在终端将配置修改一下或者直接还原就可以了。

3、对其它系统支持好:可以挂载其它系统的分区,可以在虚拟机中安装运行其它系统如Windows,可以用WINE来运行部分Windows程序。好像Windows从来无法模拟运行Linux程序。

4、可定制:你可以安装自己喜欢的桌面环境,可以将外观换成自己喜欢的样子,如MAC OS X或者Vista等等,可以很简单地定义快捷键起动自己喜欢的程序,甚至可以自行编译内核,使用符合自己需要的内核,在显示版本上加上自己的名字。

5、够用:相当Windows而言,对我们普通用户来说Linux的功能还差点,主要是软件开发商的支持不够,但一般也足够了,办公用OO或Abiword之类,作图有Gimp,矢量的Inkscape 和Xrar LX,3D有MAYA(这是商业软件),浏览器有Firefox和Opera等,多媒体播放器有Mplayer,音乐播放器有BMP、Audacious等,网络电视有gopcast(没有pplive台多),辞典有星际译王,背单词有recideword(黑客背单词)。应该说基本能满足我们的需要了。

6、cool:现在都说Vista的桌面怎样cool,但真正比较起来,还是Linux在这里更胜一筹,安装过beryl的都知道。

不足:1、外部使用环境差:软硬件厂商支持不够,当然现在正在好转,如Nivida、ATI、Realtek等已经在开发Linux下的驱动;免费开源中文字体不多,如我们在Windows下常用的宋体等是商业字体,按说是不能免费用的,当然现在我们有了文泉驿,但并不能与windows通用;政府支持差,如网上报税等,你只能在windows下老老实实地用IE;国内网站支持差,国内的网站开发人员,多因国内盗版率高的原因,也许是图省事,多是针对IE开发的,根本不对其它浏览器进行测试,浏览起来有些变形,有的根本无法使用,国内符合w3c标准网页的网站较少,不信大家可以看看这些网站的源码,与Adobe等公司网站源码比较一下,就可以看出来了,国内确实人员素质较差。


1、一般来说,成功安装了linux的人士都有熟练的硬盘格式化本领,可以熟练地操作PQMAGIC等格式化工具,而且硬盘更新换代的速度也赶上中等发达国家水平。

2、linux提高心理承受能力,特别是以root的身份登录的时候。

3、linux增加键盘的销售量,因为在控制台模式下,键盘的使用率比在win平台下的使用率要以几何级数增加。

4、用linux可以摆脱MS的蓝屏噩梦,当然,因为没有MS linux,而且,梦里通常只能见到 You can safely reboot your system。

5、linux正版盘才几十元人民"羊",而且买D版的时候可以名正言顺地告诉人家??linux是自由软件。

6、linux是计算机高手的象征,足可以让那些天天对着MS蓝天白云的鸟儿们“仰慕”一番,而且在刚下载了一个新的KDE之后,人家问起总是说??“没什么,这是'我的'操作系统”。

7、用linux后,渐渐可以看懂那些高手大虾发的贴子从嘴角喷出三个字??“我也会”。

8、对于在网络里的任何东东,总要与linux挂钩,而且喜欢教训别人??“早跟你说了,装linux多好”。

9、爸爸妈妈爷爷奶奶最喜欢的操作系统,因为linux下的游戏软件实在是少到不只是“可怜”了。

除了经济的好处外,Linux还具有以下的优点。

多用户多任务
您可以在Linux上同时执行多个程序(多任务),而且允许多个用户使用同一台计算机,或接受多个用户通过网络联机到计算机执行软件(多用户),这些都是一个成熟的操作系统所应具备的特点。

稳定的执行性能
因为Linux的内核源代码是根据32位计算机来做最优化设计的,所以可确保其稳定的执行性能。除此之外,它支持多线程的功能,可以在一个程序的内存空间中执行多个线程,以提高硬件资源的利用率。

跨平台操作
由于Linux的系统内核只有低于10%的源代码采用汇编语言来编写,其余都以C语言来完成,因此平台的移植性高。Linux目前可以执行的平台有很多,并不只限于Intel计算机,而且可以使用多个处理器来执行服务器的工作,这更增加了Linux在系统或服务器管理上的能力。

兼容其他UNIX系统
因为同样遵循POSIX(Portable Operating System for UNIX)标准来开发,所以Linux与现今的System V以及BSD等主UNIX系统均可兼容,而原本在UNIX系统下可以执行的程序,也几乎可以完全移植到Linux上。
注意:POSIX是一组OSI与IEEE的规范,主要用来定义程序与操作系统之间的界面,使符合规范的程序能在所有符合规范的操作系统上执行。

支持多种文件系统
Linux可以将许多不同的文件系统以挂载的方式来加入,例如Windows中的FAT 16/32、NTFS,OS/2的HPFS,甚至网络上其他计算机所共享的文件系统—NFS,都是Linux支持的文件系统。

绝佳的内存管理
Linux会将未使用的内存区块作为缓冲区(Buff e r ), 以加速程序的执行。另外,系统采取内存保护模式来执行程序,以避免因一个程序执行失败,而影响整个操作系统的运行。

图形用户界面
其实图形界面并非是微软的专利,目前许多操作系统都一致采用图形界面以方便用户的操作,而Linux也不例外。在Linux上可采用多种图形管理程序,来改变不同的桌面图案或功能菜单,例如GNOME和KDE,这点是Windows操作系统单一界面所望尘莫及的。


完善的网络功能
与UNIX系统一样,Linux使用TCP/IP作为默认的网络通信协议。除此之外,它还内置了许多服务器级的软件,例如Apache(Web服务器)、Sendmail(邮件服务器)、VSFTP(FTP服务器)或Squid(代理服务器)等,如图1-3所示。所以您不需额外购买其他软件,即可直接利用Linux来担任全方位的网络服务器。


Apache网页服务器
中文化界面
以往,要在Linux中使用中文,必须以外挂的方式来产生CLE(Chinese LanguageExtension),但目前新版的Linux,例如Fedora Core 5,不仅在安装过程中可以选择中文界面, 在安装后还可以直接使用中文,这可节省许多解决中文化问题的时间。

多样的程序开发工具
您不仅可以利用Linux来进行系统管理工作,对于程序开发人员而言,Linux也是很好的选择;因为在Linux的软件包中,包含了多种程序语言与开发工具,例如gcc、cc、c++、Tcl/Tk、Perl、Fortran-77以及Python等。
就连在软件开发工具领域享有盛名的Borland公司,也推出了“Kylix”可视化开发工具,以使得Delphi与Visual Basic的程序人员可以快速地转移到Linux平台。
内置的应用程序

越来越多专为Linux开发的应用程序在Internet上随处可见,而“CNET”是笔者最常使用的网站,它包含了很详细的程序目录,在此应该可以找到您所需要的软件。CNET的Linux首页网址如下:
http://www.cnet.com/

Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能自由使用的UNIX兼容产品。也许有些准备和正在使用Linux的朋友对为什么使用Linux并不十分了解。本文试就这一问题给出答案,让人们真正了解 Linux带给我们的七件武器。Linux对比于商业软件,对学习者来说有一个境界上的差异,这个差异用一句话概述就是:以无法为有法,以无限为有限。这个境界上的差异也就是Linux七种武器的精华所在。

  一、拳头——编程能力
  Linux产生于一群真正的黑客。尽管人们习惯于认为Linus是Linux的缔造者,在linux包含的数以千计的文件中,也有一个名为Credits的文件记录了主要的Linux Hacker们的姓名和电子邮件地址(这个列表中包含了100多个名字,世界各地的都有),但没有人说得清究竟有多少人参与了Linux的改进。这一游戏到今天并没有随着时间的推移而停止,相反却因为Linux的日益流行而爱好者甚众。因此开始使用Linux就犹如加入了一个高手如云的编程组织。你可以通过互联网随时了解来自地球的某一个角落的该领域的最新进展;如果你的英文足够好,加入一个讨论组,你就可以得到不知来自什么地方的神密高手的点拨。由于 GPL的存在,你还可以得到开放的源代码,从而不用发愁学习资料的来源。  
  随着更多专业公司的介入,Linux可以提供的开发工具的功能也越发强大。如TurboLinux就具有强大的应用程序开发环境,提供了各种开发应用程序的工具,具有对多种语言如:C、C++、Java、 Perl、Tcl/tk、Python和Fortran 77的编译器/解释器,以及集成开发环境、调试和其他开发工具。再如Janus Software公司开发的被称为Linux版VB的Phoenix Object Basic,它是一套独特的面向对象的Linux RAD(Rapid Application Development,快速应用软件开发工具)。它综合了Python和Perl等面向对象编程语言的强大功能,同时,提供了类似Visual Basic的易用性。熟悉Windows环境下Visual Basic的编程者都可以顺利地使用Phoenix Object Basic。LynuxWorks公司的VisualLynux可以和微软的Visual C++相媲美,它集成了微软Visual C++开发工具以支持Linux操作系统的产品,它不但兼容LynuxWorks公司的BlueCat Linux,而且还兼容其他的Linux 2.2.12版本。LynuxWorks公司甚至声称从此Visual C++就具备了开发嵌入式Linux应用程序的能力。嵌入式Linux系统现在相当热门,已经广泛地应用在各式各样的通信基础产品。我想可能有些 Visual C++的使用者看到这里已经动了心,想要尝试一把了。  

  强大的开发工具+开放源代码+高手点拨,结果是什么呢?想来编程狂热分子已经心知肚明。因此强烈建议对编程有狂爱、总喜欢用程序解决问题的人使用Linux,去拥有Linux提供的第一件武器——编程能力。

  二、多情环——组网能力

  Linux的组网能力非常强大,它的TCP/IP代码是最高级的。Linux提供了对于当前的TCP/IP协议的完全支持,并且包括了对下一代 Internet.协议Ipv6的支持。Linux内核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。这些特性可以和像Cisco 这样的公司提供的高端路由设备的特性相媲美。此外,利用Redhat Linux提供的Samba组(并不是RedHat Linux独有),Linux可以作为Windows客户机的打印和文件服务器,还可以用做NT的文件和打印服务器。运用Linux包含的 AppleTalk模块,Linux甚至可以作为一个Macintosh客户机的文件和打印服务器。让Apache这个世界上应用范围最广的Web服务器软件系统跑在linux上,你就可以运行自己的Intranet或者Internet web服务器。Linux还包含了一个Ftp服务程序、一个电子邮件传输代理程序以及,POP和IMAP邮件服务程序。如果你愿意,你还可以在 Internet上免费获得一个Linux的LDAP服务程序。面对如此强大的网络功能,我们强烈建议对构造网络有兴趣的人掌握Linux的第二件武器— 组网能力。

  三、长生剑—创新能力  

  “如果你总是使用微软的开发工具,你一生只能做个操作人员。”这话一点都不假。Linux是自由软件,而自由软件和非自由软的区别在于:  

  1.自由软件是开放的,成千上万的人可以检查这个软件,快速地找到并修改其错误码。

  2.最终用户可以按照自己的意愿自定义自由软件,有特殊需要的用户也可以完全按照他们认为合适的方式定制自己的Linux。

  3.自由软件为了防止重复发明,通过共享源代码和思想来节省很多工作量。  

  以上这些特性是不是对有想法的好事者有莫大的吸引力?不仅如此,Linux由于自身的优点,应用领域也越来越广泛。如最近嵌入式Linux的应用相当热门,已广泛应用于包括笔记本电脑、连网装置、网络电视等在内的各式各样的通信基础产品,而嵌入式操作系统正日益成为一种势不可挡的流行趋势,最终电脑、通讯、家电会因为它的存在而成为一体。这些也为有想法的好事者提供了更广阔的发挥空间。在梦想就是力量的今天,没有了创新能力是不可想象的。因此强烈建议那些具有较强的钻研精神,喜欢刨根问底的好事者学习使用Linux,利用Linux提供的第三件武器—创新能力。

 四、碧玉刀——UNIX能力  
  人们所以选择Linux的又一个重要原因是在于它的UNIX兼容性。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,无偿地获得大量的应用程序,还可以任意地修改和补充它们。这对用户学习、了解UNIX操作系统的内核非常有益。可以说Linux为广大用户提供了一个在家里学习和使用 UNIX操作系统的廉价的机会。  

  现在有了许多CD-ROM供应商和软件公司对Linux操作系统的支持,Linux成为 UNIX系统在个人计算机上的一个代用品。在用户级,Linux与UNIX非常相似,可以说了解UNIX,就了解了Linux的大部分内容;在编程级,大多数应用程序只需要很少的工作就可以在Linux和UNIX间转换。而且Linux也有意设计为与UNIX兼容,从而便于利用UNIX软件的主体。 Linux能够很好地与其他UNIX机器相互操作,它使用了像RPC(远程过程调用)和NFS(网络文件系统)这样的标准UNIX服务。Linux还继承了UNIX的灵活性和可定制性,使其适合于广泛的应用程序,包括适应于传统的服务器和桌面应用程序,以及像嵌入式系统这样的不常见的应用程序。  

  因此,如果一个用户在公司上班的时候在UNIX系统上编程,或者在工作中是一位UNIX的系统管理员,他就可以在家里安装一套UNIX的兼容系统,即 Linux系统。在家中使用Linux就能够完成一些工作任务。而急于通过Linux的学习掌握UNIX的目的想必不用多说了,在这个网络人才因稀缺而身价倍增的年代,想靠技术吃饭又不想掌握服务器端技术的人才是真正的傻瓜。

  五、离别钩——怀旧能力  

  在这个IT技术日新月异的年代,怀旧应该不是一个好习惯,尽管怀旧可以有一种很不错的情调。但慢慢地我们发现我们不得不怀旧了,因为我们去年刚买的电脑现在已经老掉牙了。尽管每个IT厂商都嚷着他们的产品可以有效地降低我们的TCO(总拥有成本),可我们手里设备的折旧速度还是在不断加快。如果你肯听我的,我会说这世上从来就没有救世主,还是试试我推荐的Linux吧。  

  Linux非常小,可以有效地利用硬件。Linux的最小安装仅需要4MB内存,而你也可以在你的486机器上安装Linux并将其用做防火墙或Web服务器。我读到的Linux名著中甚至记载了有人用二手386建立了路由器和防火墙。Linux内核允许在运行时装载和卸载硬件的驱动程序。这样因为不必装载全部的驱动程序,就可以最大化地使用内存。总之Linux可以使机器获得新生,节省我们的财力。因此强烈建议那些跑Windows像蜗牛一样慢的电脑的机主们学习Linux。  

  六、霸王枪——稳定能力  

  运行Linux的机器启动一次可以运行数月。Linux提供了完全的内存保护,每个进程都运行在自己的虚拟地址空间中,并且不会损坏其他进程或内核使用的地址空间。任务与内核间也是相互隔离,即行为不良或编写不良的程序只能毁坏自己。因此被破坏的进程几乎不可能使系统崩溃。Linux在和 Windows98和NT在安全性的较量中占有上风,和Windows2000的情况又怎么样呢?资深的系统安全分析家指出:Windows 2000在网络系统,服务器连接方面的工作准备不足,Linux仍然是目前最安全的操作系统。资深的系统安全分析家还预计到今年年底Windows 2000才能完成测试、除虫工作,目前比较安全的操作系统仍然是商业版本的UNIX和Linux。资深的系统安全分析家肯定地认为:在未来的5年里, Linux将成为最安全的操作系统。到2005年,管理和使用Linux将是一件十分容易的事情。  

  现在可以说Linux是一个非常坚固的系统了,因此强烈建议对于Windows的蓝屏死机极为厌恶的人学习Linux,使用Linux提供的第六件武器——稳定能力。  

  七、孔雀翎——支付能力

  Linux提供的第七件武器和金钱有关,这是一个不容回避的问题。因为价格原因,每个人都可以拥有正版的Linux。此外Linux还是一个完全开放的系统。它支持各种像POSIX标准这样的开放标准和TCP/IP的Internet工程任务组标准。由于避免了专有的API(应用程序接口)和协议,可以减少对单一供应商的依赖。这样就不会出现像使用专用系统的情况:一旦犯了错误,只能继续使用原来的系统供用商的产品。也就是不会出现先享受低价,而在后期需要付出高额服务费的情况。因此强烈建议不想花太多的钱,又想使用正版软件的人学习和使用Linux。

网站 操作系统 Web服务器 脚本语言
Sina FreeBSD Apache/2.0.54 PHP
Yahoo FreeBSD Apache PHP
网易 Linux Apache2.24 PHP/Java
Livedoor FreeBSD Apache PHP/Perl
Google Linux GWS(Google WebServer) C/Python/PHP
腾讯QQ Linux Apache PHP/Perl/C
Sohu Linux Apache/1.3 PHP/C/Java
TOM Linux Apache/1.3 PHP/5.1.1
Xinnet FreeBSD Apache/1.3 PHP
MOP Linux+F5 Lighttpd/Apache PHP/Java
Youku Linux Apache PHP
Ganji Linux Apache2.0 PHP5
Baidu Unknow(Same Liunx) BWS(Baidu WebServer) PHP/Java/c/c++
Facebook FreeBSD Apache/1.3 PHP
Alibaba Linux Apache/2.0 Java/PHP
Tabao.com Liunx Apache PHP
Enet Liunx Apache PHP/Java
PCHOME.net Liunx Apache/2.0 PHP/5.2.0
ZOL.COM.CN Linux/Solaris Apache PHP
Xunlei.com Liunx TWS PHP


Google

操作系统:有两个节点使用Linux 其他大部分节点使用未知版本的操作系统(之前好像传言Google要做OS??),Gmai还使用了Solaris 8
WEB服务器: GWS/2.1 (连Web服务器都是自己开发的,Google真强,GWS=“Google Web Server”)

Yahoo

操作系统:FreeBSD
WEB服务器:未知

MSN/Microsoft/Live

操作系统:Windows Server 2003
WEB服务器: Microsoft-IIS/6.0
微软的标准应用,呵呵

flickr

操作系统:Linux
WEB服务器:Apache/2.0.52

WIKI

操作系统:Linux
WEB服务器:Apache

百度

操作系统:Linux
WEB服务器:Apache/1.3.27
(看来技术方面跟Google还有差距)

网易

操作系统:Linux
WEB服务器:Apache/2.0.55


TOM

操作系统:NetApp NetCache
WEB服务器:Apache/1.3.34 PHP/5.1.2-1


淘宝

操作系统:Linux
WEB服务器:Apache

搜狐

操作系统:SCO UNIX
WEB服务器:Apache/1.3.33


新浪

操作系统:FreeBSD
WEB服务器:Apache/2.0.54


腾讯

操作系统:Linux
WEB服务器:Apache

中国政府网站

操作系统:Linux
WEB服务器:Apache

天涯论坛

操作系统:FreeBSD
WEB服务器: Apache/1.3.34

新华网

操作系统:Linux
WEB服务器:Apache


CCTV
Linux Netscape-Enterprise/4.1

51JOB
Linux Apache/1.3.29

猫扑

操作系统:Linux
WEB服务器:Apache/2.0.55


招商银行
Windows 2000 Microsoft-IIS/5.0

中国工商银行
Windows 2000 Microsoft-IIS/5.0

中国银行
NetApp NetCache IBM_HTTP_SERVER/1.3.26 Apache/1.3.26 (Unix) 和Windows 2000 Microsoft-IIS/5.0 两种

建设银行
Linux Apache/2.0.54 (Unix)

农业银行
AIX IBM_HTTP_Server/2.0.47.1 Apache/2.0.47 (Unix)

汇丰
Windows Server 2003

交通银行
AIX WebSphere Application Server/5.0

中国人民银行
Windows Server 2003 WHSys-AdvSvr/2.31

Linux 中有没有一个标准的配置文件格式?

一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。

什么是系统配置文件?

内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。

除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类:


访问文件

/etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改)
/etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。
/etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。
/etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。


引导和登录/注销

/etc/issue & /etc/issue.net 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过 telnet 会话(issue.net)连接的用户显示一个“welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。
/etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。
/etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令: init 5 。运行级别 5 表示以图形模式引导系统。
/etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。
/etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。
/etc/rc.d/rc/rcX.d 从 rc 运行的脚本( X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。


文件系统

内核提供了一个接口,用来显示一些它的数据结构,这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。这个接口是作为一个独立但虚拟的文件系统提供的,称为 /proc 文件系统。很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。例如,/proc/modules 文件列举系统中当前加载的模块。lsmod 命令读取此信息,然后将其以人们可以看懂的格式显示出来。下面表格中指定的 mtab 文件以同样的方式读取包含当前安装的文件系统的 /proc/mount 文件。

/etc/mtab 这将随着 /proc/mount 文件的改变而不断改变。换句话说,文件系统被安装和卸载时,改变会立即反映到此文件中。
/etc/fstab 列举计算机当前“可以安装”的文件系统。这非常重要,因为计算机引导时将运行 mount -a 命令,该命令负责安装 fstab 的倒数第二列中带有“1”标记的每一个文件系统。
/etc/mtools.conf DOS 类型的文件系统上所有操作(创建目录、复制、格式化等等)的配置。

系统管理

/etc/group 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务,可以存在于多个组中。例如,如果一个“用户”是“project 1”工程组的成员,同时也是管理员,那么在 group 文件中他的条目看起来就会是这样的: user: * : group-id : project1
/etc/nologin 如果有 /etc/nologin 文件存在,login(1) 将只允许 root 用户进行访问。它将对其它用户显示此文件的内容并拒绝其登录。
etc/passwd 请参阅“man passwd”。它包含一些用户帐号信息,包括密码(如果未被 shadow 程序加密过)。
/etc/rpmrc rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置,这样,当任何 rpm 命令在该系统中运行时,所有的选项都会全局适用。
/etc/securetty 包含设备名称,由 tty 行组成(每行一个名称,不包括前面的 /dev/),root 用户在这里被允许登录。
/etc/usertty
/etc/shadow 包含加密后的用户帐号密码信息,还可以包括密码时效信息。包括的字段有:
登录名
加密后的密码
从 1970 年 1 月 1 日到密码最后一次被更改的天数
距密码可以更改之前的天数
距密码必须更改之前的天数
密码到期前用户被警告的天数
密码到期后帐户被禁用的天数
从 1970 年 1 月 1 日到帐号被禁用的天数

/etc/shells 包含系统可用的可能的“shell”的列表。
/etc/motd 每日消息;在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。


联网

/etc/gated.conf gated 的配置。只能被 gated 守护进程所使用。
/etc/gated.version 包含 gated 守护进程的版本号。
/etc/gateway 由 routed 守护进程可选地使用。
/etc/networks 列举从机器所连接的网络可以访问的网络名和网络地址。通过路由命令使用。允许使用网络名称。
/etc/protocols 列举当前可用的协议。请参阅 NAG(网络管理员指南,Network Administrators Guide)和联机帮助页。 C 接口是 getprotoent。绝不能更改。
/etc/resolv.conf 在程序请求“解析”一个 IP 地址时告诉内核应该查询哪个名称服务器。
/etc/rpc 包含 RPC 指令/规则,这些指令/规则可以在 NFS 调用、远程文件系统安装等中使用。
/etc/exports 要导出的文件系统(NFS)和对它的权限。
/etc/services 将网络服务名转换为端口号/协议。由 inetd、telnet、tcpdump 和一些其它程序读取。有一些 C 访问例程。
/etc/inetd.conf inetd 的配置文件。请参阅 inetd 联机帮助页。包含每个网络服务的条目,inetd 必须为这些网络服务控制守护进程或其它服务。注意,服务将会运行,但在 /etc/services 中将它们注释掉了,这样即使这些服务在运行也将不可用。格式为:
/etc/sendmail.cf 邮件程序 sendmail 的配置文件。比较隐晦,很难理解。
/etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 读取。
/etc/sysconfig/network-scripts/if* Red Hat 网络配置脚本。


系统命令

系统命令要独占地控制系统,并让一切正常工作。所有如 login(完成控制台用户身份验证阶段)或 bash(提供用户和计算机之间交互)之类的程序都是系统命令。因此,和它们有关的文件也特别重要。这一类别中有下列令用户和管理员感兴趣的文件。

/etc/lilo.conf 包含系统的缺省引导命令行参数,还有启动时使用的不同映象。您在 LILO 引导提示的时候按 Tab 键就可以看到这个列表。
/etc/logrotate.conf 维护 /var/log 目录中的日志文件。
/etc/identd.conf identd 是一个服务器,它按照 RFC 1413 文档中指定的方式实现 TCP/IP 提议的标准 IDENT 用户身份识别协议。identd 的操作原理是查找特定 TCP/IP 连接并返回拥有此连接的进程的用户名。作为选择,它也可以返回其它信息,而不是用户名。请参阅 identd 联机帮助页。
/etc/ld.so.conf “动态链接程序”(Dynamic Linker)的配置。
/etc/inittab 按年代来讲,这是 UNIX 中第一个配置文件。在一台 UNIX 机器打开之后启动的第一个程序是 init,它知道该启动什么,这是由于 inittab 的存在。在运行级别改变时,init 读取 inittab,然后控制主进程的启动。
/etc/termcap 一个数据库,包含所有可能的终端类型以及这些终端的性能。

守护进程

守护进程是一种运行在非交互模式下的程序。一般来说,守护进程任务是和联网区域有关的:它们等待连接,以便通过连接提供服务。Linux 可以使用从 Web 服务器到 ftp 服务器的很多守护进程。

/etc/syslogd.conf syslogd 守护进程的配置文件。syslogd 是一种守护进程,它负责记录(写到磁盘)从其它程序发送到系统的消息。这个服务尤其常被某些守护进程所使用,这些守护进程不会有另外的方法来发出可能有问题存在的信号或向用户发送消息。
/etc/httpd.conf Web 服务器 Apache 的配置文件。这个文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要确定它的位置,您还需要检查特定的 Apache 安装信息。
/etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是,kerneld 并不是“作为守护进程的”内核。它其实是一种在需要时负责“快速”加载附加内核模块的守护进程。

用户程序

在 Linux(和一般的 UNIX)中,有无数的“用户”程序。最常见的一种用户程序配置文件是 /etc/lynx.cfg。这是著名的文本浏览器 lynx 的配置文件。通过这个文件,您可以定义代理服务器、要使用的字符集等等。下面的代码样本展示了 lynx.cfg 文件的一部分,修改这部分代码可以改变 Linux 系统的代理服务器设置。缺省情况下,这些设置适用于在各自的 shell 中运行 lynx 的所有用户,除非某个用户通过指定 --cfg = "mylynx.cfg" 重设了缺省的配置文件。


/etc/lynx.cfg 中的代理服务器设置
.h1 proxy
.h2 HTTP_PROXY
.h2 HTTPS_PROXY
.h2 FTP_PROXY
.h2 GOPHER_PROXY
.h2 NEWS_PROXY
.h2 NNTP_PROXY
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers. They are preferable to the older
# gateway servers. Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have
# not set them externally, you can set them at run time via this configuration file.
# They will not override external settings. The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below). Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
.ex 15
http_proxy:http://proxy3.in.ibm.com:80/
ftp_proxy:http://proxy3.in.ibm.com:80/
#http_proxy:http://penguin.in.ibm.com:8080
#ftp_proxy:http://penguin.in.ibm.com:8080/
.h2 NO_PROXY
# The no_proxy variable can be a comma-separated list of strings defining
# no-proxy zones in the DNS domain name space. If a tail substring of the
# domain-path for a host matches one of these strings, transactions with that
# node will not be proxied.
.ex
no_proxy:demiurge.in.ibm.com, demiurge



更改配置文件

在更改配置文件时,如果程序不是由系统管理员或内核控制的,就要确保重新启动过使用该配置的程序。普通用户通常没有启动或停止系统程序和/或守护进程的权限。

内核

更改内核中的配置文件会立即影响到系统。例如,更改 passwd 文件以增加用户将立即使该用户变为可用。而且任何 Linux 系统的 /proc/sys 目录中都有一些内核可调参数。只有超级用户可以得到对所有这些文件的写访问权力;其它用户只有只读访问权力。此目录中文件的分类的方式和 Linux 内核源代码的分类方式一样。此目录中的每个文件都代表一个内核数据结构,这些数据结构可以被动态地修改,从而改变系统性能。

注意:在更改其中任何文件的任何值之前,您应该确保自己全面了解该文件,以避免对系统造成不可修复的损害。
/proc/sys/kernel/ 目录中的文件

文件名 描述
threads-max 内核可运行的最大任务数。
ctrl-alt-del 如果值为 1,那么顺序按下这几个键将“彻底地”重新引导系统。
sysrq 如果值为 1,Alt-SysRq 则为激活状态。
osrelease 显示操作系统的发行版版本号
ostype 显示操作系统的类型。
hostname 系统的主机名。
domainname 网络域,系统是该网络域的一部分。
modprobe 指定 modprobe 是否应该在启动时自动运行并加载必需的模块。

守护进程和系统程序

守护进程是永远运行在后台的程序,它默默地执行自己的任务。常见的守护进程有 in.ftpd(ftp 服务器守护进程)、in.telnetd(telnet 服务器守护进程)和 syslogd(系统日志记录守护进程)。有些守护进程在运行时会严密监视配置文件,在配置文件改变时就会自动重新加载它。但是大多数守护进程并不会自动重新加载配置文件。我们需要以某种方式“告诉”这些守护进程配置文件已经被发生了改变并应该重新加载。可以通过使用服务命令重新启动服务来达到这个目的(在 Red Hat Linux 系统上)。

例如,如果我们更改了网络配置,就需要发出:
service network restart 。

注意:这些服务最常见的是 /etc/rc.d/init.d/* 目录中存在的脚本,在系统被引导时由 init 启动。所以,您也可以执行如下操作来重新启动服务:
/etc/rc.d/init.d/ start | stop | status
start、stop 和 status 是这些脚本接受的输入值,用来执行操作。

用户程序

用户或系统程序在每次启动时都会读取其配置文件。尽管如此,请记住,有些系统程序在计算机打开时情况不一样,它们的行为依赖于在 /etc/ 中的配置文件中读到的内容。所以,用户程序第一次启动时将从 /etc/ 目录中存在的文件读取缺省配置。然后,用户可以通过使用 rc 和 .(点)文件来定制程序,正如下面一节所示。


用户配置文件:.(点)文件和 rc 文件

我们已经看到怎样容易地配置程序。但是如果有的人不喜欢在 /etc/ 中配置程序的方式该怎么办呢?“普通”用户不能简单地进入 /etc 然后更改配置文件;从文件系统的角度来看,配置文件的所有者是 root 用户!这就是大多数用户程序都定义两个配置文件的原因:第一个是“系统”级别的,位于 /etc/;另一个属于用户“专用”,可以在他或她的主目录中找到。

例如,我在我的系统中安装了非常有用的 wget 实用程序。/etc/ 中有一个 /etc/wgetrc 文件。在我的主目录中,有一个名为 .wgetrc 的文件,它描述了我定制的配置(只有在我,也就是用户运行 wget 命令时,才会加载这个配置文件)。其它用户在他们自己的主目录(/home/other)中也可以有 .wgetrc 文件;当然,只有这些用户运行 wget 命令时,才会读取这个文件。换句话说,/etc/wgetrc 文件为 wget 提供了“缺省”值,而 /home/xxx/.wgetrc 文件列举了某个用户的“定制项”。重要的是这只是“一般规则”,并非所有情况都如此。例如,一个象 pine 一样的程序,在 /etc/ 中并没有任何文件,它只在用户主目录中有一个定制配置文件,名为 .pinerc。其它程序可能只有 /etc/ 中的缺省配置文件,而且可能不允许用户“定制”这些配置文件(/etc 目录中只有少数 config. 文件是这种情况)。

通常使用的 rc 和 .(点)文件

文件名 描述
~/.bash_login 请参考“man bash”。如果 ~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。
~/.bash_logout 请参考“man bash”。在退出时由 bash 登录 shell 引用。
~/.bash_profile 由 bash 登录 shell 引用 /etc/profile 之后引用。
~/.bash_history 先前执行的命令的列表。
~/.bashrc 请参考“man bash”。由 bash 非登录交互式 shell 引用(没有其它文件)。除非设置了 BASH_ENV 或 ENV,非交互式 shell 不引用任何文件。
~/.emacs 启动时由 emac 读取。
~/.forward 如果这里包含一个电子邮件地址,那么所有发往 ~ 的所有者的邮件都会被转发到这个电子邮件地址。
~/.fvwmrc ~/.fvwm2rc fvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。
~/.hushlogin 请参考“man login”。引起“无提示”登录(没有邮件通知、上次登录信息或者 MOD 信息)。
~/.mail.rc 邮件程序的用户初始化文件。
~/.ncftp/ ncftp 程序的目录;包含书签、日志、宏、首选项和跟踪信息。请参阅 man ncftp。ncftp 的目的是为因特网标准文件传输协议(Internet standard File Transfer Protocol)提供一个强大而灵活的接口。它旨在替换系统所使用的标准的 ftp 程序。
~/.profile 请参考“man bash”。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在,bash 则将 ~/.profile 作为 ~/.bash_profile 处理,并被其它继承 Bourn 的 shell 使用。
~/.pinerc Pine 配置
~/.muttrc Mutt 配置
~/.exrc 这个文件可以控制 vi 的配置。
示例:set ai sm ruler
在此文件中写入上面一行会让 vi 设置自动缩进、匹配括号、显示行号和行-列这几个选项。
~/.vimrc 缺省的“Vim”配置文件。和 .exrc 一样。
~/.gtkrc GNOME 工具包(GNOME Toolkit)。
~/.kderc KDE 配置。
~/.netrc ftp 缺省登录名和密码。
~/.rhosts 由 r- 工具(如 rsh、rlogin 等等)使用。因为冒充主机很容易,所以安全性非常低。

必须由用户(~/ 的所有者)或超级用户拥有。
列出一些主机,用户可以从这些主机访问该帐号。
如果是符号链接则被忽略。

~/.rpmrc 请参阅“man rpm”。如果 /etc/rpmrc 不存在则由 rpm 读取。
~/.signature 消息文本,将自动附加在从此帐号发出的邮件末尾。
~/.twmrc twm( The Window Manager)的配置文件。
~/.xinitrc 启动时由 X 读取(而不是由 xinit 脚本读取)。通常会启动一些程序。
示例:exec /usr/sbin/startkde
如果该文件中存在上面这行内容,那么在从这个帐号发出 startx 命令时,这一行就会启动“KDE 视窗管理器”(KDE Window Manager)。
~/.xmodmaprc 此文件被传送到 xmodmap 程序,而且可以被命名为任何文件(例如 ~/.Xmodmap 和 ~/.keymap.km)。
~/.xserverrc 如果 xinit 可以找到要执行的 X,xinit 就会将该文件作为 X 服务器运行。
~/News/Sent-Message-IDs gnus 的缺省邮件历史文件。
~/.Xauthority 由 xdm 程序读和写,以处理权限。请参阅 X、xdm 和 xauth 联机帮助页。
~/.Xdefaults, ~/.Xdefaults-hostname 在主机 hostname 的启动过程中由 X 应用程序读取。如果找不到 -hostname 文件,则查找 .Xdefaults 文件。
~/.Xmodmap 指向 .xmodmaprc;Red Hat 有使用这个名称的 .xinitrc 文件。
~/.Xresources 通常是传送到 xrdb 以加载 X 资源数据库的文件的名称,旨在避免应用程序需要读取一个很长的 .Xdefaults 文件这样的情况。(有些情况曾经使用了 ~/.Xres。)
~/mbox 用户的旧邮件。
推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
author-avatar
手机用户2502935287_564
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有