Linux私房菜

Linux私房菜
Linux私房菜

《第0章》

计算机概论

0.1.计算机

计算机:接收用户输入指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息。

a.计算机硬件的五大单元

?输入单元:键盘、鼠标、卡片阅读机、扫描仪、手写板、触摸屏等。

?中央处理器(CPU):算数逻辑、控制、记忆单元。

?输出单元:屏幕、打印机等。

中央处理器(Central Processing Unit,CPU),CPU为一个具有特定功能的芯片,含有微指令集。

计算机的组成单元:输入单元、输出单元、CPU内部的控制单元、算术逻辑单元与内存五大部分。b.CPU的种类

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

微指令集较为精简,每个指令的执行时间都很短,完成的操作也很单纯,指令的执行性能较佳;但是要做复杂的事情,就要由多个指令完成。

复杂指令集

微指令集中,每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。每条指令花费时间较长,每条个别指令可以处理的工作较为丰富。

个人计算机常被称为x86架构的计算机。

c.接口设备

最重要的接口设备室主板。

?存储设备:硬盘、软盘、光盘、磁带等。

?显示设备:显卡。

?网络设备:网卡。

d.运作流程

整台主机当中最重要的就是CPU与内存,CPU的数据都来自于内存,当CPU要读取硬盘中的数据

时,要想将数据读取到内存中再由CPU判断。

e.计算机分类

f.计算机的计量单位

大小单位

0/1的单位称为bit。

1Byte = 8bit

速度单位

CPU的运算速度通常用MHz或GHz单位,Hz其实就是秒分之一。

网络传输方面,使用的是bit单位,通常使用的单位为Mbit/s,即每秒多少Mbit。

0.2.个人计算机架构与接口设备

两大主流x86开发商(Intel,AMD)的CPU架构不兼容。

芯片组分为两个桥连接器来控制各组件的通信,分别是:

北桥负责连接速度较快的CPU、内存与显卡等组件;

南桥负责连接速度较慢的周边接口,包括硬盘、USB、网卡等。

a.CPU

Note:不同的CPU之间不能单纯以频率来判断运算性能。这是因为每个CPU的微指令集不

相同,架构也不一样,每次频率能够进行的工作指令数也不同,所以频率目前仅能用来比较同款CPU的速度。

?CPU的 "外频" 与 "倍频"

外频指的是CPU与外部组件进行数据传输/运算时的速度,倍频则是CPU内部用来加速工作性能的一个倍数,两者相乘才是CPU的频率。

b.内存

CPU所使用的数据都是来自于内存(Memory),不论是软件程序还是数据,都必须要读入内存后CPU 才能使用。个人计算机的内存主要组件为动态随机访问内存(Dynamic Random Access Memory,DRAM),随机访问内存只有在通电时才能记录与使用,断电后数据就消失了。也称这种RAM为挥发性内存。

c.显卡

显卡又称为VGA(Video Graphics Array),对于图形影像的显示扮演相当重要的角色。显卡内存容量将会影响屏幕分辨率与色彩深度。

显卡厂商直接在显卡上面嵌入一个3D加速芯片,这样的显卡也称为GPU。

d.硬盘与存储设备

计算机系统上面的存储设备包括硬盘、软盘、MO、CD、DVD、磁带机、U盘(闪存)等。

?硬盘的物理构成

硬盘其实是由许多的盘片、机械手臂、磁头与主轴马达所组成的。

读写主要是通过在机械手臂上的读取头(Head)来完成。主轴马达让盘片转动,然后机械手臂可伸展让读取头在盘片上面进行读写的操作。

?盘片上的数据

磁盘的最小存储单位,扇区(Sector),在物理组成分面,每个扇区大小为512bytes。

扇区组成一个圆就成为磁道(Track),在多硬盘上面,在所有盘片上面的同一个磁道可以组成一个柱面(Cylinder),柱面一般是分割硬盘的最小单位。

硬盘的存储量计算:header数量 * 每个header负责的柱面数量 * 每个柱面所含有的扇区数量* 扇区的容量。

?传输接口

IDE接口

SATA接口

e.PCI适配卡

f.主板

?CMOS与BIOS

CMOS主要的功能为记录主板上面的重要参数,包括系统时间、CPU电压与频率、各项设备的I/O 地址与IRQ等,由于这些数据的记录要花费电力,因此主板上面才有电池。

BIOS为写入到主板上某一块闪存或EEPROM的程序,它可以在开机的时候执行,以加载CMOS当中的参数,并尝试调用存储设备中的开机程序,进一步进入操作系统中。

l i n u x是什么

1.1.Linux是什么

a.Linux是什么

Linux就是一套操作系统,是内核与系统调用两层。

Note:Windows操作系统是针对个人计算机x86架构的硬件设计的,只能在x86的个人

计算机上面运行。Linux是Open Source(开放源代码)的操作系统,具有 "可移植性" 。b.Linux之前UNIX的历史

主机规划与磁盘分区3.1.Linux与硬件的搭配

各个组件或设备在linux下面都是一个文件。

a.选择与Linux搭配的主机配置

桌面型(Desktop)Linux系统/含X Window

用途:Linux学习机或办公工作机

CPU:P-IV以上

RAM:大于512M

网卡:10/100Mb/s

显卡:大于32M

硬盘:大于60GB

b.各硬件设备在Linux中的文件名

在Linux系统中,每个设备都被当成一个文件来对待。

在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录内。

设备设备在Linux内的文件名

IDE硬盘/dev/hd[a-d]

SCSI/SATA/USB硬盘/dev/sd[a-p]

U盘/dev/sd[a-p](与SATA相同)

软驱/dev/fd[0-1] 打印机25针:/dev/lp[0-2]

USB:/dev/usb/lp[0-15]

鼠标USB:/dev/usb/mouse[0-15]

PS2:/dev/psaux

当前CD ROM/DVD ROM /dev/cdrom

当前鼠标/dev/mouse

磁带机IDE:/dev/ht0

SCSI:/dev/st0

3.2.磁盘分区

a.磁盘连接的方式与设备文件名的关系

SATA/USB/SCSI等磁盘接口都是使用SCSI模块来驱动,接口的磁盘设备文件名都是/dev/sd[a-p]的格式。

b.磁盘的组成

盘片上分扇区(Sector)与柱面(Cylinder)两种单位,其中每个扇区为512bytes。

磁盘第一扇区主要记录两个信息:

主引导分区(Master Boot Record,MBR),可以安装引导加载程序的地方,446bytes。

分区表(partition table),记录整块硬盘分区的状态,有64bytes。

MBR很重要,系统在开机时主动读取MBR区块的内容,系统会知道程序存放的位置且该如何开机。c.磁盘分区表

在分区表所在的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的原始与结束的柱面号码。

分区表只有64bytes,最多只能容纳四个分区,这四个分区被称为主(Primary)或扩展(Extended)分区。

