鸟哥的linux私房菜 学习最好用哪个发行版?

鸟哥的 Linux 私房菜
底下尚未更新
欢迎光临鸟哥的 Linux 私房菜
进行网页浏览
(感谢 Minchao 兄) 下载。(感谢鸟哥学生的翻译),
(感谢大陆网友 Ewing 兄提供)
本站最新消息
读者发信来问到怎么在纯文字环境底下更改字型~刚好鸟哥在虚拟机的终端机上也有这个问题!想说一併解决。查询 google 一下,发现到有个名为 setfont 的有趣资料!
稍微玩一下,确实好玩!可以变更字型呢!真希望未来有中文字型啊!
过去在 KVM hosts 想要搞不同的区域网路,可能得要有不同的网卡。而且如果只有一个 switch ,还得要设定 vlan 才行。
现在我们可以直接使用网卡所产生的 vlan 来模拟出 switch 的 vlan 效果,而且还是使用同一张实体网卡喔!相当有趣!
在教学设计上面,或者是实际将 VM 的网路隔离,相当有帮助!
基础训练教材的最后一篇竟然是最小安装系统耶!刚刚才完成最后一个小章节~终于有一个章节是没有作业的...不过倒是需要重新实做~
如果从来没有使用过最小安装的朋友,可以瞧一瞧这篇!。
花了不少时间将的电子教材处理了一半~已经到达的部份了!鸟哥个人觉得题目很有趣,只是得要搭配还没有释出的 VM 电子教材才能够实际作答,这比较可惜...
鸟站所在场域又即将因为电力维护而关机一整个白天~所以,各位观众:『 早上 8 点到下午 5 点,
总共 9 小时,鸟站又会暂时关机喔!』
最近发生一些诡异的事件,分析起来还觉得挺有趣的!可以来瞧瞧 FAQ 的一些作法吧!
发生 XFS 档案系统出错了!结果还导致 GPT 的 partition table 消失不见....还好整个系统还没有损毁,我们是这样做的..
因为某些缘故,鸟哥需要在短时间内搾出一组 cluster 的效能!这还牵涉到虚拟化系统的使用状态!所以花了点时间去查了一下 numa 以及相关的 CPU 指定执行的功能。
发现到会用这些东西,对于效能还是有一定程度的影响!虽然对大部分的伺服器来说,影响不大就是了!底下这篇最后的部份关于虚拟机器的项目,
倒是管理员会用到的功能喔!查查去!
一直都是觉得网页排版自己爽就好~直到网友来信谈到版面的易读性问题,鸟哥才发现还是没有注意到旧版资料的问题!
新版资料行高预设是 1.4,这是鸟哥自己在写纸本报告时最喜欢的行高设定,就这样沿用到网页上~但是旧版没有修改!
依旧保持 1.0 行高~后来鸟哥自己先看新版、立刻回去看旧版,哇!没有对照没发现!旧版资料每行都好黏...
所以现在两者通通改成 1.6 行高,如果看倌们觉得还是原本的 1.4 比较好,那就来信谈谈见解~否则就通通使用 1.6 行高来设计啰! ^_^
目前有打算推出一系列包含 VM 的环境在内的教材,单纯就是训练教材,将基础学习篇的内容精简,变成简易说明,需要搭配教师教课提示答案的情境,
当然,还是需要推出线上虚拟机的环境,这样才能够线上学习。因为这学期已经过了 8 周,现在整理起来好痛苦...因为时间很不够用~有点想哭哭!
算了!还是慢慢一步一步处理。不过不要写信来骂鸟哥说,里面怎么写的都没有答案?没办法,那本来就不是『自学』的环境!是『教学』的环境!
所以当然跟自学环境会差很多喔!
网友回报的中文档名乱码处理问题,来瞧一瞧喔!
在 2015 年搞了将近一年的时间,终于在年底改写完基础学习篇,使用了 CentOS 7.x 来作为介绍。好不容易在今年初才完成校稿~
瞧一瞧出版社的介绍吧! ^_^!。
基本上,内容跟网站几乎一模一样啦!基础篇第四版厚的有点离谱...所以有点贵~若不想买,那就直接看网站吧! ^_^
原本是不太想要重新改写 kernel 编译的部份,毕竟现在很少人会自己手动编译核心了。但最近这几个月的研究中,我们想要搞虚拟化的某些功能,
没有最新核心并修改核心功能是无法达成目标的,所以,这部份还是得要改写改写才行!增加本章最后一个小节,可以参考看看如何将 4.x.y 的核心整合到 CentOS 7.x 当中喔!
值得大家努力实验看看!来看:
X window 其实鸟哥也不是很熟悉,最多就是会一些基本的应用而已。不过每次重看、重写都会恢复一些印象就是了。
目前鸟哥正在玩虚拟化中 PCI Passthrough 的东西,这些东西基本上都是在 Linux 本机上面完成的,也需要图形介面。
所以重新改写这部分,还真的刚刚好会用到耶!来瞧瞧
Tarball 的安装与 RPM/YUM/SRPM 这次还是加入了一些小细节,希望能够加强大家对安装第三方协力软体的能力!来瞧瞧吧!
共有两个章节喔~加油学习啰!
原始码的重新编译部分,这部分修改的幅度真的还不多耶!原来之前的版本设计的程式脚本用来理解真的是够了!所以修订的幅度不是太大。
只是最后练习题的企鹅部分不太能动咯!应该要取消该练习...
很快的将硬体侦测、网路设定、防火墙基本设定、日期时间设定、语系设定、备份策略与脚本等等做个简单的介绍!跟以前比较大的差异大概是在防火墙吧!
预设使用了 firewalld 这个服务,语法还不是很好记忆,所以鸟哥这里使用图形界面来设定 CentOS 7 的防火墙喔!
grub2 确实不太一样,所以整个开机流程的解释花了些时间改写~写的还是不怎么好~不过,至少提供了几个有效的范例给大家练习!加油吧各位!
CentOS 7.x 的登录档记载中,主力应该要放在 journalctl 的使用练习上比较妥当!因为使用了 systemd-journald.service 了!只是,
还是得要搭配 rsyslog.service 比较好!因为 systemd-journald.service 记录在记忆体中,下次开机就不见了,效能较快~
而 rsyslog.service 才可以进一步记录下来啊!
CentOS 7.x 的服务管理已经改由新的 systemd 来取代原本用了好多年的 systemV 了!几乎所有的管理方式通通不一样!包括以前的 runlevel 概念也都不同了!
这部份包括案例都需要重新改写~花了一整周的时间在改这部份~希望对大家能有点帮助!
这星期的杂事太多,加上 SELinux 的部份一直觉得没写好,所以这次在 SELinux 部份下了重手,改了整体的架构,也因为尚未谈到网路与 yum,
因此决定拿 ftp 来作为网路服务的 SELinux 错误范本介绍~修改的过程不怎么轻松啊~来喔!瞧瞧程序与 SELinux 先!
原本以为 crontab 会很好改~没想到 anacron 的架构变了~有点不太一样~导致还得要修个老半天~加上最近也比较忙碌些~所以修改的时间不很多啊!
总之,改好了 crontab ~来瞧瞧:
刚刚收到的消息,听说鸟站与鸟园所在的实体伺服器机房,因为整体单位网路硬体维护的关系,所以机房的对外网路将于名、后天 ( ~ ) 可能会有断断续续的情况发生,
比较差的状况下,可能会有数十个小时的网路中断~所以,如果这个周末连不上鸟站/鸟园,那....就放假好好休息吧各位!
因为 CentOS 7 档案系统变成 XFS 了!连带的 quota 的设计方式也不一样了!XFS 还有 project 项目可以针对单一目录 (非帐号/群组) 进行限制,
实在非常有趣。在 LVM 部份也加入了 thin volume 的简易说明!来瞧瞧
一直提醒要加入 authconfig-tui 的说明,结果写完帐号管理还是忘记加入了...真是...还好,今天想到还不晚~
加入了帐号管理文件中啰!很短一页而已~。
帐号管理一直是管理员很重要的任务!目前 CentOS 7 已经将系统帐号的 UID 设定为小于 1000 以下。至于 ACL 的启用,
预设 XFS 档案系统就是启用的,因此使用 mount 你也看不到 acl 啰!在大量建置帐号的部份,拿掉不适用的脚本,精简了程式码~
那就来瞧瞧
shell script 一直是很重要的学习项目,只是学习上,如果没有一些比较有趣的题目来刺激一下,总是不知道该学些什么。
这次鸟哥加入一个可以乱数告诉你吃啥午餐的范例,个人觉得是挺有趣的!来试玩看看!
网友回报,使用 tar 复原 /etc 后,在 SELinux 为 Enforcing 的阶段会无法正常登入系统!解决问题的方法请参考:
正规表示法!又是一篇基础文件的修改完毕!也因为太基础,所以改动的幅度也不大!连练习范本都没有改正~真糟糕!不过,一些已经过时的档名、操作环境等等,
都改以 CentOS 7 来设计,至少不会有使用 CentOS 7 找不到档案的情况发生!那么就来
实在是因为 bash 的资料太过基础,因此实在想不出要更动的地方在哪哩~所以这个章节的变动幅度就是小的很~几乎只是针对不同的版本 (CentOS 5.x ==& CentOS 7.x) 的差异做点微调而已~
只是...这个微调还是很累~因为决大部份的指令鸟哥都改用一般帐号来操作,所以,所有的指令与输出全部都得要重作一遍!所以也搞了三天左右~总之,大家来唸书复习一下吧!
vim 很老牌了,所以说,没有什么值得大改的部份。只是,还是多了可以自行挑字补全的功能,现在鸟哥也可以在 vim 上面透过 HTML 或 PHP 的函数方式,来补全 CSS 或 html 的 tag 哩!还算方便!
备份与还原过去使用的是 tar 与 dump/restore 还有 dd/cpio 等。不过由于 XFS 档案系统的关系,因此得要改成 xfsdump/xfsrestore 这两个工具软体。
使用上差异不大,不过语法不太相同就是了。来查一查。
新的 CentOS 7 已经使用了 XFS 这个档案系统成为预设值,不再是 Linux 传统的 EXT 家族喔!但无论如何 Linux 档案系统大多还是得要了解
superblock, inode, block area 等等概念啦!只是 xfs 加入了很多有趣的东西!甚至如果你使用的是磁碟阵列组成的磁碟时,最好还是能够考虑
sunit 与 swidth 等参数的设定,会让你的系统发挥较佳的能力喔!这次修改的幅度不小,很多不合时宜的东西也拿掉了!大家来瞧瞧吧:
这个网页是鸟哥自己想要写而写的,并没有特殊的目的!嗯!~说穿了,
其实最早的目的在于『防止忘记!』哈哈!因为鸟哥的『忘性』&&『记性』,
所以动不动就会忘掉之前工作过的一些小技巧!所以,
为了防止好不容易才架设好的网站可以继续的营运下去,
所以才兴起写一个网页这样的念头!但是人算不如天算,想不到鸟哥的个性当中掺杂了太多的『鸡婆』
成分 ( 说穿了是碎碎唸的功力啦! ) ,所以一写下去就啰哩八唆的写个没完,
导致这个网站也就成为今天这付模样了!!
关于 Linux
在编写网站内容的这几年中,也真的结识了不少前辈高人与同好朋友,
是在写这个网站的额外收穫!也是鸟哥最大的收穫喔!但是,
也认识到了网路的危险性!!因为闲人太多了,网路实在不安全~~你知道吗?
你刚架设好的主机,如果没有防火墙的保护功能,不出两天,一定会
被 Cracker 侦察!如果遇到那些想要磨练自己 cracker 功力的小毛头,
呵呵!不出一个月,你的网站『肯定』会被入侵!所以,在完成一个提供网路服务的主机后,
请记住,你的防火墙设定了没?!
此外,藉由讨论区的功能,也认知到了很多朋友都有相同的
问题,就是『基础没有打好,就想要建高楼!』基本上,还是很建议大家好好的先
K 一下『』的啦!
先对于 Linux 有一定的瞭解之后,关于架站,嗯!那真是太简单了!还有,
这两篇文章连结也请务必要好好看一看,不但可以快速进入 Linux 的世界,在讨论区提问时,
大家也会比较有办法提供您正确的解决之道喔!
关于教学文件
因为这里的教学文件是累积了鸟哥好几年的资料,追溯年代,可以推到 2000 年之前,
加上鸟哥的学习是渐进式的,所以文章内容必定会有所疏漏,如果大家发现文章有错误的话,
请一定要啊!
此外,因为鸟哥的记忆力真的很不好,所以,文件的风格好像会一变再变,真是不好!
所以,鸟哥也设定了一些文章的编写风格,可以参考
这一篇简介。
其实,这里的教学文件并不限于 Linux 啦,,
这里也有喔!此外,鸟哥也会收集一些好用的资讯来跟大家分享的!嗯!大家加油的啦!
这个网站的资料 ( 除了之
一字一字打出来的,书写的过程当中参考了为数不少的文献,我们很感谢这些原始文件的作者,
毕竟有他们的努力我们才有这么优秀的文件可以查阅!基于 Open Source 的分享精神,
本网站的内容可以让任何非营利的团体及个人进行非有偿之目的之使用,
诸如引用为教学之讲义等等,但必须註明文件出处且保留原作者之姓名及通讯资料。
任何其他目的之使用,请事先与鸟哥联繫,本网站将保留一切预期权益。
站内文章如另有版权声明,则以该声明为准。
为保障使用者的阅读权力,
本网站同意使用者下载或者保留网站内容在使用者之个人电脑内,但该内容除非本网站同意,
否则应不得使用于网际网路上。此外,严格禁止以类似 Teleport 之类的砍站软体进行网站大搬家,
否则本站有权停止其浏览权~^_^
此外,本站所引用国内外产品商标均属于其合法註册之公司所有,本站所引用之网站画面/图片的着作权分属各公司、
团体、法人或个人所有,本站文章内容所引用之部分仅作介绍,绝无侵权意图,在此一併声明之。
相关推荐:鸟哥的linux私房菜学习笔记
什么是linux:主要介绍linux及其发展史,GNU与linux的关系,自由软件与开源代码,GPL协议,linux的版本、核心、特性、优缺点等。
如何学习linux:linux应用(网络服务器、工作站计算机、台式计算机、嵌入式系统);从头学习(基础知识)-&选择工具书-&实践;学习方法(x-window、命令行模式、网络/主机数据查询、向别人提问)
linux主机的规划:根据需求选择硬件,对硬件进行了介绍(速度,稳定性);每个硬件被当成文件对待;安装前的规划、主机服务器与硬件的关系,学完这章可以根据主机的服务来选择相应的硬件设施,合理的对系统进行规划,解决常见的系统问题。
安装FC4与多重启动技巧:通过实例讲解,如何规划和安装linux系统;识别硬盘分区:由于MBR块容量有限,linux设计成4个分区记录,分区号dev/hda1-4是预留的,所以逻辑分区的代码号由5开始。如何安装多系统,以及多重启动的一些技巧。
第五章 启动关机、在线求助与执行命令的方式:x
window及命令行模式下正确登录与离开系统(不正常关机可能导致系统扇区错乱,数据坏损);X
window(重启crtl+alt+backspace)与命令行模式切换(crtl+alt+f1--f6)按下crtl+alt+f7回到x
window下;命令行模式执行命令,英文区分大小写,一些简单命令的使用(日期date、日历cal、计算机bc[默认只输出整数,要输出小数,需要指明小数点位数,执行scale=number即可]);重点热键,在线帮助man/info;正确关机的方法及命令(shutdown、reboot、init、halt)shutdown参数介绍:
-t sec : -t后面加秒数,即“过几秒后关机”的意思
-k : 不要真的关机,只是发送警告信息
-r : 在将系统的服务停掉之后就重新启动
-h : 将系统的服务停掉后,立即关机
-n : 不经过init程序,直接以shutdown关机
-f : 关机并启动之后,强制略过fsck的磁盘检查
-F : 系统重新启动之后,强制进行fsck的磁盘检查
-c : 取消已经在进行的shutdown命令内容
使用时注意加上时间参数;忘记root密码不必重装,单用户维护模式登入可修改root密码。
linux的文件属性与目录配置:用户与用户组的介绍,文件属性设置(只有某个目录的可读权限是不能进入该目录的,因为没有对该目录进行操作的权限)chgrp:修改文件所属用户组;chown:修改文件拥有者;chmod:修改文件属性(r:4,w:2,x:1);文件类型与扩展名:类型:普通文件(纯文本文件、二进制文件、数据格式文件)、目录、连接文件、设备与设备文件(字符设备文件、块设备文件)、套接字、管道;扩展名没有什么实际意义,只是帮助我们了解文件内容,文件或目录名最长可达255个字符,加上完整路径可达4096个字符,设置文件名时最好避免使用特殊字符;目录配置(FHS):在linux中所有文件与目录都由根目录(/)开始,形成目录树,/etc、/sbin、/bin、/dev、及/lib要跟/绑在一起,不能放在不同的分区;主机分区与目录配置:根据主机用途进行分区和配置。
第七章 linux文件和目录管理:
绝对路径:路径的写法一定由根目录/写起;相对路径:路径的写法不是由/写起。
特殊的目录: . 表示此层目录 . .表示上一层目录 - 表示前一个工作目录 ~ 表示当前用户身份所在的家目录 ~account
表示account用户的家目录。
常用操作:cd 切换目录;pwd [-p] 显示当前所在目录(-p选项可以获取正确的目录名,而不是以连接文件的路径来显示);mkdir
[-mp] ,目录名 建立新目录(-m:设置文件的权限,直接设置,不用管默认权限;-p:直接建立所学要的目录递归);rmdir
删除空目录(-p:与上层空目录也一起删除;删除非空目录要使用rm -r 目录名 或者rm -rf 目录名)。
增加PATH搜索目录:在命令行模式下输入PATH=”$PATH”:/root(/root目录根据需要而定)。
查看文件和目录 ls 、复制文件或目录 cp、删除文件或目录 rm、移动文件与目录或重命名
mv,这些命令的选项很多,用的时候man一下就可以了。
查看文件内容各命令用途:
cat: 由第一行开始显示文件内容
tac: 从最后一行开始显示文件内容
nl: 显示的时候输出行号
more: 一页一页的显示文件内容
less: 与more类似,但是它不能向前翻页
head: 只显示前几行(默认10行)
tail: 只显示最后几行(默认10行)
od: 以二进制方式读取文件内容
各命令的选项也不少,需要的话同样man以下就可以了。
修改文件时间与创建新文件:touch [-acdmt] 文件,各选项功能man下就知道了。
文件默认权限:umask(查看后的值是要去掉的权限的值),默认权限的设置很简单,直接在umask后输入要去掉的权限的值即可,如umask
002目录权限即为:rwxrwxr-x;设置文件隐藏属性:chattr [+-=] [Asacdistu]
文件或目录名,其选项的意义通过man可知,其隐藏属性通过lsattr可以查看。文件的特殊权限SUID是程序在执行过程中拥有文件拥有者的权限,所以仅可用于二进制文件,不能用在批处理文件(shell脚本)上,对目录是无效的。
SUID/SGID/SBIT权限设置:4为SUID;2为SGID;1为SBIT,在设置属性时在3个数字前再加上一个数字,最前面的数字就表示这几个属性,如chmod
4755 file则file属性为-rwsr-xr-x。
文件类型:file 通过这个命令,可以简单的判断文件的格式。
搜索文件:whereis与locate是使用数据库来搜索数据,没有实际搜索硬盘,所以速度很快,当找不到时才用find;which:寻找执行文件,whereis寻找特定文件,locate可以根据文件的部分名称搜索文件,find可以根据不同的参数提供搜索功能。
linux磁盘与文件系统管理:硬盘的物理组成:注意磁头、磁道、柱面、扇区等概念,磁盘存储量简单公式是:柱面x磁头x扇区x512字节,一定要正常关机,让硬盘机械手臂回归原位,保证硬盘安全。分区的要点:就是记录每一个分区的起始与结束柱面。逻辑块实在分区进行文件系统的格式化时所指定的“最小存储单位”是以扇区大小为基础的,快的大小为扇区的2^n倍数,且一个块仅能容纳一个文件。ext2规划出inode与块来分别存储文件的属性与内容,要将磁盘格式化为ext2,就必须指定inode与块的大小才行。目录的最大功能就是提供文件的关联性,注意了解ext2的特性(查看文件系统信息命令:dumpe2fs
文件设备号),分区要根据主机的用途来规划。日志文件系统很好的解决了数据不一致的问题,可以快速修复文件系统。载入点就是进入该文件系统的入口。查看磁盘与目录的容量df、du具体用法通过man可知。连接文件类似于windows中的快捷方式,硬链接只是在某个目录下的块多写入一个关联数据,不会用掉inode与磁盘空间,且不能跨文件系统,不能连接目录;符号链接(即快捷方式)所建立的文件为一个独立的新文件,会占用inode与块,建立连接命令ln,详细使用man知道。硬盘分区fdisk,格式化mke2f(格式化为ext2/ext3)或mkfs(格式化为其他文件系统),设置磁盘代码mknod;制作可启动进入linux的软盘:mkbootdisk
--device /dev/fd0 'uname
-r',软盘低级格式化fdformat,在低级格式化之后,使用mke2fs命令将软盘的文件格式化为linux的ext2类型。磁盘检验:fsck(磁盘未挂载情况检查)、badblocks,sync命令可以直接将系统暂存在内存中的数据写入磁盘。使用mount命令,可以将文件系统载入到linux系统,使用umount命令卸载。修改磁盘参数:mknod、e2label、tune2fs、hdparm,这些命令都有很多参数,使用时要用man手册,搞清楚每个参数的功能。使用mke2fs
/dev/fd0可以制作ext2软盘,使用如下命令可以挂载软盘:mount -t 文件类型(ext2/vfat等) /dev/fd0
/media/floppy #挂载
umount /media/floppy #卸载掉/media/floppy后才能取出软盘
载入windows磁盘:首先建立一个目录,然后将将windows所在分区(fdisk
-l可查看)载入linux目录,如将windows所在分区/dev/hda1载入到/mnt/win98过程如下:
mkdir /mnt/win98 #建立linux目录
mount -t /dev/ vfat /dev/hda1 /mnt/win98 #挂载分区
mount -t vfat -o iocharset=cp950 /dev/hda1 /mnt/win98
#显示正确的中文
载入u盘:将u盘/dev/sda载入到/mnt/usb过程为:
mkdir /mnt/usb #建立linux目录
mount -t vfat /dev/sda /mnt/usb #载入u盘
启动时载入/dev/fstab和/dev/mtab:文件系统有很多参数,这些可以查资料知道,可以使用dump备份命令进行系统备份,要在启动时载入自己建立的磁盘文件系统时,就在/etc/fstab文件中加入,例如启动时要载入/dev/hdb5到/mnt/hdb5,并在启动时自动载入,就在/etc/fstab中加入/dev/hdb5
/mnt/hdb5 ext3 defaults 2
2即可,如果在/etc/fstab中输入的数据错误导致无法顺利启动,可以使用mount -n -o remount,rw
/命令读写根目录,并更新文件内容。
建立虚拟内存:先建立swap设备或文件,将它格式化为swap格式,最后将它载入到系统上;建立虚拟内存设备:
1、利用“fdisk /dev/hd[a-]”先建立一个分区,然后将该分区的ID改为82;
2、使用“mkswap /dev/hd[a-d][1-16]”将刚建立的分区格式化为swap文件格式;
3、启动swap,命令为"swapon /dev/hd[a-d][1-16]",(关掉虚拟内存的命令为swapoff)。
建立虚拟内存文件:
1、使用dd命令建立swap文件;
2、使用mkswap将swap文件格式化为虚拟内存的文件格式;
3、使用swapon来启动该文件,使其成为虚拟内存;
4、使用swapoff来关闭该文件。
第九章 文件的压缩与打包:目前一些常见的压缩文件的扩展名
*.Z: compress程序压缩的文件
*.bz2: bzip2程序压缩的文件
*.gz: gzip程序压缩的文件
*tar: tar程序打包的数据,并没有压缩过
*.tar.gz: tar程序打包的文件,并且经过gzip的压缩
linux常见的压缩与解压缩命令:compress(uncompress解压缩)(扩展名为.Z);gzip(扩招名为.gz),zcat(用来读取扩展名为.Z和.gz的压缩文件数据内容的命令);bzip2(bunzip2
解压缩)(扩展名为.bz2),bzcat(用来读取扩展名为.bz2的压缩文件的数据内容);tar(扩展名为.tar/.tar.gz)多用途的压缩命令,可以将整个目录或者指定的文件都整合成一个文件,要以绝对路径建立打包文件时要加上-P参数(注意大写);除了tar以外,其他命令在没有加入特殊的参数时,原来的文件就会被取代,但是,使用tar,原来的与后来的文件都会存在。dd的备份功能很好用,参数用man可知,cpio是备份的利器,但是不怎么好用,必须配合其他程序,与管道命令及数据流重导向的相关性很重要。
vi文字处理:命令行的命令很多,常用的要知道;使用临时文件,可以恢复文件;vim中块选择、多文件编辑、多窗口功能(:sp)的使用;vim环境设置,可以根据习惯设置,这样很多操作就会变得很方便;dos与linux的换行符不同,可以用命令将文件格式进行转换:dos2unix
[-kn] fiel [newfile]和unix2dos [-kn] file
[newfile]使用时不清楚可以man一下。
第十一章 认识Bash
Shell:bash的主要优点:命令记忆功能,命令与文件补全功能,命令别名(alias)设置功能,作业控制(jobs)、前台、后台控制,shell
scripts的强大功能,通配符;bash shell的内置命令(man bash):type [-tpa]
name;shell的变量功能可以使操作方便很多;变量的获取与设置:echo、变量设置规则、unset:变量设置时变量与内容用"="连接,且要符合某些规定,否则设置会失败,变量设置中,双引号仍然可以保持变量的内容,单引号内只能是一般字符,在一串命令中`符号之内的命令先执行,查看环境变量命令env、set和export,自定义变量不能被子程序引用,但是可以通过export转换成环境变量;支持语系查询命令locale;读取键盘输入的变量用read命令read
[-pt] variable;声明变量属性用declare或typeset命令declare [-aixr]
variable,与文件系统及程序的限制关系ulinit [-SHacdflmnpstuv]
[配额];命令别名设置:alias、历史命令:history [n/-craw]
登录消息显示数据:/etc/issue、/etc/motd(man issue和man
mingetty查看各代码);环境设置文件:默认的设置文件/etc/sysconfig/i18n、/etc/profile、etc/bashrc、/etc/profile.d/*.sh、
/etc/man.config,个人设置文件~/.bash_profile、~/.bash_login、~/.profile、~/.bashrc、~/.bash_history、~/.bash_logout;终端环境设置命令stty和数据流重导向:标准输入:代码0,使用&或&&;标准输出:代码1,使用&或&&;标准错误输出:代码2,使用2&或2&&;命令执行的判断依据:;(依次执行多个命令用;隔开)、&&(前面的命令执行正确才执行后面的)、||(前面的命令执行错误才执行后面的);管道命令“|”仅能处理通过前面一个命令传来的正确信息,常用的选取命令cut、grep,排序命令sort
[-fbMnrtuk] [file or stdin]、wc [-lwm]、uniq [-ic],双向导向tee [-a]
file,字符转换命令tr、col、join、paste、expand,拆分命令split [-bl] file
prefix,参数代换xargs [-0epn] command,stdin和stdout可以用“-”来代替。
正则表达式:搜索字符grep、[],行首行尾字符^$,正则表达式中“.”代表绝对只有一个任意字符,限定连续重复字符范围{};sed可以分析标准输入的数据然后将数据经过处理后,再将它输出到标准输出,它有替换、删除、新增、选取特定行等处理功能,用法:sed
[-nefr] '[动作]';awk与sed相比适合处理小型的数据,运行模式为:awk '条件类型1{动作1} 条件类型2{动作2}
...' filename;文件比较:diff [-bBi] from-file to-file(以行为单位),cmp [-s]
file1 file2(以位为单位);文件打印准备pr。
第十三章 学习shell脚本:什么是shell脚本及其特点;如何编写好的shell脚本;条件判断,循环,追踪调试sh [-nvx]
filename。
linux账号与身份管理:linux账号与用户组,用户识别UID与GID,用户账号/etc/passwd,/etc/shadow可以用man
5 passwd和man 5
shadow获得详细信息,用户组/etc/group和/etc/gshadow,更改有效用户组newgrp
groupname,离开exit;账号管理:新增用户useradd [-u UID] [-g initial_group] [-G
other_group] -[Mm] [-c 说明栏] [-d home] [-s shell]
username,设置密码passwd username,账号相关数据调整usermod [-cdegGlsuLU]
username,删除用户userdel [-r] username,用户功能chfn [-ls],chsh
[-foph],查询finger [-s] username或id [username];添加用户组groupadd [-g gid]
[-r] groupname,group相关参数修改groupmod [-g gid] [-n
group_name],删除用户组groupdel gruopname,gpasswd [-AMrRad]
username,passwd [-lunxwS] username,切换用户身份su [-lcm] [username]、sudo
[username|#uid]]command,用户特殊shell、/sbin/nologin与PAM模块/etc/nologin、/etc/securetty验证;linux系统的用户对话与邮件的使用,查询用户w、who、last、lastlog,用户对话talk、mesg、wall、write,用户邮件信箱mail,使用方法mail
username[@localhost] -s
"邮件标题"[&filename利用数据重导向可以发送文件内容];要了解整个系统最好手动增加用户,但是要真的了解自己在做什么,检查工具pwck、pwconv、pwunconv、chpasswd。
linux磁盘配额:磁盘配额即硬盘空间管理的使用限制,基本磁盘配额命令/etc/mtab、quota、quotacheck、edquota、quotaon、quotaoff。
第十六章 例行性命令的建立:linux工作任务分配的种类at [-m]
TIME(仅进行一次的工作任务分配)atq和atrm可以删除at任务、crontab [-u username]
[-l|-e|-r](循环执行的工作)。
程序与资源管理:进程(PID)与程序(pstree查看程序的关联性),常驻内存程序;linux多用户多任务环境;作业管理:直接将命令放到后台执行的&、将当前作业放到后台暂停ctrl+z、观察当前后台作业状态jobs、将后台作业拿到前台处理fg、让作业在后台运行bg、管理后台作业kill/killall;进程的观察ps、top、pstree;系统资源的观察free、uname、uptime、netstat、dmesg、sar;进程执行顺序PRI(new)=PRI(old)+nice,nice、renice;特殊文件与进程:使用find查询系统的SUID/SGID、查询已打开或已执行进程打开的文件fuser、lsof、pidof。
启动关机的流程与加载程序:启动过程:1、加载BIOS的硬件信息,并获取第一个启动设备的代号;2、读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk)的启动信息;3、加载核心操作系统的核心信息,核心开始解压缩,并且尝试驱动所有硬件设备;4、核心执行init程序并获取运行信息;5、init执行/etc/rc.d/rc.sysinit文件;6、启动核心的外挂模块(/etc/modprobe.conf);7、init执行运行的各个批处理文件(scripts);8、init执行/etc/rc.d/rc.local文件;9、执行/bin/login程序,等待用户登录;10、登录之后开始以shell控制主机。核心与核心模块,建立依赖文件depmod
[-Ane],核心模块的观察lsmod、modinfo;核心模块的加载与删除insmod、modprobe、rmmod;grub与lilo引导加
载程序的功能与意义,设置文件,测试与安装(grub install);一些启动过程问题的解决办法。
源码与Tarball套件管理程序:Tarball的安装、升级及管理,函数库、make、makefile、config;使用patch
-pxx(xx表示数字,表示路径去掉几个‘/’)&patch_file;函数库的管理,动态库(如何加载到内存ldconfig与/etc/ld.so.conf)与静态库的区别,查询程序含有的动态库命令ldd
[-vdr] filename;检验软件正确性md5sum [-bct] filename。
第二十章 RPM与SRPM套件管理程序:SRPM包含源码,比RPM多了一个重新编译的操作;RPM安装rpm -ivh
packagename,升级与更新rpm -Uvh/-Fvh packagename,查询rpm -q[ailcdrf...]
name,验证与数字签名rpm [-Vapf] name,解除安装rpm -e name,重建数据库rpm
--rebuilddb;SRPM编译rpmbuild -bb name(编译成RPM文件),打包rpmbuild -ba
name(打包成SRPM文件)。
第二十一章 系统服务守护程序:守护程序就是一个在后台执行的程序,独立启动的守护程序启动方式/etc/init.d/syslog
start,启动超级守护程序/etc/init.d/xinetd restart,或者是service [service name]
(start|stop|restart|...),TCP_Wrappers
中的两个文件/etc/hosts.allow与/etc/hosts.deny以/etc/hosts.allow优先判断,且第三栏可以扩展(spawan、twist),观察系统启动的服务netstat,设置开机后立即启动服务(或者建立自己的服务)chkconfig、ntsysv。
第二十二章
认识与分析登录文件(配置文件/etc/syslog.conf):登录文件的记录syslogd,轮替logrotate,安全性设置课增加+a参数的隐藏属性chattr
+a name;系统查看命令dmesg、last、lastlog。
第二十三章 linux备份策略:需要备份那些文件,选择备份设备,备份种类(全部/部分备份),完全备份工具:1、使用cpio:find
/ -print | cpio -covB & /dev/st0 备份到磁带机,cpio -iduv
& /dev/st0 还原;2、使用tar:tar --exclude /proc --exclude
/mnt --exclude /tmp &-zcvpf host.tgz /备份,tar -zxvf
host.tgz还原;3、使用dd:dd if=/dev/hda cf=/dev/hdb。
第二十四张 X Window简单设置:什么是x window,是否需要启动及发张历史,启用流程(man xinit、man
x):检测startx [x client options] -- [x server options],启动xinit
[client options] -- [server or display
option],手动修改xorg.conf或XF86Config,获取x版本命令:x
-version,x服务器的字体服务器设置文件/etc/X11/xorg.conf(chkfontpath、xmodmap),设置默认的x设置文件Xorg
-configure或XFree86
-configure,更新显卡驱动:下载驱动、安装模块、修改主要设置文件;一些常见问题的解决方法。
第二十五章 linux硬件检测与维护:硬件信息收集lspci [-vvn]、iostat [-cdkt]、查看USB设备fdisk
-l,载入mount,创建设备代号mknod,取得温度、电压等信息使用lm_sensors/sensors-detect,setup设置功能,打印机守护程序CUPS与LPRng,CUPS支持的联机模式socket、LPD、IPP、SMB、parallel、Network
Printer、USB,启动打印机:下载合适的ppd定义文件、确定CUPS及打印机已启动、开始在CUPS中加入打印机(setup/lpadmin)、开始打印测试(lp/lpr/lpstat/lpq/lprm/cancel)、权限控制(disable/enable/accept/reject)、利用web接口管理CUPS打印机;特殊的文件系统LVM:物理卷(PV)、卷组(VG)、物理扩展(PE)、逻辑卷(LV);制作LVM磁盘的流程:建立PV与PV的查询,相关命令(pvcreate/pvscan/pvdisplay/pvremove/partprobe)、建立VG,相关命令(vgcreate/vgscan/vgdisplay/vgextend/vgreduce/vgchange/vgremove)、建立LV,相关命令(lvcreate/lvscan/lvdisplay/lvextend/lvreduce/lvresize/lvremove)、分区的格式化与载入;加大原有的LVM磁盘resize2fs;额外的存储设备iSCSI协议的磁盘阵列(好处:增加数据访问性能、具有类似备份效果)的架设与使用。
第二十六章 Linux核心编译与管理:编译核心的原因:新功能需求、原核心太庞大、与硬件搭配稳定性、其他;查看核心版本uname
-r;获取最新的核心,利用补丁升级核心源码,核心目录下的子目录信息,编辑核心的生成文件(删除留下的.o文件make
mrproper、建立生成文件make menuconfig,make xconfig,make
gconfig);设置核心内容与模块(根据主机用途选择);核心的编译与安装,编译流程:make clean、make
bzImage、make modules、make
modules_install(如果同一个版本的核心被编译两次以上的话,再次编译前先将/lib/modules里的该版核心先移开);设置多重启动系统:移动新核心到/boot中、修改grub设置文件;单一模块编译流程:模块说明与下载、将文件解压缩(tar)、编译与安装(make)、将模块移到核心目录,并更新模块依赖属性;核心模块管理:lsmod、modinfo、modprobe、insmod、rmmod...
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

 

随机推荐