当前位置:文档之家› 鸟哥的 Linux 私房菜第13章-学习 Shell Scripts

鸟哥的 Linux 私房菜第13章-学习 Shell Scripts

鸟哥的 Linux 私房菜第13章-学习 Shell Scripts
鸟哥的 Linux 私房菜第13章-学习 Shell Scripts

鸟哥的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.doczj.com/doc/be163546.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.doczj.com/doc/be163546.html,),几乎相同的自由软件套件(例如GNU 里面的gcc/glibc/vi/apache/bind/sendmail...),几乎相同的操作接口(例如均使用bash/KDE/GNOME等等)。 不同:使用的kernel与各软件的版本可能会不同;各开发商加入的应用工具不同,使用的套件管理模式不同(debian与RPM)

linux学习思路

linux学习计划 二、如何学习linux Linux操作系统主要就是一些配置文件(/etc)和命令行工具(/bin /sbin /usr/bin /usr/sbin),要掌握操作系统的主要目录结构和配置文件,运用系统的命令行工具(shell 脚本)完成常规的操作系统维护工作,监控工作。进而可以安装部署一些企业应用,进行监控、管理等等。 1.重要的命令:find,sed,awk,正则…… 2.工具:gnu下的著名软件gcc,gdb,vi,make…… 3.unix编程,编译等。xwin开发方式,gtk,qt…… 4.文件系统,/dev下的设备(会用),/var下重要的东西,/etc 下的配置(常用服务配置apache, ftpd, sshd, xinetd, squid, natd, named),系统启动顺序,配置相应服务等…… 5.c,python,php等高级语言…… 三、个人水平定位 1.初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置,能看懂并可修改系统提供的配置脚本(/etc/*.*)。推荐书籍: 《鸟哥的私房菜基础篇、高级篇》 《Advanced Bash Shell》 2.中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。推荐书籍: 《The C Programming Language》 《Unix环境高级编程》 《Linux程序设计》 《TCP/IP协议详解卷一》 《Unix网络高级编程》 3.高级:内核,驱动级别。推荐书籍: 《Linux Device Driver》 《深入理解Linux内核》 《深入理解计算机系统》 《深入理解LINUX网络内幕》 四、学习途径 1.Help System 帮助文档(man) 2.online books 在线文档(wiki ,blogs)

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

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

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

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

Linux习题

鸟哥的Linux 与ADSL 私房菜 一些基础的Linux 问题 最近更新日期:2005/05/23 一些基础的 Linux 问题与讨论: 注意:如果您有更好的试题,或者是有相关的数据要提供给 VBird 的话,我也会尽快的将他写到网页中的!感谢感谢!! ^_^ .. 一、什么是 Linux 呢?! 1.试说明 Unix 与 Linux 的历史? 2.简单说明 GNU General Public License (GPL)的精神: 3.什么是 Linux Distribution? 4.市面上众多的 Linux 版本当中,有何异同? 5.Linu Kernel 的功能: 6.试说明 Linux Kernel 与使用者之间的相关性? 7.试说明什么是 GUI 8.Linux 的优点: 9.Linux 是多人多任务的环境,请问何谓多任务(Multitask)与多人 (Multiuser): 二、Linux 的安装与认识 Linux 支持的硬件 1.一般而言, Linux 需要的配备并不需要太高档,但 Open Linux Server 3.1.1 需要? 2.什么是 IDE 界面,一般而言,普通 PC 允许几个 IDE 界面与装 置? 3.IDE2 的 master 之第一个 logical 磁盘中,其装置代号(文件名) 为何? 4.在硬盘分割 (Partition)时,最多有几个 primary + extended ? 5.若在分割的时候,在 IDE1 的 slave 硬盘中,分割『六个有用』 的扇区(具有 filesystem 的),此外,有两个 primary 的扇区! 请问六个扇区的代号? 6.一般而言安装 Linux 至少要有哪两个 partition 呢? 7.一般而言,在 RAM 为 64MB 或 128 MB 的系统中, swap 要开多 大? 8.光驱与软盘驱动器的代号(装置文件名)? 9.网络卡(Network Interface Card, NIC)的代号? 10.预设的 Linux 文件格式为何?又,目前常用的 Journalling 文件 格式为何?

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

第一章架设伺服器前的准备工作 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 本章习题

鸟哥私房菜——IP 观念: IP, network, netmask, broadcast, gateway, ARP协议

IP 观念:IP, network, netmask, broadcast, gateway, ARP协议, 接着下来要跟大家介绍的是IP 这个东西,这的东西真是让人要爱又怕呀!因为没有了他,所有的网络都是没有用的咚咚!嗯!通过了网络卡的安装与驱动程序的加载之后,你的系统已经可以取得MAC 并且也可以激活NIC ( 网络卡) 了,好了,那么接着下来自然就是要让你的计算机的门牌号码被Internet 上面其它的门牌号码认识啰!这个时候就必须要有所谓的Internet Protocol, IP 这个咚咚了!这个IP 是所有网络基础里面最基础的东西,如果没有了他,那么网络将不再是网络了! · IP 的组成: 众所皆知的,IP 是由四组8 bits 的数字所组成的,最小是0.0.0.0 ,最大是255.255.255.255 ,可以这样来看: 就是这样的一个模样!由于原本是二进制的方式来计算的,为了适应人类的思考方式,所以经过十进制的表示之后,自然就是由0 ~ 255 啰!好啦!从刚刚前面我们提到的『广播』的观念来看,假设您的环境是『网络媒体共享』的环境且整个网域之中都以IP 直接互相连接的话,那么在第一次执行『软件广播』、或是因为主机找不到ARP 表对应的MAC 而执行的『软件广播』、抑或者是在『物理广播』的传送与监听接段,哈哈!『ㄟ西郎!』因为每发出一个封包可能需要255x255x255x255 部计算机同时响应!那么很可能就会造成严重的封包碰撞或者是网络停顿的状态!因此,设定IP 的朋友们很聪明的将整个IP 段分成Network + Host ( 网域+ 主机),在同一个Network 当中,每一个Host 都必须是独一无二的!何解?我们来以一个 C Class 的例子来谈一谈好了!假设是192.168.0.0 ~ 192.168.0.255 这个例子来谈: 前面的三组数字称为network ,而最后面的一组数字就被称为是host 啰!他有什么特异功能呢?还记得软件广播与ARP 表的说明吗?对啦!当你的主机发出要求讯息到你的网络媒体上面时,由于是网络层的要求了,因此在讯息当中显示的目标MAC 为FF:FF:FF:FF:FF:FF,所以其它主机会先接收该封包,并且检验里面的IP 要求,如果不是在同一个网段内的,就会将封包给他丢弃啦!而如果是同一网段内的话,就会给予响应!也就是说『如果在同一个网段之内,所有的IP 将不需要透过router 而可以互相直接沟通!』在上面的例子当中,当我们以192.168.0.0 ~ 192.168.0.255 的IP 的计算机连在一起时,他们将可以直接进行资料传送!所以呢,呵呵!当然就是很方便啰!( 请注意,在这个系统当中,network 不可变,而host 则是不可相同!否则相同的那两个IP 将无法无法联机) !那么目前我们将整个IP 简单的方类成为三个网段,分别设定为所谓的A, B, C class :

鸟哥的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.doczj.com/doc/be163546.html,),几乎相同的自由软件套件(例

蜗牛的私房菜-TestNg

引子 古人云:蜗牛也是牛 话说最近几天半年会开的一个半劲,看到大家一个个捧着大奖和NS帅的掉渣的最帅哥合影,幸福的像花儿一样,本牛内心颇不平静。人家鸟哥的私房菜都第三版了,本牛作为一个工作多年的新人还在原地打转,辗转反侧,难以入睡,终于在数了一千只羊之后,做出一个沉重的决定:我得写点东西。为了那闪耀着万丈光芒的最佳新人奖,啊不,哪怕最佳新人提名奖也好,也为了阿炳同学求知的精神,更为了质量部QA新人的质量。我是一个PHP的菜鸟,Mysql也只是会使用,所以我写的这些东西大多是以Java作为首选语言,但有些东西作为通用的思想是不受语言限制的。 万事开头难,其实开过头后也不容易。测试方面的技术好多啊,多的像天上的繁星,一.俩.仨.四个…在有限的时间里,想做最多的了解,只能从最实用的着手, 去除教条式的金科玉律。于是,一个切入点蹦了出来,那就是介绍号称下一代Java测试技术的TestNG。其实这个next generation 也只是相对于Junit 3.8这个版本,在这个版本发布5年之后,从TestNG中借鉴了许多概念的Junit 4才发行,所以了解TestNG同样有助于学习Junit及Unit系列的众多分支。 软件开发是一项风险事业。测试则是缓解项目风险最重要的手段之一。一般来说,我们应该让需求可测试,让测试自动化,让自动化测试变的容易。理念一定要先进,工具一定要先进。将这些先进的理念和工具应用于项目中,提高生产效率,这就是创新的意义所在。(声明:本段不是原创!) 一、简介 TestNG是一个测试框架,不仅仅用来做单元测试,还包括集成测试。利用注解(annotation)来标注测试类。 二、和Junit3.8的区别 1.测试方法的名字不必以test开始,命名灵活; 2.测试方法可以返回值,不必是void的; 3.测试方法可以传入参数; 4.测试类不必从TestCase中继承; 5.除了提供了BeforMethod和AfterMethod这些在测试方法之前和之后的调用的外, 还有BeforeClass、AfterClass、BeforTest、AfterTest等调用; 6.提供了依赖关系测试; 7.对测试方法进行分组; 8.对异常的测试; 三、详细介绍 3.1测试、套件和配置annotation TestNG在testng.xml中来描述和配置测试,包括配suite,test,group (include and exclude某些组),class,method(include and exclude某些测试方法),还包括package的指定。

菜鸟学习之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.doczj.com/doc/be163546.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这个时候可以使用如下方法:

相关主题
文本预览
相关文档 最新文档