目录结构,linux系统的为主构成和文件系统的协会

来源:http://www.aviodelta.com 作者:书评随笔 人气:152 发布时间:2019-10-29
摘要:摘要 :如果你对你的linux水平还不满意?想深入了解linux?那么跟随专家来学习吧!今天推荐书小编给大家推荐一本关于深入探索linux的一本专业技能书籍《Linux就是这个范儿》!编辑推荐

摘要: 如果你对你的linux水平还不满意?想深入了解linux?那么跟随专家来学习吧!今天推荐书小编给大家推荐一本关于深入探索linux的一本专业技能书籍《Linux就是这个范儿》!编辑推荐 阿里巴巴Linux技术大拿赵鑫磊、支付宝 ...

《Linux就是这个范儿》

Linux系统目录结构有如下两个特点:

1、逻辑上所有的目录结构都在一个最高级别的根目录”/“ 下,根(/)目录是所有目录的起始点,其下面的子目录是一个层次或树状结构,这些不同的目录可以分布在不同的硬盘分区甚至不同的设备上。这和Windows按照硬盘分区(C:,D:,E:)分隔的目录结构是不同的。

2、所有的目录内容按照类别组织。例如,一个Linux下的应用程序,它的可执行程序在/usr/bin,而它的数据文件和帮助文件在/usr/share下,运行时加载的配置文件和服务启动命令却在/etc下。
如果理解了这两点 ,相信大家很快就能轻松的理解Linux系统的目录结构,进而感受Linux系统的独特的魅力所在。系统的独特的魅力所在。

linux系统的基本构成和文件系统的结构(配图解)


目录结构

作者:矮哥

归档:学习笔记

2017/1/6

图片 1

基本信息

内容小结:

1、Linux系统目录是树状目录结构,“/”根是所有目录的起点。

图片 2

linux系统目录

2、不同的目录可以跨越磁盘分区或不同的磁盘设备。
3、所有的目录都是按照一定的类别有规律的组织的。

/:存放系统程序,也就是At&t开发的Unix程序。
/usr:存放Unix系统商(比如IBM和HP)开发的程序。
/usr/local:存放用户自己安装的程序。
/opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为“选装”

 

 

如果你对你的linux水平还不满意?想深入了解linux?那么跟随专家来学习吧!今天推荐书小编给大家推荐一本关于深入探索linux的一本专业技能书籍《Linux就是这个范儿》!

作者: 赵鑫磊    (加)Jie Zhang(张洁)   

Linux目录结构:

1、目录层次标准FHS

FHS全称(Filessystem Hierarchy Standard),中文意思是目录层次标准,是linux的目录规范标准。
FHS定义了两层规范:第一层是“/”目录下的各个目录应该放什么文件数据,例如:/etc目录下应该放置系统的配置文件,/bin和/sbin应该放置程序命令等。第二层是针对/usr和/var这两个目录的子目录来定义。例如:/var/log下放置系统日志文件等。

2、根目录结构:
对于每一个Linux学习者来说,有必要了解一下Linux文件系统的目录结构。
当使用Linux的时候,如果执行ls -l / 命令就会发现,在/下包含很多的目录,比如etc、usr、var、bin等目录,而在这些目录中,我们发现也有很多的目录或文件,他们就像一个树状的结构。
Linux 目录结构的最顶端是“/”,我们称/为linux的根目录。根(/)目录是所有目录的起始点,所有的目录、文件、设备都在/之下,根(/)下的目录是一个层次(或树状结构),可以说,/就是linux文件系统的组织者、领导者。

tree -L 1 /     #/下第一层

linux系统包括4大部分

目 录

编辑推荐

阿里巴巴Linux技术大拿赵鑫磊、支付宝高级专家Jie Zhang带你深入探索linux。王小川(搜狗公司CEO、前搜狐高级副总裁、首席技术官)钱振宇博士(Windows Live中国首席科学家、德国不来梅大学教授、博士生导师)金尊和博士(VMware首席科学家、前IBM公司资深工程师、Sun公司Java JDO专家组成员)联袂推荐既然选择用它,为何不用得深入。在高手的领地,学习亲切的知识,了解古朴而自由的世界,看到更多的可能性与非绝对。在寻常的背后,发现惊人的思想,在不寻常的背后,见证缜密的逻辑。

丛书名: 图灵原创

目录及说明(*号多少表示重要程度)

/bin :常用的二进制命令目录。比如ls、cp、mkdir、cut等命令见附录一;和/usr/bin类似。

/boot:Linux的内核及引导系统程序所需的文件目录。安装系统分区的时候一般要分一个boot分区。常见分区:/boot 128M swap分区内存的1.5倍 /全给。

/dev:设备文件目录,比如声卡、磁盘、光驱等。***

/etc :常用系统及二进制安装包配置文件默认安装路径和服务 启动命令目录。*****

/home:普通用户的家目录默认数据存放目录**

/lib:库文件存放目录。

/lost found:在ext3文件系统中当系统意外崩溃或意外关机,会产生一些文件碎片在这里。当系统在开机启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。当 系统发生问题,可能会有文件被移到这个目录中,可能需要手工的方式来修复,或移到文件的原来位置上。

/mnt:一般是用于临时挂载存储设备的挂载目录的,比如有cdrom,U盘等目录。直接插入光驱无法使用,要先挂载后使用。

/opt :表示的是可选的意思,有些软件包也会被安装在这里,也就是自定义软件包,我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure –prefix=/opt/目录,飞必须这样,视习惯或规定而定。

/proc:操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab *****

/root:Linux超级权限用户root的家目录;win32管理员为:administrator

/sbin:大多是设计系统管理的命令的存放,是超级权限用户root的可执行命令存放位置,这个目录和/usr/sbin、/usr/X11R6/sbin或/usr/local/sbin目录是相似的。

/tmp:临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的,权限比较特殊。/var/tmp目录和这个目录相似。***

/usr :这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个linux发行版官方提供的软件包时,大多数安装在这里。如果有涉及服务配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts,帮助目录/usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin或/usr/local/bin或/usr/X11R6/bin,比如/usr/sbin或/usr/X11R6/sbin或/usr/local/sbin等;还有程序的头文件存放目录/usr/include。

/var:这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log这是用来存放系统日志的目录,系统日志的路径/var/log/messages。/var/www目录是定义apache服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL的,以及MySQL数据库的存放位置。***

 

第1章 linux系统沐目录结构的基本特点介绍... 1

内容简介

《linux就是这个范儿》内容源自淘宝技术大学的培训实战。由来自阿里巴巴集团的资深linux系统专家赵鑫磊和同样来自阿里巴巴集团的支付宝网络技术有限公司的高级专家jie zhang共同著写。 两位作者用轻松、诙谐的语言讲解了高深的linux特性。通俗易懂、深入浅出,从linux设计思想的角度出发,授人以渔。同时,又密切结合应用案例,透彻展示出linux的系统架构设计是如何在实际中贯穿的,从而让读者真正掌握linux的强大之处。书中不含较为复杂的技术理论问题,一切从实际出发。 全书共分为三个部分:基础篇、进阶篇和扩展篇。通过对linux的版本选择与安装、基本使用与系统结构、设计哲学与思想、脚本编程与软件开发、内核编译、网络与认证,以及多媒体等几个方面的精彩讲解,将linux操作系统的灵魂与运用教授给读者。

出版社:人民邮电出版社

一些重要子目录的说明:

例举一些常见的重要目录,这些是大家必须要熟记的

目录及说明(*号多少表示重要程度)

/etc/system/network-scripts/ifcfg-eth0:配置网络地址及GW等。*****

/etc/resolv.conf:设置本机的客户端DNS。*****,DNS可以实现域名和IP的互相解析

/etc/hosts:设定用户IP与名字(或域名)的对应表,相当于本地LAN内DNS。****
类似windows中的C:WINDOWSsystem32driversetchosts,LAN内IP域名解析文件。开发、测试时常用,hosts的解析在机房的服务器互相调用中也会常用,如门户网站的解析

/etc/sysconfig/network:可以修改机器名及网卡启动等配置。

/etc/fstab:记录开机要mount的文件系统。*****

/etc/exports:设定NFS系统用的配置文件的路径

/etc/inittab:设定系统启动是init进程将把系统 设置成什么样的runlevel及加载相关的启动文件配置。****

/etc/init.d:这个目录是用来存放系统或服务器以及System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Cetos/Redhat;*****

/etc/xinit.d:如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,比如Slackware,有些老的版本也没有。在Redhat/Fedora中比较新的版本中存在。

/etc/profile:系统全部环境变量配置路径。*****

/etc:目录下的重要目录和文件

/etc/issue:记录用户登入前显示的信息

/etc/motd:显示登入时的信息

/etc/group:设定用户的组名与相关信息。***

/etc/passwd:账号信息。*****

/etc/shadow:密码信息。

/etc/sudoers:可以sudo命令的配置文件。****

/etc/securetty:设定那些终端可以让root登入。

/etc/login.defs:所有用户登入是的缺省配置。

/etc/modprobe.conf:内核模块额外参数设定。

/etc/syslog.conf:日志设置文件。***

vLinux内核

1.1 挂载光盘 和卸载光盘... 1

作译者

赵鑫磊阿里巴巴集团资深Linux系统专家。自1998年开始使用Linux,曾参与国内著名的Linux社区发行版MagicLinux的开发工作,是一个土生土长的东北人。工作经历丰富,开过小网吧、大学讲过课、发过小广告、干过铁路工(开发铁路车载电视系统)、当过副总裁,但始终没有放弃对Linux的探索与研究,并将这份经历凝聚在了本书之中。电子邮箱:jagen.zhao@gmail.com来往账号:飞芃微信账号:567867Jie Zhang阿里巴巴集团支付宝网络技术有限公司高级专家。曾在美国、日本、加拿大和中国的多家高科技企业担任过技术总监等职。参与研发的Jack of Spades Combo卡于1999年3月获得北美权威的PC Magazine杂志的Editors' Choice奖,并赢得PC Computing MVP Finalist Award奖。自1998年开始从事Linux开发,研发基于Linux平台的网络、多媒体、通讯和电子商务等多领域的高科技产品与项目,获中国国家科技进步三等奖,并拥有多项国家发明专利。电子邮箱:jie_joy_zhang@yahoo.com来往账号:方如微信账号:fangru-jiezhang