?所谓的 "分区" 只是针对那个64bytes的分区表进行设置而已。

?磁盘默认的分区表仅能写入四组分区信息。

?四组分区信息称为主(Primary)或扩展(Extended)分区。

?分区的最小单位为柱面(cylinder)。

?当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。

分区的必要性:

数据的安全性:

系统的性能考虑

d.开机流程与主引导分区(MBR)

CMOS是记录各项硬件参数且嵌入在主板上面的存储器,BIOS则是一个写入到主板上的一个韧体(就是写入到硬件上的一个软件程序)。BIOS就是在开机的时候计算机系统会主动执行的第一个程序。

?BIOS:开机主动执行的韧体,会认识第一个可开机的设备。

?MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序。

?引导加载程序(Boot loader):一个可读取内核文件来执行的软件。

?内核文件:开始操作系统的功能。

BIOS与MBR是硬件本身会支持的功能。Boot loader则是操作系统安装在MBR上面的一套软件。

boot loader任务:

?提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能。

?载入内核文件:直接指向可开机的程序区段来开始操作系统。

?转交其他loader:将引导加载功能转交给其他loader负责。

e.Linu安装模式下,磁盘分区的选择

?目录树结构(directory tree)

目录树结构(directory tree)就是以根目录为主

如果光盘里面有个文件名为 "我的文件" 时,那么这个文件是在哪里?

这个文件最终会在如下的完整文件名中:

Windows:桌面\我的计算机\E:\我的文件

Linux:/media/cdrom/我的文件

如果光驱并非被挂载到/media/cdrom,而是挂载到/mnt这个目录时,刚才读取的这个文件的文件会变成:

/mnt/我的文件

3.3.安装Linux前的规划

a.选择适当的distribution

CentOS官方网站:https://www.360docs.net/doc/24438722.html,/centos/5/isos/

Note:下载的文件扩展名是.iso,就是所谓的image文件(镜像文件)。

b.主机的服务规划与硬件的关系

c.主机硬盘的主要规划

?简单分区方法:

仅分出根目录与内存交换空间(/& swqp)即可。

?普通分区方法:

/

/usr

/home /var Swap

《第四章》

安装C e n t O S5.x与多重引导小技巧

4.1.练习机的规划(尤其是参数分区)

所需目录/设备磁盘容量分区类型

/boot 100MB primary

/ 10GB primary

/home 5GB primary

swap 1GB logical

?引导装载程序(boot loader)

使用CentOS 5.x默认的grub软件,安装到MBR上面。

4.2.开始安装CentOS

?调整启动媒体(BIOS):CD或DVD光盘启动,调整BIOS

?选择安装结构和开机:包括图形界面/命令行界面等,也可通过特殊参数来开机进入安装界面。

?选择语系数据:由于不同地区的键盘按键不同,需要调整语系/键盘/鼠标等配置。

?磁盘分区:

?引导装载程序、网络、时区设置与root密码:

?软件选择:

?安装后首次设置:

a.调整启动媒体(BIOS)

?开机进入BIOS的按键

将PC机重新启动,开机界面按下[Del]按键,进入BIOS界面。

?进入BIOS操作界面

显示目前BIOS主要结构

通过[↑][↓][←][→]按键选择"Boot",进入。

?开机启动顺序的调整

进入到Boot界面,使用[+]、[-]按键调整开机启动顺序。调整开机设备为光盘(CD)。

?保存后离开

按[F10]键然后按下[Enter]键就能够保存刚才的设置,系统自动重新启动,就能够使用光驱里面

的光盘来启动了。

Note:当出现 "BIOS Features Setup" 之类字眼的选项,进入该选项后找到 "Boot

Sequence" 或者是 "First Boot Device" 之类的字样,选择CD-ROM开机为第一优先即可,然后是硬盘(HD-0)。

b.选择安装与开机

?[Enter]键来进入图形界面安装方式;

?直接在boot:输入 "linux test" 来进入文字界面安装;

?[F1]-[F5]按键来查阅功能。

c.选择语系数据

"Realise Notes" 按钮,能够看到公告的栏目。

d.磁盘分区

?在选定磁盘上删除所有分区并创建默认分区结构:硬盘会整个背Linux使用,并且硬盘里面的分区全部被删除后,以安装程序的默认方式重新创建分区。

?在选定驱动上删除Linux分区并创建默认的分区结构:在这块硬盘内,只有Linux的分区会被删除,然后再以安装程序的默认方式重新创建分区。

?使用选定驱动器中的空余空间并创建默认的分区结构:硬盘内有未被分区的柱面空间(注:是未被分区),那么使用这个选型后,它不会更改原有的分区,只会在空余分区块进行默认分区的创建。

?建立自定义的分区结构:不使用安装程序的默认分区方式,按需要的分区方式来处理。

选择建立自定义的分区结构。

命令区,其中RAID与LVM是硬盘特殊的应用,其他分区命令:

?"新建"是增加新分区,也即是进行分区操作,以新建新的磁盘分区。

?"编辑"则是编辑已经存在的磁盘分区,可以在实际状态显示区点击想要修改的分区,然后再点击 "编辑" 即可进行该分区的编辑操作。

?"删除"删除一个磁盘分区,在实际状态显示区点击想要删除的分区。

?"重设"恢复最原始的磁盘分区状态。

创建根目录的分区

按下 "新建" 后,默认ext3文件系统

swap内存交换空间的功能

当由数据被存放在物理内存里面,但是这些数据又不是常被CPU所取用时,那么这些不常被使用的程序将会被丢到硬盘的swap交换空间当中,而将速度较快的物理内存空间释放出来给真正需要的程序使用。如果系统不是很忙,内存足够大,就不需要swap。

g.其他功能:RAM testing、安装笔记本电脑的内核参数(Option)

4.3.安装后的首次设置

《第5章》

首次登录与在线求助m a n p a g e

5.1.首次登录系统

a.首次登录CentOS 5.x图形界面

Linux系统中由于是多人多任务的环境,所以系统随时都有很多任务在进行,因此正确开关机可是很重要的。不正常的关机可能会导致文件系统错乱,造成数据的损毁。通常Linux主机都会加挂一个不断电系统。

鸟哥的linux私房菜:鸟哥的Linux私房菜目录 鸟哥的linux私房菜

