鸟哥linux私房菜学习笔记-Vbird Notes
《鸟哥的Linux私房菜基础篇》-程璐

注:小写的 mail 是命令, 大写的 MAIL 则是变量名称
BASH
BASH——Shell的变量功能
影响 bash 环境操作的变量
栗子: PATH 变量 你能不能在任何目录下运行某个命令,与 PATH 变量有很大的关系 使用 ls 这个命令时,系统透过 PATH 这个变量里面的内容所记录的 路径顺序来搜寻命令,如果在搜索还找不到 ls 这个命令时, 就会 在屏幕上显示【command not found】 的错误信息
BASH
BASH——功能
/bin/bash 是 Linux 默认的 shell 命令编修能力 (history): Bash能记忆使用过的命令,在命令列按【上下 键】 就可以找到前/后一个输入的命令 ~/.bash_history ——存放在这里(可以查询曾经做过的举动)
注:只有注销系统后,命令记忆才会记录到 .bash_history 当中
c. 在 vi 一般模式中如何搜索 string 这个字符串?
VIM 程序编辑器
BASH
BASH 是个shell
管理整个计算机硬件的其实是操作系统的核心 (kernel), 这个核心是需要被保护的, 所以一般使用者就只能透过 shell 来跟核心沟通 那么问题来了! Shell是啥?
BASH
BASH——硬件、核心与 Shell
(此文件自动生成在/home,可以找到用vim所做过 的动作)
~/.viminfo
还记得前面讲过的 :set nu 和 :set nonu 不?
VIM 程序编辑器
Vim环境设置与记录
常用的环境设置参数 :set hlsearch :set autoindent :set backup :set ruler :set showmode :set all 、 :set :syntax on :syntax off
鸟哥的linux私房菜第三讲PPT课件

8Байду номын сангаас
两种安装模式
两种安装模式的比较
图形化安装模式 安装速度相对较慢 鼠标操作方便灵活
提示较多
文本安装模式 安装速度相对较快
键盘操作 提示较少
9
学习总结
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
❖安装程序可从NFS、网络服务器中读取文件进行安 装
7
磁盘分区设置
❖ (1)boot分区通常包含启动管理器所需的文件, 以及操作系统的内核。
❖ (2)根分区用符号(/)来表示,是用来存放文 件用的。
❖ (3)交换分区(swap)是一种特殊的分区,用 于数据交换,类似于Windows中的虚拟内存(页 面文件)概念。
You Know, The More Powerful You Will Be
10
结束语
当你尽了自己的最大努力时,失败也是伟大的, 所以不要放弃,坚持就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End 演讲人:XXXXXX 时 间:XX年XX月XX日
5
新建虚拟机
❖ 在VMWare中新建一虚拟机
• 内存512M • IDE硬盘15G
❖ 演示
6
Linux的安装方式
❖ 安装程序的引导方式
❖RHEL5支持从光盘和USB存储设备引导安装程序
❖ 安装程序读取软件包的方式
浅析Linux私房菜作者鸟哥的学习秘诀