ISBN:9787115359360

其他目录文件

/lib:系统会使用到的函数库。

/lib/modules:Kernel的相关模块。

/var/lib/rpm:rpm套件安装处。

/usr/bin:这个目录是可执行程序的目录;当我们从系统自带的软件包安装一个程序时,它的可执行文件大多会放在这个目录。类似的目录是。/usr/local/bin

/usr/sbin:这个目录也是可执行程序的目录,但大多存放设计系统管理的命令;相似的目录是。/sbin或/usr/local/sbin或/usr/X11R6/sbin等。

/usr/local:这个目录一般是用来存放用户自编译安装的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

/usr/local/bin:用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号链接。

/usr/local/sbin:系统全局环境目录,可防止一些不需要加路径执行的脚本等。

/usr/share:系统公用的东西存放位置,比如/usr/share/doc和/usr/share/man帮助文件。

/usr/src:内核源码存放目录,比如下面有内核源码目录,比如linux、linux-2xxx目录等。

/usr/bin:使用者可执行的binary file 的目录。

/usr/local/bin:使用者可执行的binary file 的目录。

/usr/lib:系统会使用到的库函数。

/usr/local/lib:系统会使用到的函数库

/var:目录下的路径知识点

/var:日志目录。

/var/log:各种系统日志存放位置。

/var/log/messages:系统信息默认日志文件,非常重要。按周自动轮循。*****

/var/log/secure:记录登入系统存取信息的文件,按周自动轮循,例如pop3,ssh,telnet。ftp等都会记录在此处。****

/var/log/wtmp:记录登入者信息的文件,last

/var/spool/cron/root:定时任务crontab默认目录,按用户名命名的文件。*****

/var/spool/clientmqueue:临时邮件目录,有很多原因会导致这个目录碎文件很多,比如crontab定时任务命令不加>/dev/null等。工作中偶尔会因为该目录文件太多,导致/var所在的分区inode数量被消耗尽,无法写入文件的情况。

/proc目录下的重要路径知识

/proc:虚拟目录,是内存的映射。

/proc/version:内核版本。

/proc/sys/kernel:系统内核功能。

/proc/cpuinfo:关于处理器的信息,如类型、厂家、型号和性能等。****

/proc/meminfo:系统内存信息。

/proc/devices:当前运行内核所配置的所有设备清单。

/proc/dma:当前正在使用的DMA通道。

/proc/filesystems:当前运行内核所配置的文件系统。

/proc/interrupts:正在使用的中断,和曾经有多少个中断。*****

/proc/ioports:当前正在使用的I/O端口。

/proc/loadavg:系统负载信息,uptime的结果。*****

v Linux Shell

1.2 小结... 3

前言

有个OS名叫Linux,它的故事耐人追寻。 小小系统,众人追寻,相识相恋,从不伤心…… 赵鑫磊:Hi,Jie,有人找我出书了,不过我觉得我在网络这方面有些欠缺。我知道你在Linux平台上做过不少项目,特别是网络这方面。你能来帮我一下,我们一起来完成这本书好吗? Jie Zhang:真的吗?那太棒了,虽然现在有关Linux的书不少,但是我相信经过这么多年的风风雨雨我一定能写出另一种味道。很乐意跟你合作。 赵鑫磊:太好了,有了你的参与,我们这本书的技术性会更强! Jie Zhang:Linux无毒、免费和稳定是它备受推崇的原因。 赵鑫磊 :无毒、免费和稳定还不够给力啊!我觉得知识的保值性才是最主要的。在Linux中有些知识几十年都没过时。 Jie Zhang:对,这样的知识的投资回报率很高。学好Linux,面对如FreeBSD、Solaris等系统,就不犯愁了。 赵鑫磊:看完我们这本书,其他书都是小儿科了。哈哈。 Jie Zhang:你的口气也太大了吧…… 赵鑫磊:哈哈,你得抱有这个希望,我们试着在这么做。 Jie Zhang:好吧。不想当厨师的女程序员不是好媳妇儿! Jie Zhang:那这本书就不是一本工具书了,它是我们多年工作经验积累下的感悟。不管读者喜欢与否,这种感觉就在那里,不多不少,不离不弃。 赵鑫磊:对,我们这本书不是用于入门,不是工具书。它是传道、授业、解惑的。 Jie Zhang:我觉得还是初中级比较好。曲高和寡,不一定好。初级最好。 赵鑫磊 :我们的角度已经决定了无法定位在初级。我们并不曲高,但我们也不是初级。我们是传道的! Jie Zhang:这点我同意。我们要讲述Linux的精髓,而不是简单的入门。 赵鑫磊:读者需要反复地推敲书中的内容。就像很多很牛的大师写科普读物,简单几句话里却有透彻的大道理。我们分为三大部分写,基础篇、进阶篇和扩展篇。基础篇能了解Linux的基本特点,进阶篇则从文件系统、进程通讯和网络等更深层次去挖掘Linux的思想内涵,扩展篇则要给读者打开Linux图形和多媒体的缤纷世界。不同层次和需求的读者都可以从中找到自己感兴趣的东西。最重要的是,我们所讲述的每一章,都在谈论机制。 Jie Zhang:你说的机制是指什么? 赵鑫磊:机制就是很难改变的、必须要做的事情。

上架时间:2014-6-27

其他路径知识 (了解)

/etc/DIR_COLORS:设定颜色。

/etc/host.conf:文件说明用户的系统如何查询节点名,默认 order hosts,bind

/etc/hosts.allow:设置允许使用inetd的机器使用。

/etc/hosts.deny:设置不允许使用inetd的机器使用

/etc/protocols:系统支持的协议文件。

/etc/X11:X Window 的配置文件

v Linux应用程序

第2章 目录的介绍... 3

序言

序一 Linux已有20多年历史,大部头著作一摞一摞。听到作者要写Linux,我真怀疑他们怎么能写出新意来,直到读过初稿以后…… 过去的Linux著作,大多只专注于说清技术细节,文字难免平淡,角度也常常是从上往下地灌输。这种书作为工具书还好,但要读者从头读到尾,则相当单调,有点压抑。特别是,自从IT技术已发展到自由、民主、开放和共享的互联网时代的今天,以前的积累已经使新码农觉得自己很卑微渺小,再加上现实生活又很累,能在读书中加强自我意识,再搞点轻松诙谐,已成为一种必要的调剂。 作为资深码农的本书作者,清楚地感受到社会的改变和码农的需要。他们以不吝权威的态度,采取和读者平等的姿态,借用当代一些大众文学作品的语言风格,把技术明珠Linux,从神坛上拉下来,作为普世和开放的知识与智慧,用大白话表述,以日常例子比喻,不时夹杂文艺调侃,既讲明了技术细节,又娱乐了大众诉求。 往大了说,本书作者的人文态度反映我们的时代,具有自由、民主、开放和共享精神,是一种互联网时代的人文态度。从具体处看,本书的风格旨在提高读者兴趣,何乐不为? Linux的产生和发展,特别是随之成熟的自由软件(Free Software)和开源软件(Open-source Software)运动,既依赖于互联网技术的发展,又是互联网自由、民主、开放、透明和共享精神的体现。正是这种精神,犹如一个最基本的价值基座,支撑着互联网发展到了今天,宛如一个核心,将互联网的全部价值凝聚起来。采取互联网时代的人文态度来传播Linux,是一种传播方法与传播内容的共鸣。 互联网时代才刚刚开头。虽然存在犹豫和彷徨,但码农一定是改变时代的推动力量,帮助码农成长就是促进时代发展。这本书,正是帮助码农积攒正能量,以应对未来,因此值得推荐。另外,现存的大部头技术书还少有采用这种人文态度的,我为作者的勇气鼓掌。 钱振宇 Windows Live首席科学家 德国不来梅大学教授、博士生导师 2014年2月12日于北京 序二 选择了IT为业,就选择了紧张而劳碌的生活方式,因为快速变化就是这个行业的基因。 当你刚刚熟悉视窗,又要去学习Linux ;刚刚适应了客户服务器计算模式,又要去学习万维网应用;刚刚开发了Java程序,又要去学习.NET编程;刚刚用惯了Subversion做版本控制,又要去学习GIT;刚刚推出桌面方案,又要学习智能手机的开发;刚刚掌握企业私有数据中心,又要去学习云计算、虚拟化……总之,在你驾轻就熟某项技术之时或之前,新的技术就又出现了。为了保持职业的竞争力,你还得轻装上阵、奋勇学习,直到退休之时(我相信很多人的惯性还会一直延续下去)。在劳顿的同时,也有学习新知的乐趣,这正是IT行业的魅力所在。 虽然Linux已经有22岁的“高龄”, 本身不再是什么新技术,但其重要性始终未减,而且新的相关技术不断涌现,如KVM虚拟化软件。在当今云计算年代,因为Linux是开源软件,其重要性更不断上升。据不完全统计,在公有云端的服务器有80%之多运行Linux。掌握了Linux,也就掌握了通向云端的入场券。Linux的重要性毋须赘言。 同为学习,可以一本正经地学,也可以轻松愉快地学。本人读过若干本有关Linux的书,基本是一本正经地学,趣味不足,权当是工具书在需要的时候去查一下。听说两位作者要写Linux,也没有期望有所不同。收到初稿后,看着目录眼前便一亮,循着章节一一读完。这本书可以轻松愉快地学。 在轻松愉快的同时,并不影响这本书的结构的全面性、技术的准确性和内容的实时性。学习Linux并不仅仅是Linux本身,还包括建构在Linux之上和周边的相关技术和工具。有了这些软件,才能够把Linux变成解决方案,并解决实际中的各种问题。这才是最重要的学习,也是最难的学习。这本书不仅涵盖了各个基本技术点,如文件系统、Shell命令等,还系统介绍了许多工具和软件来建构电子邮件、Web应用等方案。即使对Linux有所了解,也会在这本书中得到新的内容和新的视角。 基于本书的趣味性和技术性,当然还有Linux的重要性,相信其他读者和我一样会喜欢这本书,并在紧张忙碌的生活空隙中精神愉快地读完它,助力于自我的技术提高和职业发展。 金尊和 博士 IBM公司资深工程师. Sun公司Java JDO专家组成员