鸟哥的linux私房菜:鸟哥的Linux私房菜目录鸟哥的 linux私房菜 鸟哥的linux私房菜:鸟哥的Linux私房 菜目录鸟哥的linux私房菜 话题:鸟哥的linux私房菜兴趣爱好什么是操作系统什么是磁盘阵列文件目录第一部分认识Linux及Linux主机规划安装第1章什么是Linux21.1 什么是Linux31.1.1 计算机:计算的辅助工具31.1.2 什么是操作系统31.1.3 Linux之前UNIX的历史51.1.4 关于GNU计划91.2 Torvalds的Linux开发 111.2.1 与Minix之间111.2.2 386硬件的多任务测试111.2.3 初次发布Linux 0.02121.2.4 Linux的开发:虚拟团队的产生131.2.5 Linux 版本141.3 Linux的特性151.3.1 Linux的特性161.3.2 Linux的优缺点161.3.3 其他相关信息171.4 习题181.5 参考资料19第2章如何学习Linux202.1 Linux的应用212.2 基础学习222.2.1 从头学习222.2.2 选择工具书232.2.3 实践再实践232.3 学习方法232.3.1 X Window还是命令行242.3.2 主机/网络数据查询242.3.3 向别人提问252.3.4 笔者的建议252.4 习题26第3章 Linux主机的规划273.1 认识主机硬 件 组件283.1.1 认识计算机的硬件配置283.1.2 选择适合Linux系统的主机配 置333.1.3 Linux中的硬件设备号353.2 安装Linux前的规划363.2.1 选择适当的版本363.2.2 主机服务规划与硬件的关系373.2.3 主机硬盘的主要规划 383.2.4 练习机的安装建议393.3 实际案例393.4 习题403.5 参考资料41第4 章安装FC4与多重启动技巧424.1 安装Linux的第一步:规划434.1.1 练习机的规划434.1.2 硬盘连接与硬盘号444.1.3 识别硬盘分区454.1.4 Linux安装模式中硬盘分区的选择(极重要)464.2 开始安装Fedora Core Release IV474.2.1

【IT专家】【Linux】鸟哥的Linux私房菜基础学习篇整理(一)

本文由我司收集整编,推荐下载,如有疑问,请与我司联系【Linux】鸟哥的Linux私房菜基础学习篇整理(一)2014/07/28 265 最近,一直在写PPC的模拟器和汇编器,也在做设计。因此重新看了看《鸟哥的Linux私房菜》,还是有好多命令不太熟悉。就打算写几篇blog 记下来。1. nl [-bnw] filename:添加行号打印参数:-b:指定行号指定的方式,主要有两种:-b a:表示不论是否为空行,也同样列出行号(类似cat -n);-b t:如果有空行,空的那一行不要列出行号(默认值)。-n:列出行号表示的方法,主要有三种:-n ln:行号在屏幕的最左方显示;-n rn:行号在自己字段的最右方显示,且不加0;-n rz:行号在自己字段的最右方显示,且加0。-w:行号字段所占用的位数。2. more:一页一页翻动支持的按键:Space:代表向下翻一页;Enter:代表向下滚动一行;/字符串:代表在这个显示的内容中,向下查询“字符串”这个关键字;:f:立刻显示文件名以及目前显示的行数;q:代表立刻离开more,不再显示该文件内容;b或[ctrl]-b:代表向回翻页,不过仅对文件有用,对管道无用。3. less:一页一页翻动支持的按键:Space:向下翻动一页;[PageDown]:向下翻动一页;[PageUp]:向上翻动一页;/字符串:向下查询“字符串”这个关键字;?字符串:向上查询“字符串”这个关键字;n:重复前一个查询(与/或?有关);N:反向重复前一个查询(与/或?有关);q:退出。4. head [-n number] filename:取出前面几行参数:-n:后面接数字,代表要显示的行数;5. tail [-nf] filename:取出后面几行参数:-n:后面接数字,代表要显示的行数;-f:表示持续检测后面的文件,要等到按下[ctrl]-c 才会结束tail的检测。6. od [-t TYPE] filename:查阅非纯文本文件参数:-t:后面接各种类型的输出,例如:a:利用默认的字符来输出;c:使用ASCII字符来输出;d[size]:利用十进制来输出,每个整数占用size bytes;f[size]:利用浮点数来输出,每个整数占用size bytes;o[size]:利用八进制来输出,每个整数占用size bytes;x[size]:利用十六进制来输出,每个整数占用size bytes;7. touch [-acdmt] filename:修改文件时间或创建文件参数:-a:修改访问时间;-c:修改文件的时间,若文件不存在则不创建文件;-d:后面可以接欲修改的日期而不用目前的日期,也可以使用--date=“日期或时间”;-m:仅修改mtime;-t:后面接欲修改的时间

鸟哥的私房菜读书笔记

Linux安装硬盘规划 Linux其实就是一个kernel,新内核上开发的软件无法在旧的内核上运行,比如在内核为2.6上开发出来的各种软件就无法在2.4的内核上运行,而且,不同内核的函数库也不相同。所以,选择linux版本时,需要知道该版本的kernel版本。 1.硬盘的分区与挂载 除了硬盘的代号需要特别留意之外,硬盘分区也要清楚。需要学习fdisk这个重要的分区程序,完成分区后,接下来就要格式化硬盘,格式化需要了解mke2fs命令的用法。 格式完后,需要了解挂载点(一个目录)并进行挂载,挂载使用的命令为mount。挂载前,想要使用fsk命令来检查一下该分区有没有问题。但是注意:使用fsck时,请务必先使用umount卸载要被检查的分区。 还有,如果要让某些分区在开机的时候就自动挂载,要记得将其写入/etc/fstab当中,或者是将命令完整的写到/etc/tc.d/rc.local当中。 2.软件包的选择与安装 图形界面很容易造成系统的资源损耗,因此服务器上面较少使用图形界面。为了方便以后的升级与重新安装,在选择软件包时,请务必将下面几个软件包选择进来: make,gcc,kernel-source,kernel-header及kernel—devel。 其中make和gcc是编译软件包必须用到的软件,kernel-devel是一些驱动程序在编译时会用到的函数库或系统数据,这些东西对于台式计算机并不很重要,因此在个大版本的软件包上面都没有默认安装,需要自己选择安装。这些软件通常都会放在software develop 或者utility项中,请仔细选择。 3.启动设置(Grub/Lilo) 在我们进入系统之前,主机会先读BIOS信息,然后会读取第一块硬盘的主引导扇区(Master Boot Recorder ,简称MBR),这个操作是为了让我们的主机了解数据格式,以顺利地将系统的数据读取进来。MBR上的程序,被称为开机管理程序,在linux中主要的开机管理程序有Grub和LILO两个,他们的运行方式不太相同。 区别:LILO是直接将所有的信息都写入MBR,所以当您设置完配置文件/etc/lilo.conf后,还得将LILO重新安装到MBR中。至于Grub则是使用类似指针(point)的功能,将启动信息导入配置文件/boot/grub/menu.lst中。这两个管理程序各有优缺点,可依照个人喜好来选择安装。 如果想实现“多重开机”功能,您必须了解MBR与Super Block的异同点,这都是需要学习的。 安装一台好的linux主机,最重要的一点就在于硬盘的分区,硬盘分区的考虑会影响到主机以后的扩充性,实用性,以及安全性。 了解欲架设的网站服务原理 了解每种服务的工作原理,对您以后进行调试相当有用,在主机的规划上也会有一定程度的帮助。例如:在linux上很有名气的文件服务SAMBA,它的工作原理主要是NetBiOS over TCP/IP,而如果您了解最原始的NetBIOS是无法跨网段的,亦即无法跨路由器的,那么就比较容易了解为何Windows的网络上的“网上邻居”显示的计算机数量只有局域网内部的计算机。 总之,理解服务(Service)的工作流程,将有助于服务器的架设与维护。 这还只是各个服务器的服务原理,如果是在linux上运行,您至少要了解什么事daemon(守护进程)。 服务的软件安装,漏洞修补,软件包升级 假设您已经将网络硬件配置搞定了,主机也规划好了,并且也已经可以连上