浅析Linux私房菜作者鸟哥的学习秘诀
对Linux稍有了解的人,都会知道台湾有个“鸟哥”,出身于环境工程,却偏偏成为了一代人的Linux启蒙老师。
他的书细致而深入,引导你从一个对计算机一无所知的小白开始成长,一直成长到精通各个细节的大师。
今年的5月24日,鸟哥到访马哥教育,为马哥教育的同学们分享了自己的学习经历,同时也为同学们在Linux学习中的疑惑进行了解答。
秉承着开源精神,我们当天在腾讯课堂对鸟哥的演讲进行了公益直播。
直播期间,腾讯课堂直播间在线人数突破600人,打破了此前由马哥保持的腾讯课堂的运维运维类目的记录。
对于错过直播的Linux爱好者们,我们已经将鸟哥的演讲进行上传,各位可以在网络平台上回顾演讲,本文也将对鸟哥的演讲内容做一个汇总。
鸟哥演讲的前半部分,讲了自己的经历和一些学习忠告,后半部分介绍了Linux的好处和学习方法。
PPT分享。
鸟哥的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 为何要学vim2. 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 语系编码转换:iconv5. 重点回顾6. 本章习题7. 参考资料与延伸阅读8. 针对本文的建议:/viewtopic.php ?t=23883vi 与vim由前面一路走来,我们一直建议使用文字模式来处理Linux的系统设定问题,因为不但可以让你比较容易了解到Linux的运作状况,也比较容易了解整个设定的基本精神,更能『保证』你的修改可以顺利的被运作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 那么万一我只想要分割 1 个 Primary 与 1 个 Extended 呢?这个时候你的磁盘分割会变成如下所示:因为 1~4 号已经被预留下来了,所以第一个 Logical 的代号由 5 号开始计算起来,而后面在被规划的,就以累加的方式增加磁盘代号啰!而其中 /dev/hda3, /dev/hda4 这两个代号则是空的,被保留下来的代号实际可以使用的是 /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5, /dev/hda6,/dev/hda7 这六个 partition!至于 /dev/hda4 这个 Extended 扇区本身仅是用来规划出让 Logical 可以利用的磁盘空间而已!(其实在每个 partition 的最前面扇区,会有一个特殊的区块,称为 super block,我们的 Extended 指向的,就是 /dev/hda4 的 super block 处,该处就是额外记录的那个partition table 啦!)2. 想要知道这一版的 Fedora 相关的各项信息,可以直接到/usr/share/doc/fedora-release-43.who---看目前有谁在在线netstat -a -----看网络的联机状态ps -aux 要看背景执行的程序sync 数据同步写入磁盘,预设的情况中直接在文字接口下输入 sync ,那么在内存中尚未被更新的数据,就会被写入硬盘中(某些数据将不会直接被写入硬盘,而是先暂存在内存当中,加快数据的读取速度.)4. shutdown-t: seconds.后面接秒,表示过了多少秒之后系统会关机.-k: 不是真的关机,只是发出警告信息。
-r: 重新开机-h: 停止系统服务并立刻关机-n: 不经过Init进程,直接以shutdown的功能来关机-f: 关机再开机之后,不仅仅fsck的检查-F: 关机再开机之后,强制进行fsck的磁盘检查-c: 取消已经进行的shutdown指令内容---→ /sbin/shutdown –t 10 …The system will shutdown in 10 seconds‟---→shutdown –r now 立刻重新启动---→ shutdown –h 19:30 …system will shutdown in 19:30‟5. man在 man 的时候, man page 显示的内容中,指令(或档案)后面会接一组数字,这个数字若为 1, 5, 8 ,表示该查询的指令(或档案)意义为何?代表意义为 1) 一般使用者可以使用的指令或可执行档案 5)一些设定档的档案内容格式 8)系统管理员能够使用的管理指令。
6. 系统档案/ : 根目录,这是系统启动是挂载的第一个partition。
/bin, /usr/bin, /usr/local/bin : 这三个目录都是存放【使用者可执行的binary files】/boot: 系统开机会用到的档案,这个目录底下的 vmlinuz的文件就是Linux的kernel/dev: linux下面所有的接口和设备文件都存放在该目录下/etc: 系统的设定文档的存放目录,比较重要的相关文件有?etc/inittab, /etc/init.d,/etc/modprobe.conf, /etc/X11, /etc/fstab, /etc/sysconfig等。
/etc/init.d : 所有服务的预设启动的scripts./etc/Xinetd.d/ : 这是所谓的super deamon管理的各项服务的设定的文件目录/etc/X11 : 与X Windows 有关的设定都在这里,如 xorg.conf, XF86config这两个与 X server有关/home: 系统预设的使用者家目录/lib, /usr/lib, /usr/local/lib: 系统预设的函数库放置的目录。
比较重要的是 /lib/modules 内会摆放kernel的相关目录。
/mnt : 系统预设的挂载点,如:光盘,硬盘等。
/opt: 系统额外安装的软件存放目录/proc: 系统的虚拟档案系统,所有的文件都放置在内存中,不占用硬盘的空间。
如:/proc/cpuinfo, /proc/dma, /proc/net/*等/root: 管理员的家目录/sbin, /usr/sbin, /usr/local/sbin: 存放系统管理员才能使用的命令,但是一般用户还是可以查看而无法更改的/tmp: 存放一般使用者或者正在执行的程序暂时放置的地方,需要定时的清理/usr: 包含系统的主要程序,图形接口所需要的文件,本机自行安装的软件,以及共享文件等,如: /usr/share: 共享文件放置的目录,/usr/share/doc 和 /usr/share/man./usr/src: linux系统相关的程序代码放置,如 /usr/src/linux 为核心原始码/usr/X11R6: 系统所有的 X windows system 所需的执行档都存放在这里/var: 存放系统执行过程中,会经常变动的的档案。
/var/log: 登录文件放置的目录,如 /var/log/message/var/cache: 放置程序执行过程中产生的缓存/var/spool: 存放一些队列数据,主机收到电子邮件后会放在/var/spool/mail 中,若信件暂时发不出去,则放置在 /var/spool/mqueue.7. Block逻辑区块是在 partition 进行 filesystem 的格式化时,所指定的『最小储存单位』,Block 的大小为sector 的 2 的次方倍数。
此时,磁头一次可以读取一个 block .Superblock:如同前面说的,当我们在进行磁盘分割( partition )时,每个磁盘分割槽( partition )就是一个档案系统( filesystem ),而每个档案系统开始的位置的那个 block 就称为 superblock ,superblock 的作用是储存像是档案系统的大小、空的和填满的区块,以及他各自的总数和其它诸如此类的信息等等8. inode那么 inode 是什么?!简单的说, Block 是记录『档案内容数据』的区域,至于 inode 则是记录『该档案的相关属性,以及档案内容放置在哪一个 Block 之内』的信息。
简单的说, inode 除了记录档案的属性外,同时还必须要具有指向( pointer )的功能,亦即指向档案内容放置的区块之中,好让操作系统可以正确的去取得档案的内容啊!一个 inode 的大小为 128 bytes ,可以使用dumpe2fs 来查阅 inode 的大小喔!9. 那么我的 Linux 系统到底是如何读取一个档案的内容呢?目录:当我们在 Linux 下的 ext2 档案系统建立一个目录时, ext2 会分配一个 inode 与至少一块Block 给该目录。
其中,inode 记录该目录的相关属性,并指向分配到的那块 Block ;而 Block 则是记录在这个目录下的相关连的档案(或目录)的关连性!档案: 当我们在 Linux 下的 ext2 建立一个一般档案时, ext2 会分配至少一个 inode 与相对于该档案大小的 Block 数量给该档案。
例如:假设我的一个 Block 为 4 Kbytes ,而我要建立一个 100 KBytes 的档案,那么 linux 将分配一个 inode 与 25 个 Block 来储存该档案!要注意的是, inode 本身并不纪录文件名,而是记录档案的相关属性,至于文件名则是记录在目录所属的 block 区域!当我们要读取一个档案的内容时,我们的 Linux 会先由根目录 / 取得该档案的上层目录所在inode ,再由该目录所记录的档案关连性 (在该目录所属的 block 区域) 取得该档案的 inode ,最后在经由 inode 内提供的 block 指向,而取得最终的档案内容.**************************以 /etc/crontab 这个档案的读取为例:****************************************** 1. 操作系统根据根目录( / )的相关资料可取得 /etc 这个目录所在的 inode ,并前往读取 /etc 这个目录的所有相关属性;2. 根据 /etc 的 inode 的资料,可以取得 /etc 这个目录底下所有档案的关连数据是放置在哪一个Block 当中,并前往该 block 读取档案的关连性内容;3. 由上个步骤的 Block 当中,可以知道 crontab 这个档案的 inode 所在地,并前往该 inode ;4. 由上个步骤的 inode 当中,可以取得 crontab 这个档案的所有属性,并且可前往由 inode 所指向的 Block 区域,顺利的取得 crontab 的档案内容。
************************************************************************************************************* 10. 关于 EXT2 档案系统,这里有几点小事情要提醒一下:1. ext2 与 ext3 档案在建立时 (format) 就已经设定好固定的 inode 数与 block 数目了2. 格式化 Linux 的 ext2 档案系统,可以使用 mke2fs 这个程序来执行!3. ext2 允许的 block size 为 1024, 2048 及 4096 bytes;4. 一个 partition (filesystem) 所能容许的最大档案数,与 inode 的数量有关,因为一个档案至少要占用一个 inode 啊.5. 在目录底下的档案数如果太多而导致一个 Block 无法容纳的下所有的关连性数据时,Linux 会给予该目录多一个 Block 来继续记录关连数据;6. 通常 inode 数量的多寡设定为 (partition 的容量) 除以 (一个 inode 预计想要控制的容量)。
举例来说,若我的 block 规划为 4Kbytes,假设我的一个 inode 会控制两个 block ,亦即是假设我的一个档案大致的容量在 8Kbytes 左右时,假设我的这个 partition 容量为 1GBytes,则 inode 数量共有:( 1G * 1024M/G * 1024K/M ) / ( 8K ) = 131072 个。