出版日期:2014 年7月

小结:

v Linux文件系统

2.1 小结:重要目录回顾... 5

目录

《linux就是这个范儿》 第一部分 基础篇 第1章 第一次亲密接触2 1.1 让linux入驻我们的电脑2 1.1.1 我们用linux的理由3 1.1.2 选择哪个发行版4 1.1.3 安装系统6 1.1.4 登录系统15 1.2 不一样的图形操作15 1.2.1 没有图形的图形15 1.2.2 架构设计17 1.3 主流桌面环境18 1.3.1 kde初学者的首选18 1.3.2 gnome不可磨灭的经典20 1.3.3 xfce——轻量、简单、高效21 1.3.4 lxde——更轻,同样精悍21 1.4 返璞归真的命令行22 1.4.1 开始执行命令22 1.4.2 文本和图形的切换23 1.4.3 基础命令的操作23 1.4.4 快捷键26 1.4.5 错误信息28 1.4.6 联机帮助——man很靠谱30 1.4.7 致命的linux命令31 1.5 结束语32 第2章 融于心而表于行33 2.1 多用户多任务分时操作系统33 2.2 用户的身份35 2.2.1 澡堂子模型35 2.2.2 理解用户角色36 2.2.3 /etc/passwd文件查看用户37 2.2.4 /etc/group文件查看组38 2.2.5 管理用户和组39 2.2.6 夺面双雄——利用sudo假借身份41 2.2.7 我是谁?44 2.3 文件和它与权限的关系45 2.3.1 目录与文件46 2.3.2 文件属性和权限47 2.3.3 文件连接到底是什么49 2.3.4 修改文件的属性和权限51 2.3.5 深入文件权限52 2.3.6 文件的基本操作54 2.3.7 搜索文件55 2.3.8 对文件打包压缩57 2.4 程序的执行问题58 2.4.1 执行程序的方法,以及多任务协调机制58 2.4.2 计划任务62 2.4.3 守护进程及其作用64 2.4.4 全面了解程序信息66 2.5 软件的安装方式71 2.5.1 从源代码安装软件71 2.5.2 利用软件管理工具rpm和dpkg72 2.5.3 更酷的线上升级73 2.6 磁盘的管理方式76 2.6.1 linux的文件系统——甩windows几条街76 2.6.2 磁盘的基本操作78 2.6.3 /etc/fstab文件——决定分区的连接83 2.6.4 弹性调整容量——逻辑卷85 2.7 解决上网问题90 2.7.1 了解ip地址90 2.7.2 相关配置文件91 2.7.3 安装网卡92 2.7.4 手工设定ip地址92 2.7.5 自动获取ip地址93 2.7.6 固定ip上网方式93 2.7.7 adsl拨号上网方式94 2.8 不能割舍的shell96 2.8.1 勤勤恳恳的bash96 2.8.2 环境变量98 2.8.3 bash的配置文件98 2.9 文本处理101 2.9.1 查看文本内容101 2.9.2 正则表达式101 2.9.3 搜索文本的grep104 2.9.4 排序和去重105 2.9.5 文件对比命令——diff105 2.10 结束语107 第3章 一棵“树”的奥秘108 3.1 linux的文件组织结构109 3.2 基本组织原则110 3.3 根文件系统111 3.3.1 原则与特性111 3.3.2 必备的内容112 3.3.3 可选的内容113 3.4 子目录113 3.4.1 /bin目录——shell命令113 3.4.2 /boot目录——启动过程所需内容115 3.4.3 /dev目录——设置文件116 3.4.4 /etc目录——配置文件116 3.4.5 /home目录——用户专有118 3.4.6 /lib目录——共享库和内核模块119 3.4.7 /media目录——可移动设备119 3.4.8 /mnt目录——临时挂接120 3.4.9 /opt目录——附加软件包120 3.4.10 /root目录——root专有120 3.4.11 /sbin目录——必备的系统软件121 3.4.12 /srv目录——服务进程所需数据121 3.4.13 /tmp目录——临时文件122 3.5 /usr目录组织结构122 3.5.1 /usr/bin目录123 3.5.2 /usr/include目录123 3.5.3 /usr/lib目录123 3.5.4 /usr/local目录123 3.5.5 /usr/sbin目录124 3.5.6 /usr/share目录124 3.5.7 /usr/share/man目录125 3.5.8 /usr/share/misc目录126 3.6 /var目录组织结构127 3.6.1 /var/account目录128 3.6.2 /var/cache目录128 3.6.3 /var/lib目录128 3.6.4 /var/lock目录128 3.6.5 /var/log目录129 3.6.6 /var/mail目录129 3.6.7 /var/opt目录129 3.6.8 /var/run目录129 3.6.9 /var/spool目录130 3.6.10 /var/tmp目录130 3.7 结束语130 第4章 “笨”出来的文化和哲学131 4.1 unix的文化和哲学133 4.2 “四大笨”之一:万般皆文本134 4.2.1 二进制的烦恼135 4.2.2 文本的快乐135 4.2.3 文本之于配置文件136 4.2.4 文本之于程序组合137 4.2.5 文本之于通信协议138 4.2.6 硬件也文本138 4.3 “四大笨”之二:四处用脚本139 4.3.1 富饶的脚本语言139 4.3.2 为什么不是c140 4.3.3 脚本的不足和混合编程141 4.3.4 强力胶水141 4.3.5 极端的例子143 4.3.6 软件的适度规模143 4.4 “四大笨”之三:规律无处寻144 4.4.1 机制与策略145 4.4.2 接口与引擎145 4.4.3 不用重新造轮子146 4.4.4 内在的支持146 4.4.5 沉默是金,吝啬是银147 4.5 “四大笨”之四:配置乱生根148 4.5.1 什么是不可配的148 4.5.2 配置三元素149 4.5.3 配置文件150 4.5.4 环境变量151 4.5.5 命令行选项152 4.6 什么样的文化154 4.6.1 “傻x”的精明154 4.6.2 “简单”不简单155 4.7 这一切的基础大师的阐释156 第5章 shell脚本编程159 5.1 第一个shell脚本程序159 5.2 编程的基本要素160 5.2.1 变量162 5.2.2 运算164 5.2.3 流程控制165 5.2.4 自定义函数169 5.3 输入和输出172 5.3.1 基本的输出172 5.3.2 命令行参数172 5.3.3 使用read读取文本行173 5.3.4 文件描述符174 5.3.5 格式化输出175 5.4 调试跟踪175 5.4.1 空变量问题175 5.4.2 缺引号问题176 5.4.3 隔离问题176 5.4.4 echo普通中见“伟大”177 5.4.5 “-x”跟踪问题本领高177 5.4.6 assert函数177 5.4.7 caller命令178 5.4.8 trap命令178 5.5 高级特性180 5.5.1 波浪号“~”180 5.5.2 通配符180 5.5.3 元字符181 5.5.4 转义符182 5.5.5 命令替换183 5.5.6 运算优先级183 5.5.7 文件包含184 5.5.8 eval语句185 5.5.9 内建命令186 5.6 shell脚本编程实战187 5.6.1 守护进程的启动脚本187 5.6.2 读取数据文件和平滑启动nginx188 第6章 微型语言194 6.1 什么是微型语言194 6.2 软件管理的rpm196 6.2.1 构建你的第一个rpm包197 6.2.2 工作原理——分析spec文件199 6.2.3 依赖关系203 6.2.4 个软件多个包204 6.2.5 小结206 6.3 制作联机帮助文档的groff206 6.3.1 groff简介207 6.3.2 groff的工作方式208 6.3.3 如何制作一份联机帮助文档213 6.3.4 导出联机帮助文档219 6.3.5 小结220 6.4 把文本当数据库的awk221 6.4.1 使用方法221 6.4.2 基本概念222 6.4.3 注释与空白223 6.4.4 字符串223 6.4.5 数值225 6.4.6 变量228 6.4.7 模式与行为229 6.4.8 行为语句231 6.4.9 小结237 6.5 神奇的计算器dc和bc238 6.5.1 历史渊源——最古老的unix语言dc238 6.5.2 dc简介239 6.5.3 更为常用的bc244 6.5.4 小结250 6.6 不为人知的m4250 6.6.1 m4的历史251 6.6.2 m4的特性252 6.6.3 从hello world开始253 6.6.4 工作方式255 6.6.5 小结257 6.7 结束语258 第7章 编辑器的纷争259 7.1 独步青云的vi260 7.1.1 我为vi狂260 7.1.2 vi的使用261 7.1.3 vi的高级功能264 7.1.4 跟我一起打造一个ide266 7.2 横刀立马的emacs274 7.2.1 emacs的来历274 7.2.2 emacs的基本使用275 7.2.3 使用emacs必知必会278 7.2.4 lisp语言279 7.2.5 处理中文问题283 7.2.6 跟我一起打造一个ide283 7.3 结束语285 第8章 我是makefile286 8.1 gnu make及其基本用法288 8.2 基本概念289 8.2.1 第一个makefile例子290 8.2.2 目标、条件和命令291 8.2.3 依赖292 8.2.4 工作方式292 8.2.5 基本语法293 8.3 认识规则294 8.3.1 标准规则294 8.3.2 隐式规则294 8.3.3 变量295 8.3.4 自动变量297 8.3.5 模式规则299 8.3.6 假目标300 8.3.7 路径搜索302 8.4 高级特性303 8.4.1 文件包含303 8.4.2 命令305 8.4.3 深入变量307 8.4.4 宏与函数310 8.4.5 条件指令311 8.5 makefile实战312 8.5.1 自动产生依赖312 8.5.2 递归式的makefile315 8.5.3 自动产生makefile317 8.6 结束语323 第二部分 进阶篇 第9章 特种文件系统326 9.1 日志和reiserfs326 9.1.1 理解日志327 9.1.2 reiserfs——卓越的小文件性能与渺茫的未来328 9.1.3 应用实战331 9.1.4 小结331 9.2 进程文件系统procfs331 9.2.1 神秘的9号计划332 9.2.2 /proc目录333 9.2.3 procfs实战335 9.2.4 小结339 9.3 tmpfs——满足你对“时空”的双重渴望339 9.3.1 背景340 9.3.2 tmpfs文件系统341 9.3.3 tmpfs实战341 9.4 devfs和sysfs345 9.4.1 devfs的由来345 9.4.2 进入devfs346 9.4.3 sysfs的由来347 9.4.4 小结348 9.5 其他特种文件系统348 9.5.1 relayfs348 9.5.2 debugfs349 9.6 结束语349 第10章 生死与共的“兄弟”351 10.1 死心眼儿的bios352 10.2 小肚鸡肠的mbr353 10.2.1 mbr的结构353 10.2.2 磁盘分区表353 10.2.3 mbr的功能355 10.3 和事佬grub(牛b的统一引导加载器)355 10.3.1 bootloader355 10.3.2 grub的功能356 10.3.3 grub的工作流程357 10.4 唇齿相依的内核启动参数358 10.4.1 什么是内核启动参数358 10.4.2 内核启动参数的格式359 10.4.3 常用的内核启动参数359 10.5 自力更生的linux内核360 10.5.1 内核引导协议360 10.5.2 内核为什么要压缩360 10.5.3 startup_32361 10.5.4 start_kernel362 10.5.5 kernel_init362 10.6 及时雨initramfs363 10.6.1 寻找init的问题363 10.6.2 较早的initrd363 10.6.3 为什么选择initramfs364 10.7 “生”、“死”永相伴的init进程364 10.7.1 名不副实364 10.7.2 运行级别365 10.7.3 进入运行级别之前368 10.7.4 进入运行级别369 10.7.5 转换运行级别371 10.8 幕后英雄们371 10.8.1 终端372 10.8.2 getty系列命令372 10.8.3 display manager373 10.8.4 伪终端374 10.8.5 配置文件374 10.9 结束语375 第11章 独霸网络的“蜘蛛神功”376 11.1 功夫理论:网络知识376 11.2 “蜘蛛神功”第一层:网络工具378 11.2.1 马步:ifconfig378 11.2.2 掌法:route380 11.2.3 腿功:netstat381 11.2.4 眼力:dns二把刀383 11.2.5 身法:tcpdump385 11.3 “蜘蛛神功”第二层:套接字387 11.4 内功心法:tcp/ip协议栈初探388 11.4.1 枯树盘根:系统调用388 11.4.2 凝神静态:sockfs文件系统390 11.4.3 气沉丹田:sk_buff392 11.5 临战杂谈397 11.5.1 对udp的错误的认识398 11.5.2 事半功倍,调节内核参数399 第12章 一个网络一个世界402 12.1 you’ve got a mail402 12.1.1 email服务模式402 12.1.2 架设postfix服务器405 12.1.3 email故事的结局409 12.2 联接世界的web应用409 12.2.1 web服务器410 12.2.2 数据库412 12.2.3 解释型语言413 12.2.4 架设web服务器414 12.3 铜墙铁壁真功夫——linux内核集成的ip信息包过滤系统419 12.3.1 iptables420 12.3.2 netfilter423 12.3.3 实践出真知426 12.3.4 小盒子的秘密427 12.4 分享文件的乐趣434 12.4.1 nfs438 12.4.2 samba442 12.5 在虚拟与现实之间穿梭——实现安全的连接446 12.5.1 vpn实现方式447 12.5.2 ipsec vpn448 12.5.3 ssl vpn452 第13章 打通任督二脉455 13.1 了解网络驱动455 13.1.1 网络设备闲谈455 13.1.2 ioctl这把刷子456 13.1.3 设备驱动的秘密459 13.2 无线风光在险峰461 13.2.1 wlan461 13.2.2 bluetooth466 13.2.3 nfc——近距无线通信469 13.2.4 谜底474 13.3 奇迹是执着创造出来的474 13.3.1 从2.4到2.6474 13.3.2 从2.6到3.0477 第14章 身在江湖479 14.1 c2级安全认证479 14.2 linux的安全问题480 14.2.1 黑客入侵480 14.2.2 “病毒泛滥”482 14.2.3 拒绝服务攻击483 14.2.4 小结484 14.3 pam用户认证机制485 14.3.1 什么是pam485 14.3.2 pam的体系结构485 14.3.3 配置pam487 14.3.4 密码映射494 14.4 应用pam api495 14.4.1 开发概述495 14.4.2 pam事务496 14.4.3 事务属性498 14.4.4 用户认证499 14.4.5 认证凭证500 14.4.6 pam会话501 14.4.7 用户认证流程502 14.4.8 模块开发507 14.4.9 密码的保存508 14.5 安全增强系统509 14.5.1 主动访问控制dac509 14.5.2 强制访问控制mac510 14.5.3 selinux——linux的mac实现511 14.6 结束语515 第15章 七种武器516 15.1 长生剑:fork516 15.1.1 从线程说起516 15.1.2 古老而充满活力的进程520 15.1.3 多进程程序开发523 15.1.4 进程间通信的实现531 15.2 离别钩:vfs537 15.2.1 一切都是文件538 15.2.2 一棵有生命的“树”538 15.2.3 vfs简介539 15.2.4 基本数据结构540 15.2.5 sockfs541 15.3 孔雀翎:mmap543 15.3.1 理解mmap543 15.3.2 虚拟内存技术544 15.3.3 应用mmap548 15.4 碧玉刀:epoll553 15.4.1 c10k问题553 15.4.2 epoll的优点554 15.4.3 epoll的工作模式555 15.4.4 正确使用epoll556 15.4.5 用epoll解决c100k问题561 15.5 多情环:udev564 15.5.1 设计理念564 15.5.2 基本构成565 15.5.3 配置文件566 15.5.4 规则566 15.6 霸王枪:lvs567 15.6.1 负载均衡567 15.6.2 一个中国人的勇气569 15.6.3 lvs的特点570 15.6.4 lvs的工作模式571 15.6.5 lvs的负载均衡调度算法576 15.7 拳头:module578 15.7.1 内核中的web服务578 15.7.2 编写你的第一个module579 15.7.3 module与普通程序的不同582 15.7.4 module与用户通信584 15.7.5 内核加载module的原理590 15.8 结束语592 第16章 谁都可以从头再来——从头开始编译一套linux系统593 16.1 初识工具链——准备环境的必备工具594 16.1.1 编译器594 16.1.2 连接器594 16.1.3 程序库595 16.1.4 工具链——破解奇特的四角恋595 16.2 准备环境596 16.2.1 宿主系统环境597 16.2.2 生成工具链的binutils598 16.2.3 生成工具链的gcc599 16.2.4 生成工具链的glibc600 16.2.5 解决工具链的一些问题603 16.2.6 第二次生成工具链的binutils604 16.2.7 第二次生成工具链的gcc605 16.2.8 丰富工具链的功能608 16.2.9 整理工具链610 16.2.10 小结610 16.3 生成目标系统的运行环境611 16.3.1 准备工作611 16.3.2 安装glibc614 16.3.3 调整工具链617 16.3.4 安装binutils617 16.3.5 安装gcc618 16.3.6 安装其他基础设施620 16.3.7 系统启动脚本622 16.3.8 结束语623 16.4 定制linux内核623 16.4.1 内核的make参数624 16.4.2 定制界面625 16.4.3 编译与安装626 16.5 独立运行627 16.5.1 /etc/fstab文件627 16.5.2 使用grub配置启动过程627 16.6 结束语628 第三部分 扩展篇 第17章 窈窕淑女君子好逑630 17.1 女人心事难捉摸——linux图形环境630 17.1.1 x window630 17.1.2 桌面系统638 17.1.3 xorg639 17.2 云想衣裳花想容——qt与gtk644 17.2.1 发展历史644 17.2.2 gtk与qt的比较646 17.2.3 大家闺秀qt648 17.2.4 小鸟依人gtk657 第18章 这里也是鼓乐笙箫667 18.1 与多媒体的第一次握手667 18.1.1 听声668 18.1.2 看影669 18.1.3 多媒体工作室674 18.2 鼓——ffmpeg676 18.2.1 羞辱柱与软件许可676 18.2.2 多媒体的来龙去脉678 18.2.3 家庭成员684 18.3 乐——mplayer与vlc685 18.3.1 绿色的mplayer685 18.3.2 浪漫的vlc687 18.4 笙——framebuffer690 18.4.1 原理691 18.4.2 设置framebuffer691 18.4.3 文字倒置滚动692 18.5 箫——v4l2与alsa697 18.5.1 v4l2698 18.5.2 alsa703 18.6 结束语707 第19章 团结就是力量708 19.1 标准的前世今生708 19.1.1 一场拆分引发的标准708 19.1.2 站在posix肩膀上的lsb709 19.1.3 工作组711 19.1.4 标准化流程712 19.2 认证713 19.3 工具714 19.3.1 lsb sdk715 19.3.2 app checker716 19.3.3 distribution checker718 19.3.4 lsb navigator720 19.3.5 lsb_release的规范定义和实现720 19.4 lsb的前世今生721 19.4.1 吃一堑,长一智722 19.4.2 “哥只是个传说”723 19.4.3 意气风发的lsb5.0724 19.5 结束语724 附录 我的linux,我做主725