鸟哥的 Linux 私房菜

鳥哥的 Linux 私房菜 為取得較佳瀏覽結果,請愛用firefox瀏覽本網頁 第七章、Linux 檔案與目錄管理 切換解析度為 800x600 1. 目錄與路徑 1.1 相對路徑與絕對路徑 1.2 目錄的相關操作:cd, pwd, mkdir, rmdir 1.3 關於執行檔路徑的變數: $PATH 2. 檔案與目錄管理 2.1 檔案與目錄的檢視: ls 2.2 複製、刪除與移動:cp, rm, mv 2.3 取得路徑的檔案名稱與目錄名稱 3. 檔案內容查閱: 3.1 直接檢視檔案內容:cat, tac, nl 3.2 可翻頁檢視:more, less 3.3 資料擷取:head, tail 3.4 非純文字檔: od 3.5 修改檔案時間與建置新檔: touch 4. 檔案與目錄的預設權限與隱藏權限 4.1 檔案預設權限:umask 4.2 檔案隱藏屬性:chattr, lsattr 4.4 檔案特殊權限:SUID, SGID, SBIT, 權限設定 4.3 觀察檔案類型:file 5. 指令與檔案的搜尋: 5.1 指令檔名的搜尋:which 5.2 檔案檔名的搜尋:whereis, locate, find 6. 極重要!權限與指令間的關係: 7. 重點回顧 8. 本章習題 9. 參考資料與延伸閱讀 10. 針對本文的建議:https://www.360docs.net/doc/24438722.html,/viewtopic.php?t=23879

目錄與路徑: 由第六章Linux的檔案權限與目錄配置中透過FHS瞭解了Linux的『樹狀目錄』概念之後,接下來就得要實際的來搞定一些基本的路徑問題了!這些目錄的問題當中,最重要的莫過於第六章也談過的『絕對路徑』與『相對路徑』的意義啦!絕對/相對路徑的寫法並不相同,要特別注意。此外,當妳下達指令時,該指令是透過什麼功能來取得的?這與PATH這個變數有關呢!底下就讓我們來談談囉! 相對路徑與絕對路徑: 在開始目錄的切換之前,你必須要先瞭解一下所謂的『路徑(PATH)』,有趣的是:什麼是『相對路徑』與『絕對路徑』?雖然前一章已經稍微針對這個議題提過一次,不過,這裡不厭其煩的再次的強調一下! ?絕對路徑:路徑的寫法『一定由根目錄 / 寫起』,例如: /usr/share/doc 這個目錄。 ?相對路徑:路徑的寫法『不是由 / 寫起』,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成:『cd ../man』這就是相對路徑的寫法啦!相對路徑意指『相對於目前工作目錄的路徑!』 ?相對路徑的用途 那麼相對路徑與絕對路徑有什麼了不起呀?喝!那可真的是了不起了!假設你寫了一個軟體,這個軟體共需要三個目錄,分別是 etc, bin, man 這三個目錄,然而由於不同的人喜歡安裝在不同的目錄之下,假設甲安裝的目錄是 /usr/local/packages/etc, /usr/local/packages/bin 及 /usr/local/packages/man ,不過乙卻喜歡安裝在 /home/packages/etc, /home/packages/bin, /home/packages/man 這三個目錄中,請問如果需要用到絕對路徑的話,那麼是否很麻煩呢?是的!如此一來每個目錄下的東西就很難對應的起來!這個時候相對路徑的寫法就顯的特別的重要了! 此外,如果你跟鳥哥一樣,喜歡將路徑的名字寫的很長,好讓自己知道那個目錄是在幹什麼的,例如:/cluster/raid/output/taiwan2006/smoke 這個目錄,而另一個目錄在 /cluster/raid/output/taiwan2006/cctm ,那麼我從第一個要到第二個目錄去的話,怎麼寫比較方便?當然是『cd ../cctm』比較方便囉!對吧! ?絕對路徑的用途 但是對於檔名的正確性來說,『絕對路徑的正確度要比較好~』。一般來說,鳥哥會建議你,如果是在寫程式 (shell scripts) 來管理系統的條件下,務必使用絕對路徑的寫法。怎麼說呢?因為絕對路徑

鸟哥的Linux私房菜第二版答案整理

Linux常见问题整理 1.操作系统应该要控制硬件的哪些单元? 运算单元、控制单元、寄存器组、总线接口单元、输入/输出接口单元。 2.一个较为完整的操作系统应该包含哪些部分? 比较完整的操作系统应该包含两个组件,一个是核心与其提供的接口工具,另一个是利用核心提供的接口工具所开发的软件。 3.1GB硬盘空间等于多少KB? 1GB=1024MB=1024*1024KB. 4.在主机上安装了一张网卡,开机之后系统无法使用,确定网卡是好的,问题可能在哪里?该如何解决? 核心不能识别该网卡,也就无法控制这个网卡,需要安装对应的网卡驱动。 5.是否可以将Windows上的显卡驱动程序安装在Linux上? 不能,Linux的核心与Windows的核心是不同的。 6.在Windows上能玩的游戏,是否可以到Linux上去玩? 一般不能,Linux的核心与Windows的核心是不同的。 7.什么是软件的移植? 指将软件从一种计算机上转置到其它计算机上 8. Linux众多的版本之间有什么异同? Ubuntu是一个以桌面应用为主的Linux操作系统,Fedora 可以说是Redhat 桌面版本的延续,只不过是与开源社区合作。 9. Unix是谁写出来的? Ritchie等人用C语言写出第一个正式的UNIX核心。 10. GNU计划是谁发起的? 史托曼在1984年发起GNU计划。 11. GNU的全名是什么? GNU是GNU is Not Unix的缩写。 12. GNU主要由哪个基金会支持? 理查德·斯托曼创立了自由软件基金会来为GNU计划提供技术、法律以及财政支持。 13. 如何获取Linux发行版的可安装光盘? 可以直接找软件发行商购买安装光盘,或者到他们的官方网站上去下载ISO文件,然后刻录成光盘。 14.简单说明GNU General Public License与开放源码的精神 GPL的核心思想是“版权制度是促进社会进步的手段,版权本身不是自然权利”,GPL与开放代码的精神更多的在