开本:16开

 

第3章 /etc/重要目录里的重点(了解)... 6

页码:728

每个部分的作用:

3.1 /etc/sysconfig/network-scripts/ifcfg-eth0. 6

版次:1-1

 

3.1.1 小结... 6

所属分类:计算机 > 操作系统 > Linux

Ø内核(Kernel)是系统的心脏,实现操作系统的基本功能。

3.2 /etc/host 6

图片 3 

Ø

3.3 /etc/sysconfig/network. 6

更多关于》》》 《Linux就是这个范儿》

§ 在硬件方面:控制硬件设备,内存管理,硬件接口,基本I/O;

3.4 /etc/rc.local 7

 

§ 在软件方面:管理文件系统,为程序分配内存和CPU时间等。

3.5 /etc/inittab. 7

编辑推荐

 

3.6 /etc/exports. 7

    阿里巴巴Linux技术大拿赵鑫磊、支付宝高级专家Jie Zhang带你深入探索linux。

 

3.7 /etc/init.d. 7

  王小川(搜狗公司CEO、前搜狐高级副总裁、首席技术官)

ØShell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。

3.8 /etc/profile. 7

  钱振宇博士(Windows Live中国首席科学家、德国不来梅大学教授、博士生导师)

Ø

3.9 /etc/profile.d. 7

  金尊和博士(VMware首席科学家、前IBM公司资深工程师、Sun公司Java JDO专家组成员)

§ Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核执行。

3.10 /etc/issue. 7

 

§ Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

3.11 /etc/issue.net 8

联袂推荐

 

3.12 /etc/motd. 8

  既然选择用它,为何不用得深入。

 

3.13 /etc/redhat-release. 8

  在高手的领地,学习亲切的知识,

Ø标准的Linux系统都有一套叫做应用程序的程序集。包括:

3.14 /etc/group. 8

  了解古朴而自由的世界,看到更多的可能性与非绝对。

l文本编辑器

3.15 /etc/passwd. 8

  在寻常的背后,发现惊人的思想,

l 编程语言

3.16 /etc/shadow.. 8

  在不寻常的背后,见证缜密的逻辑。

l X Window

3.17 /etc/gshadow.. 8

 

目录结构,linux系统的为主构成和文件系统的协会。l 办公套件

3.18 /etc/sudoers. 8

内容简介

l Internet工具

3.19 /etc/securetty. 8

    书籍

l 数据库等

3.20 /etc/login.defs. 8

    计算机书籍

Ø

3.21 /etc/modprobe.conf. 8

《linux就是这个范儿》内容源自淘宝技术大学的培训实战。由来自阿里巴巴集团的资深linux系统专家赵鑫磊和同样来自阿里巴巴集团的支付宝网络技术有限公司的高级专家jie zhang(张洁)共同著写。

 

3.22 /etc/rsyslog.conf. 8

两位作者用轻松、诙谐的语言讲解了高深的linux特性。通俗易懂、深入浅出,从linux设计思想的角度出发,授人以渔。同时,又密切结合应用案例,透彻展示出linux的系统架构设计是如何在实际中贯穿的,从而让读者真正掌握linux的强大之处。书中不含较为复杂的技术理论问题,一切从实际出发。

Ø文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前流行的文件系统,如EXT2、EXT3、 FAT、 VFAT、 ISO9660、 NFS、 SMB等

第4章 /usr文件重要(了解)... 8

全书共分为三个部分:基础篇、进阶篇和扩展篇。通过对linux的版本选择与安装、基本使用与系统结构、设计哲学与思想、脚本编程与软件开发、内核编译、网络与认证,以及多媒体等几个方面的精彩讲解,将linux操作系统的灵魂与运用教授给读者。

 

4.1 /usr/local 8

 

这里我想说说文件系统,首先linux文件系统是一种目录结构,也是树形结构。

4.2 /usr/local/bin. 8

目录

 

4.3 /usr/local/sbin. 9

《linux就是这个范儿》

图片 4

4.4 /usr/share. 9

第一部分 基础篇

 

4.5 /usr/src. 9

第1章 第一次亲密接触 2

下面介绍各个文件的用法

4.6 /usr/bin. 9

1.1 让linux入驻我们的电脑 2

 

4.7 /usr/local/bin. 9

1.1.1 我们用linux的理由 3

/bin 

4.8 /usr/lib. 9

1.1.2 选择哪个发行版 4

二进制可执行命令

4.9 /usr/local/lib. 9

1.1.3 安装系统 6

  

第5章 /var/重要(了解)... 9

1.1.4 登录系统 15

/dev 

5.1 /var/log/messages. 9

1.2 不一样的图形操作 15

设备特殊文件

5.2 /var/log/secure. 9

1.2.1 没有图形的图形 15

   

5.3 /var/log/wtmp. 9

1.2.2 架构设计 17

/etc 

5.4 /var/spool/clientmqueue. 9

1.3 主流桌面环境 18

系统管理和配置文件

第6章 /proc/重要(了解)... 9

1.3.1 kde初学者的首选 18

   

6.1 /proc/version. 10

1.3.2 gnome不可磨灭的经典 20

/etc/rc.d 

6.2 /proc/sys/kernel 10

1.3.3 xfce——轻量、简单、高效 21

启动的配置文件和脚本

6.3 /proc/sys/net/ipv4. 10

1.3.4 lxde——更轻,同样精悍 21

   

6.4 /proc/cpuinfo. 10

1.4 返璞归真的命令行 22

/home 

6.5 /proc/meminfo. 10

1.4.1 开始执行命令 22

用户主目录的基点,比如用户

6.6 /proc/devices. 10

1.4.2 文本和图形的切换 23

user

6.7 /proc/dma. 10

1.4.3 基础命令的操作 23

的主目录就是

6.8 /proc/filesystems. 10

1.4.4 快捷键 26

/home/user

6.9 /proc/interrupts. 10

1.4.5 错误信息 28

,可以用

6.10 /proc/ioports. 10

1.4.6 联机帮助——man很靠谱 30

~user

6.11 /proc/loadavg. 10

1.4.7 致命的linux命令 31

表示

6.12 /proc/mouts. 11

1.5 结束语 32

  

第1章 linux系统沐目录结构的基本特点介绍

(1) linux目录:一切从“根开始”,“/”是所有目录的起点(顶点):相对路径和绝对路径

(2) linux根下面的目录是一个有层次的树状结构

(3) 倒挂的一棵树

(4) linux每个目录可以挂在在不同的设备(磁盘)上,windows不容易做到

在逻辑上所有的目录(包括目录下的子目录)都在最高级级别的目录“/”下,根(“/”)目录是linux系统中所有目录的起始点(顶点),根下面的目录及目录的子目录是一个有层次的树状结构,很像一颗倒挂着的一棵大树,这和windows系统按照硬盘分区(C:D:E:)分割的目录结构是不同的(windows一个盘就是一棵树,多棵树一起)。

linux系统中的这些不同的目录也是很特别的,不同的目录可以分布在不同的硬盘分区以及不同的硬盘设备上,这是windows的系统难以做到的,windows系统的不同分区都是独立存在的。

图片 5

第2章 融于心而表于行 33

/lib 

1.1 挂载光盘 和卸载光盘

  1 [root@AIGE ~]# mount /dev/cdrom /mnt/
  2 
  3 mount: block device /dev/sr0 is write-protected, mounting read-only
  4 
  5 [root@AIGE ~]# df
  6 
  7 Filesystem 1K-blocks Used Available Use% Mounted on
  8 
  9 /dev/sda3 7148132 1452968 5325400 22% /
 10 
 11 tmpfs 506040 0 506040 0% /dev/shm
 12 
 13 /dev/sda1 194241 33767 150234 19% /boot
 14 
 15 /dev/sr0 3824484 3824484 0 100% /mnt
 16 
 17 [root@AIGE ~]# umount /mnt/
 18 
 19 [root@AIGE ~]# df
 20 
 21 Filesystem 1K-blocks Used Available Use% Mounted on
 22 
 23 /dev/sda3 7148132 1452968 5325400 22% /
 24 
 25 tmpfs 506040 0 506040 0% /dev/shm
 26 
 27 /dev/sda1 194241 33767 150234 19% /boot
 28 

磁盘接口

对应设备

sata/sas/scsi

sda(第一块盘)sdb(第二块盘)以此类推

ide

had(第一块盘)sdb(第二块盘)以此类推

sda1 盛大

分区======》新房划分隔符

(5) linux下面设备不挂载是看不到入口的,没有窗口没门的监狱,如果设备被访问就必须有一个入口,这个入口就是挂载点,挂载点实质就是目录。

图片 6

linux系统目录的特点是,不同的目录可以对应不同的分区或者磁盘。

图片 7

/ /boot 等 开机自动挂载--》/etc/fstab

(2)linux系统中的所有目录内同按照类别组织。例如,linux的应用程序,它的可执行程序可能在/usr/bin,而它的数据文件和帮助在/usr/share下,运行时加载的配置文件和服务启动命令却在/etc下。

2.1 多用户多任务分时操作系统 33

标准程序设计库,又叫动态链接共享库,作用类似

1.2 小结

linux系统的所有目录是一个有层次的倒着的树状目录结构。“/”根是所有目录的顶点

不同的目录数据可以跨越不同的磁盘分区或不同的磁盘设备。

所有的目录都是按照一定的类别有规律的组织和命名的

相对路径,相对于当前路径下的路径

2.2 用户的身份 35

windows

第2章 目录的介绍

目录

应放置档案内容

第一部分:FHF要求必须要存在的目录

/bin

系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。 在/bin底下的指令可以被root与一般帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。

/boot

这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。 Linux kernel常用的档名为:vmlinuz,如果使用的是grub2这个开机管理程式, 则还会存在/boot/grub2/这个目录喔!

/dev

在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中的。 你只要透过存取这个目录底下的某个档案,就等于存取某个装置啰~ 比要重要的档案有/dev/null, /dev/zero, /dev/tty, /dev/loop*, /dev/sd*等等

/etc

系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅的, 但是只有root有权力修改。FHS建议不要放置可执行档(binary)在这个目录中喔。比较重要的档案有: /etc/modprobe.d/, /etc/passwd, /etc/fstab, /etc/issue 等等。另外 FHS 还规范几个重要的目录最好要存在 /etc/ 目录下喔:

l /etc/opt(必要):这个目录在放置第三方协力软体 /opt 的相关设定档

l /etc/X11/(建议):与 X Window 有关的各种设定档都在这里,尤其是 xorg.conf 这个 X Server 的设定档。

l /etc/sgml/(建议):与 SGML 格式有关的各项设定档

l /etc/xml/(建议):与 XML 格式有关的各项设定档

/lib

系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库, 以及在/bin或/sbin底下的指令会呼叫的函式库而已。 什么是函式库呢?妳可以将他想成是‘外挂’,某些指令必须要有这些‘外挂’才能够顺利完成程式的执行之意。 另外 FHS 还要求底下的目录必须要存在:

l /lib/modules/:这个目录主要放置可抽换式的核心相关模组(驱动程式)喔!

/midia

media是‘媒体’的英文,顾名思义,这个/media底下放置的就是可移除的装置啦! 包括软碟、光碟、DVD等等装置都暂时挂载于此。常见的档名有:/media/floppy, /media/cdrom等等。

/sbin

Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来‘设定’系统,其他使用者最多只能用来‘查询’而已。 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。 至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary), 则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等。

/srv

srv可以视为‘service’的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。 不过,系统的服务资料如果尚未要提供给网际网路任何人浏览的话,预设还是建议放置到 /var/lib 底下即可。