鸟哥的Linux私房菜基础学习篇课后习题答案

私房菜--基础学习篇课后习题答案鸟哥的linux私房菜 Linux的规划与安装 第一篇:Linux 第一篇: 一、什么是Linux 1.一个完整的作业系统至少要能够完整的控制整个硬件,请问,作业系统应该要控制 硬件的哪些单元? 至少要能够控制:(1)input/output crontrol,(2)device control,(3)process management,(4)file management.等等! 2.核心的功能在于管控整个系统的硬件,这包括了CPU运算单元的管理,输入/输出 的管理,记忆体的管理等等。那么请问一个较为完整的作业系统,应该包含哪些部分? 应包含Kernel+Kernel Tools+Applications等等 3.一个GBytes的硬盘空间,等于几个KBytes? 1GBytes=1024MBytes*1024KBytes/MBytes=1048576KBytes 4.你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,您确定网 络卡是好的,那么可能的问题出在哪里?该如何解决? 因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel)不支持这张网络卡。解决的方法,到网络卡的开发商网站,下载支援您主机作业系统的驱动程序,安装网络卡驱动程序后,就可以使用了。 5.我在一部主机上面安装Windows作业系统时,并且安装了显示卡的驱动程序,他是 没有问题的。但是安装Linux时,却无法完整的显示整个X Window。请问,我可不可以将Windows上面的显示卡驱动程序拿来安装在Linux上? 不行!因为核心不同,针对硬件所写的驱动程序也会不相同,编译器也不同,当然,驱动程序也无法在两个作业系统间相容。这也是为何开发商在他们的网站上面,都会同时提供许多不同作业系统的驱动程序之故。 6.我在Windows上面玩的游戏,可不可以拿到Linux去玩? 当然不行!跟上一题相似的,因为游戏也是一个应用程序(application),他必须要使用到核心所提供的工具来开发他的游戏,所以这个游戏是不可在不同的平台间运作的。除非这个游戏已经进行了移植。 7.什么是软件的移植? 程序是由程序码(通成为ASCII格式)经过编译器编译成为binary file之后,才能够在该作业系统上面执行。因此,您可以将您的程序的程序码修改成可以适应其他作业系统的环境,并且加以编译,使程序可以在其他平台上运作,这个修改的动作即为移植。 8.Linux本身仅是一个核心与相关的核心工具而已,不过,他已经可以驱动所有的硬 件,所以,可以算是一个很阳春的作业系统了。经过其他应用程序的开发之后,被整合成为Linux distribitions。请问众多的distributions之间,有何异同? 相同:利用同样的Linux kernel(https://www.360docs.net/doc/24438722.html,),几乎相同的自由软件套件(例如GNU 里面的gcc/glibc/vi/apache/bind/sendmail...),几乎相同的操作接口(例如均使用bash/KDE/GNOME等等)。 不同:使用的kernel与各软件的版本可能会不同;各开发商加入的应用工具不同,使用的套件管理模式不同(debian与RPM)

Linux学习经典书籍全集(含电子档文件)

学习Linux经典书籍全集推荐 【文件中包含电子档,可直接打开】 Linux学习三部曲 (1)Linux使用。简单的说,学会Linux怎么使用。最好选用一种流行的Linux拿来用。如果有一天,不用Windows你不觉得用电脑别扭。那恭喜你。 经典书籍:man手册。 鸟哥的Linux私房菜基础学习篇(第三版) https://www.360docs.net/doc/24438722.html,/product.aspx?product_id=20866026 Red Hat Linux 9系统管理与服务器配置(第2版) https://www.360docs.net/doc/24438722.html,/product.aspx?product_id=20859121 Linux 指令与Shell编程范例速查手册 https://www.360docs.net/doc/24438722.html,/product.aspx?product_id=22737737

(2)Linux应用开发。写应用程序。 Linux程序设计(第3版) https://www.360docs.net/doc/24438722.html,/product.aspx?product_id=20856718 Linux高级程序设计(第3版) https://www.360docs.net/doc/24438722.html,/product.aspx?product_id=22898432 UNIX环境高级编程(第3版) https://www.360docs.net/doc/24438722.html,/product.aspx?product_id=9171119

(3)Linux驱动开发。需要相应的硬件。 Linux驱动程序设计(第3版) linux内核模块编程。 Linux内核设计与实现(原书第3版) OReilly. Understanding.the.Linux.Kernel.3rd.Edition

鸟哥的私房菜(服务器篇)【第二版】练习答案

第一章架设伺服器前的准备工作 1.4 本章习题 ?如果我有一颗硬碟在A 主机上面安装了Linux 之后,拿到另一台配备相同的B 主机上面去进行开机,结果竟然无法顺利开机,你认为可能的原因是什么? 不能开机常常是因为找不到根目录的位置,而根目录找不到通常就是磁碟的装置档名错误所致。目前由于/etc/fstab 配合filesystem 都使用LABEL name ,所以不容易发生这样的情况。但如果你曾经自行手动处理过/etc/fstab 的话,那就必须要注意磁碟的装置档名了!透过修改/etc/fstab 以及/boot/grub/menu.lst 或许能够得到方法解决。 ?一般来说,在Linux 系统上,使用者预设的家目录在那个目录下?另外,新增一个使用者时,该使用者预设的家目录内容来自那个目录下? 在/etc/default/useradd 这个档案里面会规范使用者的预设家目录以及预设家目录的内容,一般来说,使用者预设家目录在/home ,至于家目录内的档案则复制来源在/etc/skel 里面。 ?我以原始码的方式进行一个套件的安装,但是在分析系统的时候,分析程式一直告诉我找不到cc 这个指令,请问这是什么问题?为何需要cc ?又,我该如何解决这个问题,好让套件可以顺利的被安装在我的Linux 上面? 因为是原始码,所以还需要编译程式来将该原始码编译成为可以在你的Linux 系统上面跑的binary 档案,在Linux 上头预设的编译程式就是gcc 这个编译器(compiler)。如果你在安装Linux 的时候,使用Linux Installer 预设的套件选择,那通常会没有安装gcc 以及make 等套件,此时,请使用yum 去处理软体的安装吧! ?我发现我的Linux 系统怪怪的,似乎有什么不知名的程序在记忆体当中跑,我该如何将这个不知名的程序捉出来,并且将他移除? 如果要捉出程序(process)的话,可以使用ps -aux 或者是直接输入top 来查询process 的ID (PID),找到PID 号码后,再以kill -9 PID 来删除该程序即可。 ?我总是无法编辑某个档案,你认为应该是什么问题造成的?那又要怎么解决? 无法编辑某个档案,可以先使用file 这个指令来查询一下该档案的格式,例如想察看/etc/shadow 的格式,可以下达:『file /etc/shadow』,如果是文字档,却还是无法编辑,那么最可能发生的原因就是『权限』的问题了。可以使用ls -l filename 察看档案权限,再以chmod 或chown 来修订该档案的权限。此外,该档案也可能含有隐藏属性,可以使用lsattr filename 查阅,再以chattr 来修订隐藏属性。 ?你认为一个称职的网管人员应该具备什么能力? 能力需求相当高,如了(1)作业系统的基础知识(不论是Linux/Unix/MAC/MS);(2)网路基础的知识;(3)个别Internet Services 的运作知识之外,还需要(4)身心保持在备战状态,以及(5)具有相当高程度的道德感、责任感与使命感。 ?我要关掉cron 这个服务,应该怎么关掉他?如果正常的方法无法关闭这个服务,可以使用什么方法来关闭? 因为cron 是一个stand alone 的服务,所以可以使用/etc/rc.d/init.d/cron stop 来关闭;如果还是无法正常关闭,可以使用ps -aux | grep cron 捉出该程序的PID ,然后以kill -9 PID 来关闭。?如果一开机就要执行某个程式,应该要将该程式写入那个档案里面? 可以直接在/etc/rc.d/rc[run-level].d 里面加入S 开头的档案,不过,更简单的作法是直接将该程式写入/etc/rc.d/rc.local ,不过,请注意该程式必须要具有可执行的权限,且rc.local 也必须要是可执行喔! 第二章基础网路概念 2.7 本章习题

鸟哥的Linux私房菜基础学习篇课后习题答案

鸟哥的linux私房菜-基础学习篇课后习题答案 第一篇:Linux的规划与安装 一、什么是Linux 1.一个完整的作业系统至少要能够完整的控制整个硬件,请问,作业系统应该要控制 硬件的哪些单元? 至少要能够控制:(1)input/output crontrol,(2)device control,(3)process management, (4)file management.等等! 2.核心的功能在于管控整个系统的硬件,这包括了CPU运算单元的管理,输入/输出 的管理,记忆体的管理等等。那么请问一个较为完整的作业系统,应该包含哪些部分? 应包含Kernel+Kernel Tools+Applications等等 3.一个GBytes的硬盘空间,等于几个KBytes? 1GBytes=1024MBytes*1024KBytes/MBytes=1048576KBytes 4.你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,您确定网 络卡是好的,那么可能的问题出在哪里?该如何解决? 因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel)不支持这张网络卡。解决的方法,到网络卡的开发商网站,下载支援您主机作业系统的驱动程序,安装网络卡驱动程序后,就可以使用了。 5.我在一部主机上面安装Windows作业系统时,并且安装了显示卡的驱动程序,他是 没有问题的。但是安装Linux时,却无法完整的显示整个X Window。请问,我可不可以将Windows上面的显示卡驱动程序拿来安装在Linux上? 不行!因为核心不同,针对硬件所写的驱动程序也会不相同,编译器也不同,当然,驱动程序也无法在两个作业系统间兼容。这也是为何开发商在他们的网站上面,都会同时提供许多不同作业系统的驱动程序之故。 6.我在Windows上面玩的游戏,可不可以拿到Linux去玩? 当然不行!跟上一题相似的,因为游戏也是一个应用程序(application),他必须要使用到核心所提供的工具来开发他的游戏,所以这个游戏是不可在不同的平台间运作的。除非这个游戏已经进行了移植。 7.什么是软件的移植? 程序是由程序码(通成为ASCII格式)经过编译器编译成为binary file之后,才能够在该作业系统上面执行。因此,您可以将您的程序的程序码修改成可以适应其他作业系统的环境,并且加以编译,使程序可以在其他平台上运作,这个修改的动作即为移植。 8.Linux本身仅是一个核心与相关的核心工具而已,不过,他已经可以驱动所有的硬 件,所以,可以算是一个很阳春的作业系统了。经过其他应用程序的开发之后,被整合成为Linux distribitions。请问众多的distributions之间,有何异同? 相同:利用同样的Linux kernel(https://www.360docs.net/doc/24438722.html,),几乎相同的自由软件套件(例

菜鸟学习之Linux

菜鸟学习之Linux‘ls’命令实例 [日期:2014-12-30] 来源:Linux公社作者:GuiltyMan [字体:大中小] ‘ls’命令是Linux下用来显示文件目录及其目录列表的。在下方的带有每个命令简短叙述的命令列表中,有几个是有不同用法的。在这次专栏里面,我们列举了对入门学习非常有用的十几个命令。 ls命令格式如下所示: #ls[选项][文件][目录] -a列举出隐藏文件,如果一个文件或目录的名字以一个’.’开始,那么他就被称为隐藏的 -F显示文件类型,显示,/用于文件目录,*用于可执行文件,@用于非文本文件的符号链接 -lh显示长文件列表,其中带有可读格式的文件大小 -l显示带有文件类型,权限,连接数,所有者,长文件列表,所在的文件簇,文件大小,创建日期以及时间 of最后一次修改或用于文件.ld的名字中。显示指定路径的长文件列表,但是隐藏其中的内容 -R显示指定路径内容以及他的所有子目录(递归列举)

-lt以创建的时间和日期的方式排列所有文件,以创建时间由短到长的顺序排列 -ltr以创建的时间和日期的方式排列所有文件,以创建时间由长到短的顺序排列 注意:想知道更详细的ls命令信息,请查阅ls手册 例子1:列举当前工作目录的文件以及路径 [root@localhost /]# ls bin boot cgroup dev etc home lib lib64 lost+found media mnt opt proc root sbin seli nux srv sys tmp usr var [root@localhost /]# 例子2:列举当前当前路径的详细信息 [root@localhost /]# ls -l total 94 dr-xr-xr-x. 2 root root 4096 Nov 23 03:13 bin dr-xr-xr-x. 5 root root 1024 Nov 23 05:29 boot drwxr-xr-x 10 root root 4096 Nov 23 03:42 cgroup drwxr-xr-x 18 root root 3680 Dec 12 21:32 dev drwxr-xr-x. 64 root root 4096 Dec 12 21:32 etc drwxr-xr-x 8 root root 4096 Jul 19 02:43 home dr-xr-xr-x. 8 root root 4096 May 3 2014 lib dr-xr-xr-x. 8 root root 12288 Nov 23 03:13 lib64 -rw-r--r-- 1 root root 72 Dec 12 21:40 linux-stuff drwx------. 2 root root 16384 May 3 2014 lost+found drwxr-xr-x. 2 root root 4096 Sep 23 2011 media drwxr-xr-x. 3 root root 4096 Jun 22 01:14 mnt ..................................................

刘遄:作为一名新人读完《鸟哥的Linux私房菜》的感受。

刘遄:作为一名新人读完《鸟哥的Linux私房菜》的感受。 作为一名运维领域的从业者及linux技术爱好者,坦白来讲,鸟哥的linux 私房菜也是我的linux入门书籍,我绝对的认可鸟哥为这本书的付出,其书发行量巨大,陪伴了一代的运维人员,甚至被封为“linux入门神书”,渐渐的从一本linux技术书籍,上升至精神的高度,不允许再有一点反驳之声,但思索再三,还是决定阐明我的观点,与初学者分享下这不同的看法。 首先鸟哥在开篇即提到了写书的缘由是因为记性不好,所以想写出一本能够放在案头的备忘录,对书籍的内容自然就没有了太多的筛选,反而一再的扩大知识范围,最终写出的两本书厚度足足超过十厘米,敢问这种“备忘录式的入门书籍”真的适合新手来读?我认为书籍既然发行了,就不能再是个备忘录,而应该是通过作者的经验将知识不断提炼,真正让捧起书的读者看完有收获才可以。 其次是鸟哥的linux私房菜的书籍更新周期过长,2014年末时RHEL7与Centos7就已经公布,经过了一年多的迭代,已经很稳定并被广泛使用了,如果内容没有定期更新,使得技术脱离了生产环境,还怎么称作是真正实用的linux 技术?并且鸟哥的linux私房菜缺少了对新手非常重要的答疑与帮助,如果遇到了实验出错,或者有知识点悟不透,这些都可能让初学者丧失掉对linux技术的兴趣。 所以综合上面的考虑,如果再有人向你推荐鸟哥的Linux私房菜,请你回应他:“你有没有完整的看完这本书?你觉得这本书真的适合我吗?”。 2014年,我在讲课时曾经表达过这个观点,学生问我:“那还有什么推荐的书吗?”那时感到无比的尴尬,因为作为一名linux讲师,我好像除了讲课外并没有能够给学员提供的了,所以在2015年春节前夕起笔,用了一年多的时间编写了中国第一本基于红帽最新RHEL7系统的Linux书籍——《Linux就该这么学》,迫不及待的第一时间便公布到了网上,用了整整一年的时间收集读者反馈后又经过了不断的完善,现在已经初步定型,读者的反馈也越来越好,甚至得到了很多大学教授的推荐,真的是非常的欣闻,但是更欣慰的是我们国人的学员除了鸟哥的linux私房菜,又多了一本品质甚至更好的linux入门教材,如果您想要学习linux技术,可以直接在百度上搜索书名就能够找到了,耐心来试读一章,相信你会因此爱上Linux技术的。

《鸟哥的linux私房菜(基础篇)》学习笔记

《鸟哥的linux私房菜(基础篇)》学习笔记----------李晶 目录 第一部分:linux的规划与安装 (2) 1.linux历史与简介: (2) 2.分区: (2) 3.多重引导: (2) 第二部分:linux文件,目录与文件系统格式 (3) 1.管理文件权限: (3) 2.管理文件以及目录: (4) 3.管理磁盘与文件系统: (4) 4.文件的打包压缩: (5) 第三部分:shell (5) 1.vim: (5) 2.shell: (5) 3.正则表达式: (6) 4.shell编程: (7) 第四部分:用户管理 (9) 1.用户账号及权限: (9) 2.磁盘管理: (9) 3.crontab: (9) 4.作业管理: (10) 第五部分:系统管理员 (11) 1.系统服务: (11) 2.软件安装: (12) 3.x-window: (12) 4.内核编译: (12)

第一部分:linux的规划与安装 这里个人相对来说比较熟悉,对于如何安装linux书上有详细介绍。不过我一般用的都是ubuntu,这个发行版的安装并不是很复杂。 1.linux历史与简介: 计算机是由一堆硬件所组成的,操作系统是为了更加有效地控制和使用这些硬件资源。我们最熟悉的windows就是一种操作系统。但是linux是完全不同于windows的一种操作系统。众所皀知癿,Linux癿核心是由Linus Torvalds在1991年癿时候给他开发出来的。linux沿袭了unix 的许多良好的特性,最重要的也是现今非常受欢迎的原因之一就是linux是开源的,并且在其之上的软件也是免费开源的,以此为基本最后发展出来了开源社区,对整个计算机科学的发展都有很重要的作用。 linux目前有着众多的发行版,Red Hat, SuSE,Ubuntu, Fedora, Debian。我个人使用的是ubuntu-10.10。 linux的发展路径: Unix癿前身是由贝尔实验室(Bell lab.)癿Ken Thompson利用汇编语言写成的,后来在1971-1973年间由Dennis Ritchie以C语言重新改写,才称为Unix。 1977年由Bill Joy开发出BSD (Berkeley Software Distribution),这些称为Unix-like的操作系统。 1984年由Andrew Tannenbaum制作出Minix操作系统,该系统可以提供原始码以及软件; 1984年由Richard Stallman提倡GNU计划,倡导自由软件(Free software),强调其软件可以自由获得,修改,再发行。 1991年由芬兰大学生Linus Torvalds开发出Linux操作系统。Linux成功主要在于:Minix(Unix), GNU, Internet, POSIX 及虚拟团队的产生。 Linux本身就是个操作系统,其开发网站在https://www.360docs.net/doc/24438722.html,,我们亦称Linux操作系统最核心的数据为内核Kernel。 目前Linux核心的发展分为两种版本,分别是稳定版本偶数版,如2.6.X,适合商业和家用环境使用;一种是发展中版本如2.5.X 版,适合开发特殊功能的环境。 Linux distributions的组成有:『Linux Kernel + Free Software + Documentations(Tools) + 可完全安装的程序』所制成癿一套完整的系统。 2.分区: 目前各种机器安装linux都比较方便了,特别是像我使用ubuntu10.10,基本上全是自动安装的,不过经常困惑我们的一般都是分区。如何分区才合理呢,对于初学者,分区可以直接只分一个根分区和交换(SWAP)分区。这里值得说一下的是磁盘只能分四个主分区。不过可以通过扩展分区来扩充,这样的话就是三个主分区和多个逻辑分区。SWAP分区的大小一般建议2倍于你的物理内存。将/home等数据量会较大的目录单独分区是一个非常不错的做法,具体分配多少容量,看你最终的数据量,估算后尽量多分。 3.多重引导: 目前我们使用学习linux的最大的苦恼就是关于如何与windows共存的问题了。书中详细介绍了如何安装centOS,附带很多截图,并且也描述了在已经装了windows的情况下如何设置多重引导。这个我也有过很多关于引导的经历。现在绝大多数的引导程序都会选择使用GRUB,这是一个交互式的引导程序。当我们的引导程序如果出现故障,或者是重装了windows的时候,我们将无法正常进入linux,如果使用的系统是ubuntu这个时候可以使用如下方法:

鸟哥的linux私房菜(基础学习篇)

第0章计算机概论 1.计算机的定义为:接受用户输入指令与数据,经有中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息。 2.计算机的五大单元包括输入单元、输出单元、CPU内部控制单元、算术逻辑单元与内存五大部分。 3.数据会流进、流出内存是cpu所发布的控制命令,而cpu实际要处理的数据则完全来自于内存。 4.Cpu依设计的理念主要分为精简指令集(RISC)与复杂指令集(CISC)系统。 5.关于cpu的频率部分,外频指的是cpu与外部组件进行数据传输时的速度,倍频则是cpu内部用来加速工作性能的一个倍数,两者相乘才是cpu的频率速度。 6.一般的主板芯片组分为南桥与北桥,北桥的总线称为系统总线,因为是内存传输的主要信道,所以速度较快。南桥就是所谓的输入输出总线,主要在于连系硬盘、usb、网卡等接口设备。 7.北桥所支持的频率我们称为前端总线速度FSB,而每次传送的位数则是总线宽度。 8.Cpu每次能够处理的数据量我们称为字组大小,字组大小依据cpu的设计而有了32位,与64位之分。我们现在所称的计算机是32或者是64位主要是依据这个cpu解析的字组大小而来的。 9.个人计算机的内存主要组件为动态随机访问内存DRAM,至于cpu内部的第二层缓存则使用静态的随机访问内存SRAM. 10.BIOS是一套程序,这套程序是写死在主板上面的一个内存芯片中,这个内存芯片在没有通电时也能将数据记录下来,那就是只读存储器ROM. 11.显卡的规格有PCI/AGP/PCIe,目前的主流为pcie接口。 12.硬盘是由盘片、机械手臂、磁头与主轴马达所组成的,其中盘片的组成为扇区,磁道与柱面。 13.操作系统OS其实也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件。 14.计算机主要以二进制为单位,常用的磁盘容量单位为byte,其单位换算为 1byte=8bit; 15.操作系统仅在于驱动与管理硬件,而要使用硬件时,就得需要通过应用软件或者是shell的功能,来调用操作系统硬件工作。目前,操作系统除了上述功能外,通常已经包含了日常工作所需要的应用软件在内了。- -----------------------------------------------------------------------------------------------------------------第1章linux是什么 1.计算机主要以二进制作为单位,而目前常用的磁盘容量单位为B,其单位换算为1B=8bit,其他的以1024为其倍数,如1G=1024M. 2.操作系统主要用于管理与驱动硬件,因此必须要能够管理内存、管理设备、负责进程的管理以及系统调用等。因此,只要能够让硬件准备妥当的情况,就是一

鸟哥的Linux 私房菜-- vim 程式编辑器

鸟哥的 Linux 私房菜 为取得较佳浏览结果,请爱用firefox 浏览本网页 | 繁体主站 | 简体主站 | 基础篇 | 伺服器 | 企业应用 | 桌面应用 | 安全管理 | 讨论板 | 酷学园 | 书籍戡误 | 鸟哥我 | 昆山资传 | 第十章、vim 程式编辑器 切换解析度为800x600 最近更新日期:2009/08/20 系统管理员的重要工作就是得要修改与设定某些重要软体的设定档,因此至少得要学会一种以上的文字介面的文书编辑器。在所有的Linux distributions 上头都会有的一套文书编辑器就是vi ,而且很多软体预设也是使用vi 做为他们编辑的介面,因此鸟哥建议您务必要学会使用vi 这个正规的文书编辑器。此外,vim 是进阶版的vi , vim 不但可以用不同颜色显示文字内容,还能够进行诸如shell script, C program 等程式编辑功能, 你可以将vim 视为一种程式编辑器!鸟哥也是用vim 编辑鸟站的网页文章呢!^_^ 1. vi与vim 1.1 为何要学vim 2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档、救援回复与开启时的警告讯息 3. vim的额外功能 3.1 区块选择(Visual Block) 3.2 多档案编辑 3.3 多视窗功能 3.4 vim环境设定与记录: ~/.vimrc, ~/.viminfo 3.5 vim常用指令示意图 4. 其他vim使用注意事项 4.1 中文编码的问题 4.2 DOS与Linux的断行字元:dos2unix , unix2dos 4.3 语系编码转换:iconv 5. 重点回顾 6. 本章习题 7. 参考资料与延伸阅读 8. 针对本文的建议:https://www.360docs.net/doc/24438722.html,/viewtopic.php ?t=23883 vi 与vim 由前面一路走来,我们一直建议使用文字模式来处理Linux的系统设定问题,因为不但可以让你比较容 易了解到Linux的运作状况,也比较容易了解整个设定的基本精神,更能『保证』你的修改可以顺利的 被运作。所以,在Linux的系统中使用文字编辑器来编辑你的Linux参数设定档,可是一件很重要的事情呦!也因此呢,系统管理员至少应该要熟悉一种文书处理器的! Tips: 这里要再次的强调,不同的Linux distribution各有其不同的附加 ?软体,例如Red Hat Enterprise Linux与Fedora的ntsysv与setup等,而SuSE则有YAST管理工具等等, 因此,如果你只会使用此种类型的软体来控制你的Linux系统时,当接管不同的 Linux distributions时,呵呵!那可就苦恼了! 在Linux 的世界中,绝大部分的设定档都是以ASCII 的纯文字形态存在,因此利用简单的文字编辑软体 就能够修改设定了!与微软的Windows 系统不同的是,如果你用惯了Microsoft Word 或Corel Wordperfect 的话,那么除了X window 里面的图形介面编辑程式(如xemacs )用起来尚可应付外,在Linux 的文字模式 下,会觉得文书编辑程式都没有视窗介面来的直观与方便。 Tips: 什么是纯文字档?在第零章里面的资料表示方式有较多说明,请 自行查阅。ASCII就是其中一种广为使用的文字编码系统,在ASCII系统中的图 示与代码可以参考https://www.360docs.net/doc/24438722.html,/wiki/ASCII 呢!那么Linux在文字介面下的文书编辑器有哪些呢?其实有非常多喔!常常听到的就有: emacs , pico , nano , joe ,与vim 等等( 注1 )。既然有这么多文字介面的文书编辑器,那么我们为什么一定要学vi啊?还有那个vim是做啥用的?底下就来谈一谈先!为何要学vim 文书编辑器那么多,我们之前在第五章也曾经介绍过那简单好用的 nano ,既然已经学会了nano ,干 嘛鸟哥还一直要你学这不是很友善的vi呢?其实是有原因的啦!因为: 所有的Unix Like 系统都会内建vi 文书编辑器,其他的文书编辑器则不一定会存在; 其实档案记录的就是0与1 ,而我们透过编码系统来将这些0 与1转成我们认识的文字就是了。原文 其實檔案記錄的就是0 與1 ,而我們透過編碼系統來將這些0 與1 轉成我們認識的文字就是了。 提供更好的翻译建议

相关文档
最新文档