/tmp

这是让一般使用者或者是正在执行的程序暂时放置档案的地方。 这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊! 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除唷!

/usr

第二层 FHS 设定,后续介绍

/var

第二曾 FHS 设定,主要为放置变动性的资料,后续介绍

第二部分:FHS建议可以存放的目录

/home

这是系统预设的使用者家目录(home directory)。在你新增一个一般使用者帐号时, 预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号喔:

l ~:代表目前这个使用者的家目录

l ~dmtsai :则代表 dmtsai 的家目录!

/lib<qual>

用来存放与 /lib 不同的格式的二进位函式库,例如支援 64 位元的 /lib64 函式库等

/root

系统管理员(root)的家目录。之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时, 该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分割槽中。

事实上FHS针对根目录所定义的标准就仅有上面的咚咚,不过我们的Linux底下还有许多目录你也需要瞭解一下的。 底下是几个在Linux当中也是非常重要的目录喔:

目录

应放置档案内容

/lost found

这个目录是使用标准的ext2/ext3/ext4档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时, 将一些遗失的片段放置到这个目录下。不过如果使用的是 xfs 档案系统的话,就不会存在这个目录了!

/proc

这个目录本身是一个‘虚拟档案系统(virtual filesystem)’喔!他放置的资料都是在记忆体当中, 例如系统核心、行程资讯(process)、周边装置的状态及网路状态等等。因为这个目录下的资料都是在记忆体当中, 所以本身不占任何硬碟空间啊!比较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。

/sys

这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录核心与系统硬体资讯较相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。这个目录同样不占硬碟容量喔!

图片 8

2.2.1 澡堂子模型 35

里的

2.1 小结:重要目录回顾

/dev/ 设备目录

/etc/ 系统配置及服务配置文件,服务启动命令的目录/etc/init.d

/proc/ 显示内核及进程信息的虚拟文件系统

/tmp 临时文件目录

/home 普通用户的家目录

/root root的目录(超级管理员)

/var 变换的目录,一般时日志文件(/var/log),cache的目录

/usr 用户程序及数据,帮助文件,二进制命令等的目录。

/bin 普通用户命令的目录

/sbin 超级用户命令的目录

2.2.2 理解用户角色 36

.dll

第3章 /etc/重要目录里的重点(了解)

2.2.3 /etc/passwd文件查看用户 37

文件

3.1 /etc/sysconfig/network-scripts/ifcfg-eth0

配置网络地址及GW等

  1 (1) 查看eth0 (习惯用法,第一块网卡,第二块是eth1)
  2 
  3 (2) 通过setup -->“networ configuration”修改网卡配置
  4 
  5 (3) /etc/init.d/network restart重启(全部)(stop停止,start开启,status查看状态)
  6 
  7 配置文件解释
  8 
  9 DEVICE=eth0 #物理设备名。eth0通常是第一块网卡
 10 
 11 TYPE=Ethernet #以太网
 12 
 13 ONBOOT=yes #重启网卡或者服务器之后控制网卡是不是自动启动
 14 
 15 NM_CONTROLLED=yes #不知道是什么服务
 16 
 17 BOOTPROTO=none #none,引导时不使用协议,static,静态分配地址,bootp,使用BOOTP协议,或者dhcp,使用DHCP协议
 18 
 19 USERCTL=no
 20 
 21 PEERDNS=yes
 22 
 23 IPV6INIT=no #是否开启IP6
 24 
 25 HWADDR=00:0c:29:57:1d:5a #MAC地址
 26 
 27 IPADDR=192.168.101.129 #IP地址
 28 
 29 NETMASK=255.255.255.0 #子网掩码
 30 
 31 DNS2=223.5.5.5 #域名解析DNS地址
 32 
 33 GATEWAY=192.168.101.2 #网关地址
 34 
 35 DNS1=192.168.101.2
 36 
 37 UUID #唯一标识磁盘的标识 blkid
 38 

2.2.4 /etc/group文件查看组 38

  

3.1.1 小结
  1. Linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)

  2. 2.Linux客户端DNS也可以在/etc/resolv.conf里设置

  3. 网卡里的设置DNS优先于/etc/resolv.conf

启动网卡的DNS会覆盖/etc/resolv.conf

2.2.5 管理用户和组 39

/sbin 

3.2 /etc/host

设定用IP与名字(或域名)的对应解析表,相当于本地LAN局域网内的DNS解析文件

用法:IP 域名

hosts文件在企业里的作用

  1. 开发,产品,测试等人员,用于通过正式的域名测试产品

  2. 服务器之间的条用可以用域名(内部的DNS),方便迁移

2.2.6 夺面双雄——利用sudo假借身份 41

系统管理命令,这里存放的是系统管理员使用的管理程序

3.3 /etc/sysconfig/network

可修改机器名及网卡启动,网关等配置。

永久更改主机名,需同时修改以下两项:

  1 1. vi /etc/sysconfig/network
  2 
  3 2. hostname 主机名
  4 
  5 3. uname -n
  6 
  7 4. 修改主机名
  8 
  9 5. setup-dns 里面(不推荐)
 10 
 11 [root@Aige ~]# sed 's#HOSTNAME=AIGE#HOSTNAME=Aige#g' /etc/sysconfig/network
 12 
 13 NETWORKING=yes
 14 
 15 HOSTNAME=Aige
 16 
 17 [root@Aige ~]# sed -i 's#HOSTNAME=AIGE#HOSTNAME=Aige#g' /etc/sysconfig/network
 18 
 19 [root@Aige ~]# cat /etc/sysconfig/network
 20 
 21 NETWORKING=yes
 22 
 23 HOSTNAME=Aige
 24 
 25 [root@Aige ~]#
 26 

2.2.7 我是谁? 44

  

3.4 /etc/rc.local

用于存放开机自启动程序命令和脚本的文件。

chkconfig常用管理yum/rpm安装的程序的服务自启动情况

自己开发(编译)习惯用rc.local

2.3 文件和它与权限的关系 45

/tmp 

3.5 /etc/inittab

设定系统启动时init进程将把系统设置成那个runlevel运行级别及加载相关的级别对ing启动文件设置

2.3.1 目录与文件 46

公用的临时文件存储点

3.6 /etc/exports

NFS的配置文件,后期补全

2.3.2 文件属性和权限 47

   

3.7 /etc/init.d

这个目录用来存放通过yum或rpm安装的服务的启动程序(脚本)

/etc/init.d===》/etc/rc.d/init.d

service 命令直接指向这个配置文件

service 服务名 start == /etc/init.d/服务名 start

2.3.3 文件连接到底是什么 49

/root 

3.8 /etc/profile

系统全局环境变量永久生效的配置文件,定义别名及PATH变量等

  1 [root@Aige ~]# echo $PATH
  2 
  3 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  4 
  5 [root@Aige ~]#
  6 

2.3.4 修改文件的属性和权限 51

系统管理员的主目录(呵呵,特权阶级)

3.9 /etc/profile.d

加载系统登录程序一个目录,命令或 文件独立存在

以文件的形式存在(*.sh为扩展名),但可执行

(跳板机)

2.3.5 深入文件权限 52

   

3.10 /etc/issue

在用户登录前显示出来(真实机,不是远程连接)

安全优化:清空此文件

2.3.6 文件的基本操作 54

/mnt 

3.11 /etc/issue.net

2.3.7 搜索文件 55

系统提供这个目录是让用户临时挂载其他的文件系统。

3.12 /etc/motd

登录后的提示

2.3.8 对文件打包压缩 57

   

3.13 /etc/redhat-release

系统版本信息

2.4 程序的执行问题 58

/lost found 

3.14 /etc/group

设定用户的组名与相关信息

2.4.1 执行程序的方法,以及多任务协调机制 58

这个目录平时是空的,

3.15 /etc/passwd

账号信息文件

2.4.2 计划任务 62

系统非正常关机而留下

3.16 /etc/shadow

密码信息文件

2.4.3 守护进程及其作用 64

3.17 /etc/gshadow

组密码信息文件

2.4.4 全面了解程序信息 66

无家可归

3.18 /etc/sudoers

可以执行使用sudo命令的配置文件 等于visudo命令

2.5 软件的安装方式 71

3.19 /etc/securetty

设定哪些终端可以让root登录 (tty终端)

2.5.1 从源代码安装软件 71

的文件

3.20 /etc/login.defs

所有用户登录时的缺省配置

2.5.2 利用软件管理工具rpm和dpkg 72

3.21 /etc/modprobe.conf

内核模块额外参数设定

2.5.3 更酷的线上升级 73

windows

3.22 /etc/rsyslog.conf

日志设置文件

2.6 磁盘的管理方式 76

下叫

第4章 /usr文件重要(了解)

2.6.1 linux的文件系统——甩windows几条街 76

什么

4.1 /usr/local

这个目录一般时用来存在用户自编译安装软件的存放目录(默认)

2.6.2 磁盘的基本操作 78

.chk

4.2 /usr/local/bin

用户安装的小的应用程序,和一些/usr/local目录下大应用程序的符号连接

2.6.3 /etc/fstab文件——决定分区的连接 83

)就在这里

4.3 /usr/local/sbin

系统全局环境目录,可放置一些不需要加路径执行的脚本

2.6.4 弹性调整容量——逻辑卷 85

   

4.4 /usr/share

系统共用的东西存在地

/usr/share/doc

/usr/share/man帮助文件

2.7 解决上网问题 90

/proc 

4.5 /usr/src

内核源码存放目录

2.7.1 了解ip地址 90

虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

4.6 /usr/bin

使用者可执行的binary file的目录(命令)

2.7.2 相关配置文件 91

  

4.7 /usr/local/bin

使用者可执行的binary file的目录(命令)

2.7.3 安装网卡 92

/var 

4.8 /usr/lib

系统会使用到的函数库

2.7.4 手工设定ip地址 92

某些大文件的溢出区,比方说各种服务的日志文件

4.9 /usr/local/lib

系统会使用到的函数库

2.7.5 自动获取ip地址 93

   

第5章 /var/重要(了解)

2.7.6 固定ip上网方式 93

/usr 

5.1 /var/log/messages

系统信息默认日志文件,非常重要,按周自动轮询

2.7.7 adsl拨号上网方式 94

最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:

5.2 /var/log/secure

记录登录系统存取信息的文件,按周自动轮询

2.8 不能割舍的shell 96

  

5.3 /var/log/wtmp

记录登录者信息的文件。last login records lastlog

2.8.1 勤勤恳恳的bash 96

/usr/x11r6 

5.4 /var/spool/clientmqueue

sendmail临时邮件文件目录,开启邮件服务,容易使inode满。

centos6不安装,不会出现此问题

2.8.2 环境变量 98

存放

第6章 /proc/重要(了解)

虚拟目录,使内存的映射,内核和进程的虚拟文件系统目录

2.8.3 bash的配置文件 98

x window

6.1 /proc/version

内核版本

2.9 文本处理 101

的目录

6.2 /proc/sys/kernel

系统内核功能

2.9.1 查看文本内容 101

  

6.3 /proc/sys/net/ipv4

2.9.2 正则表达式 101

/usr/bin 

6.4 /proc/cpuinfo

关于处理器的信息,如类型,厂家,型号和性能等

2.9.3 搜索文本的grep 104

众多的应用程序

6.5 /proc/meminfo

系统内存信息

  1 free -m
  2 
  3 [root@Aige ~]# free -m
  4 
  5 total used free shared buffers cached
  6 
  7 Mem: 482 476 6 4 127 66
  8 
  9 -/  buffers/cache: 282 200
 10 
 11 Swap: 768 18 750
 12 
 13 [root@Aige ~]#
 14 

2.9.4 排序和去重 105

   

6.6 /proc/devices

当前运行内核所配置的所有设备清单

2.9.5 文件对比命令——diff 105

/usr/sbin 

6.7 /proc/dma

当前正在使用的DMA通道

2.10 结束语 107

超级用户的一些管理程序

6.8 /proc/filesystems

当前运行内核所配置的文件系统

第3章 一棵“树”的奥秘 108

  

6.9 /proc/interrupts

正在使用的终端,和曾经又多少个中断

3.1 linux的文件组织结构 109

/usr/doc linux

6.10 /proc/ioports

当前正在使用的I/O端口

3.2 基本组织原则 110

文档

6.11 /proc/loadavg

系统负载平均值的信息

  1 uptime
  2 
  3 [root@Aige ~]# uptime
  4 
  5 09:13:18 up 11:13, 1 user, load average: 1.05, 0.43, 0.27
  6 
  7 [root@Aige ~]#
  8 

还有w和top可以查看负载

3.3 根文件系统 111

   

6.12 /proc/mouts

设备的挂载信息。

和df命令类似

  1 [root@Aige ~]# df
  2 
  3 Filesystem 1K-blocks Used Available Use% Mounted on
  4 
  5 /dev/sda3 7148132 2441644 4336724 37% /
  6 
  7 tmpfs 246976 0 246976 0% /dev/shm
  8 
  9 /dev/sda1 194241 33767 150234 19% /boot
 10 
 11 [root@Aige ~]#
 12 

3.3.1 原则与特性 111

/usr/include linux

3.3.2 必备的内容 112

下开发和编译应用程序所需要的头文件

3.3.3 可选的内容 113

  

3.4 子目录 113

/usr/lib 

3.4.1 /bin目录——shell命令 113

常用的动态链接库和软件包的配置文件

3.4.2 /boot目录——启动过程所需内容 115

linux系统包括4大部分 vLinux内核 v Linux Shell v Linux应用程序 v Linux文件系统 每个部分的作用...

3.4.3 /dev目录——设置文件 116

3.4.4 /etc目录——配置文件 116

3.4.5 /home目录——用户专有 118

3.4.6 /lib目录——共享库和内核模块 119

3.4.7 /media目录——可移动设备 119

3.4.8 /mnt目录——临时挂接 120

3.4.9 /opt目录——附加软件包 120

3.4.10 /root目录——root专有 120

3.4.11 /sbin目录——必备的系统软件 121

3.4.12 /srv目录——服务进程所需数据 121

3.4.13 /tmp目录——临时文件 122

3.5 /usr目录组织结构 122

3.5.1 /usr/bin目录 123

3.5.2 /usr/include目录 123

3.5.3 /usr/lib目录 123

3.5.4 /usr/local目录 123

3.5.5 /usr/sbin目录 124

3.5.6 /usr/share目录 124

3.5.7 /usr/share/man目录 125

3.5.8 /usr/share/misc目录 126

3.6 /var目录组织结构 127

3.6.1 /var/account目录 128

3.6.2 /var/cache目录 128

3.6.3 /var/lib目录 128

3.6.4 /var/lock目录 128

3.6.5 /var/log目录 129

3.6.6 /var/mail目录 129

3.6.7 /var/opt目录 129

3.6.8 /var/run目录 129

3.6.9 /var/spool目录 130

3.6.10 /var/tmp目录 130

3.7 结束语 130

第4章 “笨”出来的文化和哲学 131

4.1 unix的文化和哲学 133

4.2 “四大笨”之一:万般皆文本 134

4.2.1 二进制的烦恼 135

4.2.2 文本的快乐 135

4.2.3 文本之于配置文件 136

4.2.4 文本之于程序组合 137

4.2.5 文本之于通信协议 138

4.2.6 硬件也文本 138

4.3 “四大笨”之二:四处用脚本 139

4.3.1 富饶的脚本语言 139

4.3.2 为什么不是c 140

4.3.3 脚本的不足和混合编程 141

4.3.4 强力胶水 141

4.3.5 极端的例子 143

4.3.6 软件的适度规模 143

4.4 “四大笨”之三:规律无处寻 144

4.4.1 机制与策略 145

4.4.2 接口与引擎 145

4.4.3 不用重新造轮子 146

4.4.4 内在的支持 146

4.4.5 沉默是金,吝啬是银 147

4.5 “四大笨”之四:配置乱生根 148

4.5.1 什么是不可配的 148

4.5.2 配置三元素 149

4.5.3 配置文件 150

4.5.4 环境变量 151

4.5.5 命令行选项 152

4.6 什么样的文化 154

4.6.1 “傻x”的精明 154

4.6.2 “简单”不简单 155

4.7 这一切的基础大师的阐释 156

第5章 shell脚本编程 159

5.1 第一个shell脚本程序 159

5.2 编程的基本要素 160

5.2.1 变量 162

5.2.2 运算 164

5.2.3 流程控制 165

5.2.4 自定义函数 169

5.3 输入和输出 172

5.3.1 基本的输出 172

5.3.2 命令行参数 172

5.3.3 使用read读取文本行 173

5.3.4 文件描述符 174

5.3.5 格式化输出 175

5.4 调试跟踪 175

5.4.1 空变量问题 175

5.4.2 缺引号问题 176

5.4.3 隔离问题 176

5.4.4 echo普通中见“伟大” 177

5.4.5 “-x”跟踪问题本领高 177

5.4.6 assert函数 177

5.4.7 caller命令 178

5.4.8 trap命令 178

5.5 高级特性 180

5.5.1 波浪号“~” 180

5.5.2 通配符 180

5.5.3 元字符 181

5.5.4 转义符 182

5.5.5 命令替换 183

5.5.6 运算优先级 183

5.5.7 文件包含 184

5.5.8 eval语句 185

5.5.9 内建命令 186

5.6 shell脚本编程实战 187

5.6.1 守护进程的启动脚本 187

5.6.2 读取数据文件和平滑启动nginx 188

第6章 微型语言 194

6.1 什么是微型语言 194

6.2 软件管理的rpm 196

6.2.1 构建你的第一个rpm包 197

6.2.2 工作原理——分析spec文件 199

6.2.3 依赖关系 203

6.2.4 个软件多个包 204

6.2.5 小结 206

6.3 制作联机帮助文档的groff 206

6.3.1 groff简介 207

6.3.2 groff的工作方式 208

6.3.3 如何制作一份联机帮助文档 213

6.3.4 导出联机帮助文档 219

6.3.5 小结 220

6.4 把文本当数据库的awk 221

6.4.1 使用方法 221

6.4.2 基本概念 222

6.4.3 注释与空白 223

6.4.4 字符串 223

6.4.5 数值 225

6.4.6 变量 228

6.4.7 模式与行为 229

6.4.8 行为语句 231

6.4.9 小结 237

6.5 神奇的计算器dc和bc 238

6.5.1 历史渊源——最古老的unix语言dc 238

6.5.2 dc简介 239

6.5.3 更为常用的bc 244

6.5.4 小结 250

6.6 不为人知的m4 250

6.6.1 m4的历史 251

6.6.2 m4的特性 252

6.6.3 从hello world开始 253

6.6.4 工作方式 255

6.6.5 小结 257

6.7 结束语 258

第7章 编辑器的纷争 259

7.1 独步青云的vi 260

7.1.1 我为vi狂 260

7.1.2 vi的使用 261

7.1.3 vi的高级功能 264

7.1.4 跟我一起打造一个ide 266

7.2 横刀立马的emacs 274

7.2.1 emacs的来历 274

7.2.2 emacs的基本使用 275

7.2.3 使用emacs必知必会 278

7.2.4 lisp语言 279

7.2.5 处理中文问题 283

7.2.6 跟我一起打造一个ide 283

7.3 结束语 285

第8章 我是makefile 286

8.1 gnu make及其基本用法 288

8.2 基本概念 289

8.2.1 第一个makefile例子 290

8.2.2 目标、条件和命令 291

8.2.3 依赖 292

8.2.4 工作方式 292

8.2.5 基本语法 293

8.3 认识规则 294

8.3.1 标准规则 294

8.3.2 隐式规则 294

8.3.3 变量 295

8.3.4 自动变量 297

8.3.5 模式规则 299

8.3.6 假目标 300

8.3.7 路径搜索 302

8.4 高级特性 303

8.4.1 文件包含 303

8.4.2 命令 305

8.4.3 深入变量 307

8.4.4 宏与函数 310

8.4.5 条件指令 311

8.5 makefile实战 312

8.5.1 自动产生依赖 312

8.5.2 递归式的makefile 315

8.5.3 自动产生makefile 317

8.6 结束语 323

第二部分 进阶篇

第9章 特种文件系统 326

9.1 日志和reiserfs 326

9.1.1 理解日志 327

9.1.2 reiserfs——卓越的小文件性能与渺茫的未来 328

9.1.3 应用实战 331

9.1.4 小结 331

9.2 进程文件系统procfs 331

9.2.1 神秘的9号计划 332

9.2.2 /proc目录 333

9.2.3 procfs实战 335

9.2.4 小结 339

9.3 tmpfs——满足你对“时空”的双重渴望 339

9.3.1 背景 340

9.3.2 tmpfs文件系统 341

9.3.3 tmpfs实战 341

9.4 devfs和sysfs 345

9.4.1 devfs的由来 345

9.4.2 进入devfs 346

9.4.3 sysfs的由来 347

9.4.4 小结 348

9.5 其他特种文件系统 348

9.5.1 relayfs 348

9.5.2 debugfs 349

9.6 结束语 349

第10章 生死与共的“兄弟” 351

10.1 死心眼儿的bios 352

10.2 小肚鸡肠的mbr(主引导记录) 353

10.2.1 mbr的结构 353

10.2.2 磁盘分区表 353

10.2.3 mbr的功能 355

10.3 和事佬grub(牛b的统一引导加载器) 355

10.3.1 bootloader 355

10.3.2 grub的功能 356

10.3.3 grub的工作流程 357

10.4 唇齿相依的内核启动参数 358

10.4.1 什么是内核启动参数 358

10.4.2 内核启动参数的格式 359

10.4.3 常用的内核启动参数 359

10.5 自力更生的linux内核 360

10.5.1 内核引导协议 360

10.5.2 内核为什么要压缩 360

10.5.3 startup_32 361

10.5.4 start_kernel 362

10.5.5 kernel_init 362

10.6 及时雨initramfs 363

10.6.1 寻找init的问题 363

10.6.2 较早的initrd 363

10.6.3 为什么选择initramfs 364

10.7 “生”、“死”永相伴的init进程 364

10.7.1 名不副实 364

10.7.2 运行级别 365

10.7.3 进入运行级别之前 368

10.7.4 进入运行级别 369

10.7.5 转换运行级别 371

10.8 幕后英雄们 371

10.8.1 终端 372

10.8.2 getty系列命令 372

10.8.3 display manager 373

10.8.4 伪终端 374

10.8.5 配置文件 374

10.9 结束语 375

第11章 独霸网络的“蜘蛛神功” 376

11.1 功夫理论:网络知识 376

11.2 “蜘蛛神功”第一层:网络工具 378

11.2.1 马步:ifconfig 378

11.2.2 掌法:route 380

11.2.3 腿功:netstat 381

11.2.4 眼力:dns二把刀 383

11.2.5 身法:tcpdump 385

11.3 “蜘蛛神功”第二层:套接字 387

11.4 内功心法:tcp/ip协议栈初探 388

11.4.1 枯树盘根:系统调用 388

11.4.2 凝神静态:sockfs文件系统 390

11.4.3 气沉丹田:sk_buff 392

11.5 临战杂谈 397

11.5.1 对udp的错误的认识 398

11.5.2 事半功倍,调节内核参数 399

第12章 一个网络一个世界 402

12.1 you’ve got a mail 402

12.1.1 email服务模式 402

12.1.2 架设postfix服务器 405

12.1.3 email故事的结局 409

12.2 联接世界的web应用 409

12.2.1 web服务器 410

12.2.2 数据库 412

12.2.3 解释型语言 413

12.2.4 架设web服务器 414

12.3 铜墙铁壁真功夫——linux内核集成的ip信息包过滤系统 419

12.3.1 iptables 420

12.3.2 netfilter 423

12.3.3 实践出真知 426

12.3.4 小盒子的秘密 427

12.4 分享文件的乐趣 434

12.4.1 nfs 438

12.4.2 samba 442

12.5 在虚拟与现实之间穿梭——实现安全的连接 446

12.5.1 vpn实现方式 447

12.5.2 ipsec vpn 448

12.5.3 ssl vpn 452

第13章 打通任督二脉 455

13.1 了解网络驱动 455

13.1.1 网络设备闲谈 455

13.1.2 ioctl这把刷子 456

13.1.3 设备驱动的秘密 459

13.2 无线风光在险峰 461

13.2.1 wlan 461

13.2.2 bluetooth 466

13.2.3 nfc——近距无线通信 469

13.2.4 谜底 474

13.3 奇迹是执着创造出来的 474

13.3.1 从2.4到2.6 474

13.3.2 从2.6到3.0 477

第14章 身在江湖 479

14.1 c2级安全认证 479

14.2 linux的安全问题 480

14.2.1 黑客入侵 480

14.2.2 “病毒泛滥” 482

14.2.3 拒绝服务攻击 483

14.2.4 小结 484

14.3 pam用户认证机制 485

14.3.1 什么是pam(可拔插认证模块) 485

14.3.2 pam的体系结构 485

14.3.3 配置pam 487

14.3.4 密码映射 494

14.4 应用pam api 495

14.4.1 开发概述 495

14.4.2 pam事务 496

14.4.3 事务属性 498

14.4.4 用户认证 499

14.4.5 认证凭证 500

14.4.6 pam会话 501

14.4.7 用户认证流程 502

14.4.8 模块开发 507

14.4.9 密码的保存 508

14.5 安全增强系统 509

14.5.1 主动访问控制dac 509

14.5.2 强制访问控制mac 510

14.5.3 selinux——linux的mac实现 511

14.6 结束语 515

第15章 七种武器 516

15.1 长生剑:fork 516

15.1.1 从线程说起 516

15.1.2 古老而充满活力的进程 520

15.1.3 多进程程序开发 523

15.1.4 进程间通信的实现 531

15.2 离别钩:vfs 537

15.2.1 一切都是文件 538

15.2.2 一棵有生命的“树” 538

15.2.3 vfs简介 539

15.2.4 基本数据结构 540

15.2.5 sockfs 541

15.3 孔雀翎:mmap(内存映射) 543

15.3.1 理解mmap 543

15.3.2 虚拟内存技术 544

15.3.3 应用mmap 548

15.4 碧玉刀:epoll(增强i/o复用) 553

15.4.1 c10k问题 553

15.4.2 epoll的优点 554

15.4.3 epoll的工作模式 555

15.4.4 正确使用epoll 556

15.4.5 用epoll解决c100k问题 561

15.5 多情环:udev 564

15.5.1 设计理念 564

15.5.2 基本构成 565

15.5.3 配置文件 566

15.5.4 规则 566

15.6 霸王枪:lvs 567

15.6.1 负载均衡 567

15.6.2 一个中国人的勇气 569

15.6.3 lvs的特点 570

15.6.4 lvs的工作模式 571

15.6.5 lvs的负载均衡调度算法 576

15.7 拳头:module 578

15.7.1 内核中的web服务 578

15.7.2 编写你的第一个module 579

15.7.3 module与普通程序的不同 582

15.7.4 module与用户通信 584

15.7.5 内核加载module的原理 590

15.8 结束语 592

第16章 谁都可以从头再来——从头开始编译一套linux系统 593

16.1 初识工具链——准备环境的必备工具 594

16.1.1 编译器 594

16.1.2 连接器 594

16.1.3 程序库 595

16.1.4 工具链——破解奇特的四角恋 595

16.2 准备环境 596

16.2.1 宿主系统环境 597

16.2.2 生成工具链的binutils 598

16.2.3 生成工具链的gcc 599

16.2.4 生成工具链的glibc 600

16.2.5 解决工具链的一些问题 603

16.2.6 第二次生成工具链的binutils 604

16.2.7 第二次生成工具链的gcc 605

16.2.8 丰富工具链的功能 608

16.2.9 整理工具链 610

16.2.10 小结 610

16.3 生成目标系统的运行环境 611

16.3.1 准备工作 611

16.3.2 安装glibc 614

16.3.3 调整工具链 617

16.3.4 安装binutils 617

16.3.5 安装gcc 618

16.3.6 安装其他基础设施 620

16.3.7 系统启动脚本 622

16.3.8 结束语 623

16.4 定制linux内核 623

16.4.1 内核的make参数 624

16.4.2 定制界面 625

16.4.3 编译与安装 626

16.5 独立运行 627

16.5.1 /etc/fstab文件 627

16.5.2 使用grub配置启动过程 627

16.6 结束语 628

第三部分 扩展篇

第17章 窈窕淑女君子好逑 630

17.1 女人心事难捉摸——linux图形环境 630

17.1.1 x window 630

17.1.2 桌面系统 638

17.1.3 xorg 639

17.2 云想衣裳花想容——qt与gtk 644

17.2.1 发展历史 644

17.2.2 gtk与qt的比较 646

17.2.3 大家闺秀qt 648

17.2.4 小鸟依人gtk 657

第18章 这里也是鼓乐笙箫 667

18.1 与多媒体的第一次握手 667

18.1.1 听声 668

18.1.2 看影 669

18.1.3 多媒体工作室 674

18.2 鼓——ffmpeg 676

18.2.1 羞辱柱与软件许可 676

18.2.2 多媒体的来龙去脉 678

18.2.3 家庭成员 684

18.3 乐——mplayer与vlc 685

18.3.1 绿色的mplayer 685

18.3.2 浪漫的vlc 687

18.4 笙——framebuffer 690

18.4.1 原理 691

18.4.2 设置framebuffer 691

18.4.3 文字倒置滚动 692

18.5 箫——v4l2与alsa 697

18.5.1 v4l2 698

18.5.2 alsa 703

18.6 结束语 707

第19章 团结就是力量 708

19.1 标准的前世今生 708

19.1.1 一场拆分引发的标准 708

19.1.2 站在posix肩膀上的lsb 709

19.1.3 工作组 711

19.1.4 标准化流程 712

19.2 认证 713

19.3 工具 714

19.3.1 lsb sdk 715

19.3.2 app checker 716

19.3.3 distribution checker 718

19.3.4 lsb navigator 720

19.3.5 lsb_release的规范定义和实现 720

19.4 lsb的前世今生 721

19.4.1 吃一堑,长一智 722

19.4.2 “哥只是个传说” 723

19.4.3 意气风发的lsb5.0 724

19.5 结束语 724

附录 我的linux,我做主 725

 

本图书信息来源:互动出版网

 

本文由澳门威斯尼斯人网址发布于书评随笔,转载请注明出处:目录结构,linux系统的为主构成和文件系统的协会

关键词:

最火资讯