鸟哥私房菜课后习题解答
鸟哥的Linux私房菜
鸟哥的Linux私房菜第5章启动关机、在线求助与执行命令的方式显示日期:date显示日历:cal计算器:bc补齐:[Tab]中断程序:[Ctrl]-c文件结束、输入结束、exit:[Ctrl]-d帮助:man -f(watis) -k(apropos)查看系统的使用状态:who、netstat -a、ps aux同步数据:sync关机:shutdown-t sec:过几秒后关机-k:发出警告-r:将系统的服务停掉之后重新启动-h:将系统的服务停掉之后立即关机-n:不经过init程序,直接以shutdown关机-f:关机并启动之后,强制略过fsck的磁盘检查-F:系统重新启动之后,强制进行fsck的磁盘检查-c:取消正在进行的shutdown命令内容重启:reboot、halt、poweroff磁盘检查:fsck忘记root密码:进入单用户单机维护模式,kernel加single第6章Linux的文件属性与目录配置用户、用户组:用户信息:/etc/passwd用户密码:/etc/shadow组信息:/etc/group如果要对其他人开放某个目录的话,开放该目录的x属性/etc/sysconfig/i18n:LC_TIME=enchgrp [-R] group dirname/filename:更改用户组chown [-R] user[:group] dirname/filename:更改所有者cp:复制chmod [-R] ugo dir/file:更改权限,r:4,w:2,x:1,+、-、=,a目录属性:x:能否进入目录,在用户home目录下,无论谁建立的文件,用户都能删除mkdir:建立目录touch:建立一个没有内容的文件su:切换用户cat:将文件内容读出来文件种类:普通文件:[-]纯文本、二进制、数据格式目录:[d]连接文件:[l]设备与设备文件:块设备文件([b]),字符设备文件([c])套接字:[s]管道:[p]文件名长度不能超过255,完整路径不能超过4096文件名的限制:* ? > < ; & ! [ ] | \ ‘“ ` ( ) { }相对路径:.表示当前目录,..表示上一层目录不可与root分区分开的目录:/etc、/sbin、/lib、/dev最好独立成单一的分区:/home、/usr、/var、/tmp第7章Linux文件和目录管理. 表示此层目录.. 表示上一层目录- 表示前一个工作目录~ 表示当前用户所在的家目录~account 表示account用户的家目录cd 切换目录pwd [-P]:显示当前所在的目录,-P显示出实际路径,而非使用连接路径mkdir [-mp] 目录名:建立新目录,-m设置文件的权限,-p建立所需要的目录递归rmdir [-p] 目录名:删除空目录,-p与上层空目录一起删除$PATH:以“:”隔开ls [-aAdfFhilRS] [--color={none, auto, always}] [--full-time] 目录名-a:全部文件-A:全部文件,但不包括.和..-d:仅列出目录本身-f:直接列出结果而不进行排序-F:根据文件、目录等信息,附加数据结构,*表示可执行文件,/表示目录,=表示套接字文件,|表示FIFO文件-h:列出文件大小-i:列出inode位置-l:列出长数据串-n:列出UID和GID而非用户与用户组的名称-r:将排序结果反射输出-R:与子目录内容一起列出来-S:按文件大小排序-t:按时间排序--color=never:不要按照文件属性用不同的颜色显示--color=always:显示颜色--color=auto:让系统自行按照设置来判断是否使用颜色--full-time:以完整时间模式输出--time={atime, ctime}:输出访问时间或改变权限属性的时间而非内容更改时间cp [-adfilprsu] 源文件目标文件cp [options] source1 source2 source3 … directory-a:相当于-pdr-d:若源文件为连接文件的属性,则复制连接文件属性-f:强制复制-i:覆盖时询问用户-l:建立硬连接-p:与文件的属性一起复制-r:递归复制-s:复制成符号连接文件-u:更新目标文件rm [-fir] 文件或目录-f:强制删除-i:交互模式-r:递归删除mv [-fiu] source destinationmv [options] source1 source2 source3 … directory -f:强制删除-i:交互模式-u:更新文件basename:获取文件名dirname:获取目录名cat [-AEnTv]-A:相当于-vET-E:将换行符$显示出来-n:显示行号-T:将[tab]按键以^I显示出来-v:列出一些看不出来的特殊字符tac:反向显示nl [-bnw] 文件:显示时添加行号more:一页一页翻动空格:向下翻一页Enter:向下翻一行/字符串:向下搜索“字符串”:f:显示文件名以及当前显示的行数q:离开moreless:一页一页翻动空格:向下翻一页[pagedown]:向下翻动一页[pageup]:向上翻动一页/字符串:向下搜索“字符串”?字符串:向上搜索“字符串”n:重复前一个搜索N:反向重复前一个搜索q:离开lesshead [-n number] 文件:显示前10行,-n:后面接数字,表示显示几行的意思tail [-n number] 文件:显示后10行,-n:后面接数字,表示显示几行的意思od [-t TYPE] 文件:非纯文本文件,TYPE:a :使用默认的字符来输出c :使用ASCII字符来输出d[size] :使用十进制来输出数据,每个整数占用size字节f[size] :使用浮点数来输出数据,每个整数占用size字节o[size] :使用八进制来输出数据,每个整数占用size字节x[size] :使用十六进制来输出数据,每个整数占用size字节touch [-acdmt] 文件:-a:仅修改access time-c:仅修改时间,而不建立文件-d:后面可以接日期,也可以使用—date=”日期或时间”-m:仅修改mtime-t:后面可以接时间,格式为[YYMMDDhhmm]umask [-S] [权限]:文件默认权限,文件默认666,目录默认777chattr [+-=] [ASacdistu] 文件或目录名:设置文件隐藏属性+:增加参数;-:减少参数;=:设置一定,且公有后面接的参数A:atime不能改S:将数据同步写入磁盘a:只能增加数据,不能删除c:自动压缩d:具有转储功能i:不能被删除、改名、设置连接,也无法写入j:文件在写入时先记录在journal中s:将会从这个硬盘空间完全删除u:数据内容其实还存在磁盘中,可以用来还原删除lsattr [-aR] 文件或目录:显示文件的隐藏属性-a:将隐蔽文件的属性也显示出来-R:连子目录的数据也一并列出来Set UID(SUID)暂时得到程序的拥有者的权限,只可用于二进制文件,对目录无效如果s的权限是在用户组,就是Set GID(SGID),如果SGID设置在二进制文件上,则不论用户是谁,在执行程序的时间,它的用户组变成该程序的用户组所有者;如果是设置在A目录上,则该A目录内所建立的文件或目录的用户组,将是此A目录的用户组Sticky Bit(SBIT)只针对目录有效,在具有SBit的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除。
鸟哥私房菜学习心得
FilezillaSPFdisk 国人开发的fdisk分区工具间 [警告讯息] 选项与参数: -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思 -k :不要真的关机,只是发送警告讯息出去! -r :在将系统的服务停掉之后就重新启动(常用) -h :将系统的服务停掉后,立即关机。
(常用) -n :不经过 init 程序,直接以 shutdown 的功能来关机 -f :关机并开机之后,强制略过 fsck 的磁盘检查 -F :系统重新启动之后,强制进行 fsck 的磁盘检查 -c :取消已经在进行的 shutdown 指令内容。
时间:这是一定要加入的参数!指定系统关机的时间!时间的范例底下会说明。
范例: [root@www ~]# /sbin/shutdown -h 10 'I will shutdown after 10 mins' # 告诉大家,这部机器会在十分钟后关机!并且会显示在目前登入者的屏幕前方! # 至于参数有哪些呢?以下介绍几个吧!此外,需要注意的是,时间参数请务必加入指令中,否则shutdown会自动跳到 run-level 1 (就是单人维护的登入情况),这样就伤脑筋了!底下提供几个时间参数的例子吧: [root@www ~]# shutdown -h now 立刻关机,其中 now 相当于时间为 0 的状态 [root@www ~]# shutdown -h 20:25 系统在今天的 20:25 分会关机,若在21:25才下达此指令,则隔天才关机[root@www ~]# shutdown -h +10 系统再过十分钟后自动关机 [root@www ~]# shutdown -r now 系统立刻重新启动 [root@www ~]# shutdown -r +30 'The system will reboot' 再过三十分钟系统会重新启动,并显示后面的讯息给所有在在线的使用者 [root@www ~]# shutdown -k now 'This system will reboot' 仅发出警告信件的参数!系统并不会关机啦!吓唬人!fsck /dev/sda1每个账号都有多个群组支持当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;当为[ - ]则是档案,例如上表檔名为『install.log』那一行;若是[ l ]则表示为连结档(link file);若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
鸟哥的Linux私房菜基础学习篇课后习题答案
私房菜--基础学习篇课后习题答案鸟哥的linux私房菜Linux的规划与安装第一篇:Linux第一篇:一、什么是Linux1.一个完整的作业系统至少要能够完整的控制整个硬件,请问,作业系统应该要控制硬件的哪些单元?至少要能够控制:(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=1048576KBytes4.你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,您确定网络卡是好的,那么可能的问题出在哪里?该如何解决?因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel)不支持这张网络卡。
解决的方法,到网络卡的开发商网站,下载支援您主机作业系统的驱动程序,安装网络卡驱动程序后,就可以使用了。
5.我在一部主机上面安装Windows作业系统时,并且安装了显示卡的驱动程序,他是没有问题的。
但是安装Linux时,却无法完整的显示整个X Window。
请问,我可不可以将Windows上面的显示卡驱动程序拿来安装在Linux上?不行!因为核心不同,针对硬件所写的驱动程序也会不相同,编译器也不同,当然,驱动程序也无法在两个作业系统间相容。
这也是为何开发商在他们的网站上面,都会同时提供许多不同作业系统的驱动程序之故。
6.我在Windows上面玩的游戏,可不可以拿到Linux去玩?当然不行!跟上一题相似的,因为游戏也是一个应用程序(application),他必须要使用到核心所提供的工具来开发他的游戏,所以这个游戏是不可在不同的平台间运作的。
JOISC2019题解
JOISC2019题解LOJ3030「JOISC 2019 Day1」考试显然的三维数点。
LOJ3031「JOISC 2019 Day1」聚会这题很 emmmm 啊……⼀个其实⽐较显然的随机做法:随机两个点x,y,对于每个点z询问 (x,y,z) ,即可知道它是在链上还是在链上的某个点的⼦树⾥。
对于链上的点可以⽤ stable_sort 找出之间的顺序,⼦树内的递归处理。
不知道期望多少次,但是过了。
还有⼀个做法,但是没有看懂……LOJ3032「JOISC 2019 Day1」馕反正我想不到 /kk对于每个⼈求出对于他来说把 naan n等分的分割点,然后每次找到还没有确定位置的⼈⾥⾯第i个分割点最⼩的⼈,把他放在这⾥。
正确性很显然。
LOJ3033「JOISC 2019 Day2」两个天线这题不会,脑⼦没了……由于是求绝对值的最⼤值,所以不妨把贡献设为i<j,H i−H j,然后再把H取相反数即可。
离线,从左往右枚举r,也就相当于是枚举j。
对于⼀个i,只有j∈[A i+i,B i+i] 的时候才是可⽤的。
⽽对于j,相当于是对 [j−B j,j−A j] ⾥⾯可⽤的i和H i−H j取max。
然后可以线段树维护:线段树的⼀个节点维护最⼤值、区间可⽤的max H i、区间能贡献的最⼩的H j。
LOJ3034「JOISC 2019 Day2」两道料理竟然切了,那就不写题解了。
LOJ3035「JOISC 2019 Day2」你LOJ⼜咕了考虑两边⼀起做 dijkstra ,那么每次需要知道两边分别扩展出的最近点是谁,以及距离是多少,然后选择较⼩的那⼀边扩展。
那么需要转移的 bit 是kn,其中k不是很⼩。
但不管怎样,数量级已经对了,所以尝试把k压⼩。
⼀个优化是:先互相传最⼩距离,然后距离更⼩的那⼀边把点的编号传过去。
但是由于距离⽐较⼤,还是卡不进去。
发现其实可以传d′=d−lastd,即⽐上⼀次多了多少。
鸟哥私房菜——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 :发现了吗?对啦! A Class 开头是0,所以起始的数字就是0~126, B Class 是10 开头,所以就是由128-191,同理得:·因此,我们刚刚那个192.168.0.0 ~ 192.168.0.255 就是C Class 啰!· Netmask :在所有的IP 讯息当中,最不容易搞懂得就是netmask 啦!为了不造成大家学习上面的困扰,这里我们仅提出简单的『理解想法』来提供Netmask 的用途,至于更详细的理论,请务必前往Study Area 取经呦!就如同刚刚我们提到的,既然 A Class 前面一个数字是固定死的,后面三个数字是可变动的,那么也就可以想成是,前面一个数字已经被用光了( 全部为 1 ) ,而后面的数字还保留者( 全部为0 ),所以就有点像这样:好了,所以简单的来说,当使用 A Class 时,我们怎么知道他是 A Class 呢?当然要配合netmask 的说明啰!那么假设10.0.0.0 这个网段好了,他就可以想成是:10.0.0.0/255.0.0.0 这样的表示方式,也就是IP/Netmask 的表示方式!好了,那么刚刚提到的 C Class 的192.168.0.0 呢?我们要设定他是 C Class 的话,呵呵!那么自然就是192.168.0.0/255.255.255.0 这样的表示方式啰!好啦!那么由于A Class 是由八个1 所组成的,而 C Class 的前面24 的数字也都是 1 ,为了省麻烦,我们还有另一种表示的方法:192.168.0.0/24 !嘿嘿!很好记吧!反正前面24 个数字是固定的嘛!就这样,所以A Class 就是10.0.0.0/8 啰!很容易记忆吧!· Network 与Broadcast :好了,刚刚我们也提到要分辨是否为同一个网段( network ) 还需要netmask 的帮忙,那么记录了netmask 有什么好处呢?!还记得刚刚我们提过了吧,在『同一个网段当中,各主机将可以直接进行资料沟通』对吧!假设在一个具有『共享媒体』的环境中,当我的计算机有资料要传送出来的时候,我就会在『同一个网段』的计算机传送一个讯息,说『喂!我有资料要送出来啰!你们停下来听一听,等我送出去之后你们再继续你们的工作!』呵呵!没错,这就是所谓的『硬件广播』方式传递啦!而如果您常常需要使用到『软件广播』时,那么这个netmask 假如是255.255.255.0 这个 C Class ,而我们依旧是使用192.168.0.0 这个东西当作例子的话,那么不难想象的到,我的封包要传送出去,就得向255 个计算机查询并等待响应,光是这个查询的时间可能就要造成这两百多部计算机停顿下来听你的封包的结果,唉~速度太慢了吧!!尤其是如果是 B Class 的环境呢?嘿嘿!就有255*255 部计算机要停顿下来监听你的需求.... 哇!这样怎么可能造成高效率的网络环境呢?!所以啰『网络布线模式(媒体共享与否)』与『netmask 的设定』就成了重要的课题了!这里请特别留意:network :同一个网段里面,HOSTID 都为零的地址;broadcast :同一个网段里面,HOSTID 都为 1 的地址!基本上,如果是便于记忆的话,您可以想象一下,network 就是同一网段的第一个IP 地址(因为hostid 都为0 ),Broadcast 则是最后一个IP 地址(因为hostid 都为 1 )。
《鸟哥的Linux私房菜基础学习篇第四版》读后感精选
《鸟哥的Linux私房菜基础学习篇第四版》读后感精选《鸟哥的Linux私房菜基础学习篇第四版》是一本由鸟哥著作,人民邮电出版社出版的平装图书,本书定价:118.00元,页数:796,特和精心从网络上整理的一些读者亲手的读后感,期望对大家能有帮助。
《鸟哥的Linux私房菜基础学习篇第四版》精选点评:●因为内容丰富,所以讲解稍嫌啰嗦,但是对于入门来说是很好的一本书,适合多看几遍,多上机练习。
●一般粗读超过一半细读,有些讲的确实太啰嗦了●读得人尿急●废话一大堆●全面严谨且新手友好,但废话真的太多了!!!●总算上了centos7,期待服务器版本●Linux入门,正好有些地方不太熟悉,看一下吧。
配合hackerrank上面的shell编程题稍微写要说。
写的比较友好,不像《UNIX环境高级编程》只适合当手册用。
这本书从最基本的原理入手,让读者先对要约请介绍的东东瞥见基本的概念,然后再逐步深入介绍,章节和章节之间联系密切,并且每章最后都有本章内容总结和练习题,能够帮助读者总结和回顾,并通过练习题帮助读者加深理解,真乃Linux入门的极品书也!ps 2021/3/3 内容太多太杂了,略去的时候再回头看~~●还行,好歹是新出的,废话还是比较多。
●很全面和细致●没有任何令人遗憾基础的是难能可贵看的,有一定了解的,可跳读,整体有些啰嗦。
在第三部分有关shell和正则表达,我个人看阐释其他的书籍反而比较好理解。
总有一种啰里啰唆还没有把话讲清楚的感觉,看着反而有些厌烦。
需要好好的静下心来每一个步骤都跟着操作才可能理清逻辑。
《鸟哥的Linux私房菜基础学习篇第四版》读后感(一):只有和实践结合起来,这本书才有意义从2021年1月15日到7月30日,花了将近7个月前的时间读完了这本1158页的pdf。
这本书我可看得挺慢,平均每个小时能看大概10页左右,想想偏偏在这本书上花了100多个小时呀。
书的内容有很大一部分是我日常工作其他工作中其经常会接触到的,有的我已经知道了读加深了印象,有的我还不知道读完开阔了见识。
鸟哥的linux私房菜答案
鸟哥的linux私房菜答案【篇一:鸟哥的linux私房菜-基础篇-学习总结】s=txt>6.1 用户与用户组的定义6.2 linux文件权限概念6.2.1 linux文件权限与属性1.一般权限1)对文件,r指用户可读取文件内容;w指用户可以编辑、新增、修改文件内容但不能删除文件;x指用户可以执行该文件。
2)对目录,r指用户可以查询目录结构(ls);w指用户可对目录下的文件删除、重命名、转移、新建等。
x指用户能进入该目录,使其成为工作目录2. 特殊权限1)setuid:(-rwsr-xr-x)使文件(仅可执行文件)在执行过程中,执行者拥有文件所有者的权限。
2) setgid:(rwxrwsr-x)对于文件,仅对可执行文件而言,在执行过程中,执行者拥有文件用户组的权限。
对于目录,用户需同时拥有r与x权限才能进入该目录,用户在此目录下的有效用户组变为该目录的用户组,用户在此目录下新建的文件的用户组与此目录的用户组相同。
3) sbit:(drwxrwxrwt)对于目录,目录下的文件或目录,只有文件/目录所有者和root能够进行删除动作。
4)特殊权限的设置:4 setuid、2 setgid、1 sbit(chmod 7777 filename)。
3. 隐藏权限1) chattr +(-)i filename:使文件不能被删除、改名、设置链接文件、写入或添加数据。
2) chattr +(-)a filename:使文件只能增加数据。
3)4. 默认权限1)文件初始默认权限为666,目录初始默认权限为777.umask设置默认权限,如umask为0022,则文件默认权限为644(rw-r—r--),目录默认权限为755(rwxrwxrwx).6.2.2如何改变文件和目录的权限与属性1. chgrp1) chgrp grpname file/dirname: 改变文件/目录的所属用户组2. chown1) chown ownname file/dirname:改变文件/目录的所属用户3. chmod1) chmod 777 file/dirname:改变文件/目录的所属用户的权限4. touch命令1) touch -d “2 days ago” filename:修改文件时间2) touch -t 0709150202 filename:修改文件时间3) touch filename:新建文件4) modification time (mtime):文件数据内容更改时间5) status time (ctime):文件权限属性更改时间6) access time (atime):文件读取时间6.3 linux目录配置6.3.1 linux目录配置标准fhs(filesystem hierarchy standard) fhs是一种目录规划标准。
鸟哥的Linux私房菜基础学习篇课后习题答案
鸟哥的Linux私房菜基础学习篇课后习题答案鸟哥的linux私房菜-基础学习篇课后习题答案第一篇:Linux的规划与安装一、什么是Linux1.一个完整的作业系统至少要能够完整的控制整个硬件,请问,作业系统应该要控制硬件的哪些单元?至少要能够控制:(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=1048576KBytes4.你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,您确定网络卡是好的,那么可能的问题出在哪里?该如何解决?因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel)不支持这张网络卡。
解决的方法,到网络卡的开发商网站,下载支援您主机作业系统的驱动程序,安装网络卡驱动程序后,就可以使用了。
5.我在一部主机上面安装Windows作业系统时,并且安装了显示卡的驱动程序,他是没有问题的。
但是安装Linux时,却无法完整的显示整个X Window。
请问,我可不可以将Windows上面的显示卡驱动程序拿来安装在Linux上?不行!因为核心不同,针对硬件所写的驱动程序也会不相同,编译器也不同,当然,驱动程序也无法在两个作业系统间兼容。
这也是为何开发商在他们的网站上面,都会同时提供许多不同作业系统的驱动程序之故。
6.我在Windows上面玩的游戏,可不可以拿到Linux去玩?当然不行!跟上一题相似的,因为游戏也是一个应用程序(application),他必须要使用到核心所提供的工具来开发他的游戏,所以这个游戏是不可在不同的平台间运作的。
鸟哥 linux的私房菜(基础篇) 答案转
转自:/
第0章 计算机概论 本章习题
•动动手实作题:假设你不知道你的主机内部的各项元件资料,请拆开你的主机机壳,并将内部所有的元件 拆开,并且依序列出: ◦CPU 的厂牌、型号、最高时脉; ◦主记忆体的容量、介面(DDR/DDR II 等); ◦显示卡的介面 (AGP/PCIe/内建) 与容量 ◦主机板的厂牌、南北桥的晶片型号、BIOS 的厂牌、有无内建的网卡或音效卡等 ◦硬碟的连接介面(IDE/SATA 等)、硬碟容量、转速、缓冲记忆体容量等。 然后再将他组装回去。注意,拆装前务必先取得你主机板的说明书,因此你可能必须要上网查询上述的各 项资料。
简答题部分: •你在你的主机上面安装了一张网路卡,但是开机之后,系统却无法使用,你确定网路卡是好的,那么可能 的问题出在哪里?该如何解决? 因为所有的硬体都没有问题,所以,可能出问题的地方在于系统的核心(内核)不支援这张网路卡。解决 的方法,(1)到网路卡的开发商网站,(2)下载支援你主机作业系统的驱动程式,(3)安装网路卡驱 动程式后,就可以使用了。 •我在一部主机上面安装的 Windows 作业系统时,并且安装了显示卡的驱动程式,他是没有问题的。但是 安装的 Linux 时,却无法完整的显示整个 X 窗口。请问,我可不可以将视窗上面的显示卡驱动程式拿来安 装在 Linux 的上? 不行!因为核心不同,针对硬体所写的驱动程式也会不相同,编译器也不同,当然,驱动程式也无法在两 个作业系统间相容。这也是为何开发商在他们的网站上面,都会同时提供许多不同作业系统的驱动程式之 故。 •一个作业系统至少要能够完整的控制整个硬体,请问,作业系统应该要控制硬体的哪些单元? 根据硬体的运作,以及资料在主机上面的运算情况与写入/读取情况,我们知道至少要能够控制:(1)输 入/输出 crontrol,(2)设备控制,(3)流程管理,( 4)文件管理。等等! •一个 GB 的的硬碟空间,等于几个千字节? 1GBytes = 1024 兆字节* 1024 千字节/兆字节= 1048576 千字节 •我在视窗上面玩的游戏,可不可以拿到 Linux 上去玩? 当然不行!因为游戏也是一个应用程式(应用程序),他必须要使用到核心所提供的工具来开发他的游戏, 所以这个游戏是不可在不同的平台间运作的。除非这个游戏已经进行了移植。 •Linux 的本身仅是一个核心与相关的核心工具而已,不过,他已经可以驱动所有的硬体,所以,可以算是 一个很阳春的作业系统了。经过其他应用程式的开发之后,被整合成为 Linux 的 distribitions 。请问众多的 分布之间,有何异同? 相同:(1)同样使用 所释出的核心,(2)支援同样的标准,如 FHS 标准,低位等; (3)使用几乎相同的自由软体(例如 GNU 的里面的海湾合作委员会/ glibc 的/六/阿帕奇/绑定/ sendmail 的...)(4)几乎相同的操作介面(例如均使用的 bash / KDE 的/ GNOME 的等等)。 不同:使用的内核与各软体的版本可能会不同,各开发商加入的应用工具不同,使用的套件管理模式不同 (dpkg 来与转) •Unix 的是谁写出来的?GNU 的计画是谁发起的? Unix 的是肯汤普森写的,1973 年再由丹尼斯里奇以ç语言改写成功。至于 FSF 的则是与 GNU 的理查德斯 托曼发起的。 •GNU 的的全名为何?他主要由那个基金会支持? GNU 的是 GNU 是不是 Unix 的简写,是个无穷回圈!另外,这个计画是由自由软体基金会(自由软件基 金会,简称 FSF)所支持的!两者都是由斯托曼先生所发起的! •何谓多人(多用户)多工(多任务)? 多用户指的是 Linux 的允许多人同时连上主机之外,每个使用者皆有其各人的使用环境,并且可以同时使 用系统的资源!
《鸟哥的linux私房菜(基础篇)》学习笔记
《鸟哥的linux私房菜(基础篇)》学习笔记----------李晶第一部分: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 及虚拟团队的产生。
鸟哥的私房菜架站文件习题解答
鸟哥的私房菜架站⽂件习题解答习题解答篇第4篇架站⽂件习题解答篇I、⽹络基础篇第1章架站之前所需的技能分析1.请简述架设⽹站前,应该具备何种基本技能?基本技能有:1.⾄少需要了解账号管理、⽂件属性与权限、程序与资源管理、硬盘挂载与软件包的安装,如RPM套件管理程序等,⽽vi与Shell也是不可忽略的基本技能,更重要的是,⽇志管理及系统服务的原理(如stand alone与super deamon服务启动的⽅式差异等)需要理清,以⽅便未来架设⽹站时进⾏除错;2.在⽹络基础知识上,TCP/IP的概念及路由概念相当重要,此外,DNS的概念也很重要。
3.在⼼态调整⽅⾯,系统管理员需要的道德意识及使命感要求较⾼。
2.如果我有⼀块硬盘在A主机上安装了Linux之后,拿到另⼀台配备相同的B主机上进⾏开机,结果竟然⽆法顺利开机,你认为可能的原因是什么?由于配备相同,所以排除硬件问题,不过,考虑到IDE数据线与分区代号及/etc/fstab 的对应,所以应该是由IDE插槽放置错误所致(Linux系统下,每个IDE插槽对应的分区名称皆不相同)。
此外,上次不正常关机也可能造成硬盘损害⽽⽆法开机成功!3.⼀般来说,在Linux系统上,⽤户默认的根⽬录在哪个⽬录下?另外,新增⼀个⽤户时,该⽤户默认的根⽬录内容来⾃哪个⽬录?在/etc/default/useradd⽂件⾥会规范⽤户的默认根⽬录及默认根⽬录的内容,⼀般来说,⽤户默认根⽬录为/home,⾄于根⽬录内的⽂件则复制来源在/etc/skel⾥。
4.磁盘配额(quota)能否针对某个特定⽬录进⾏限制?Quota有什么较特殊的使⽤限制?Quota⽬前仅能针对整个分区进⾏限额配置,如果该特定⽬录是⼀个分区,则可以进⾏quota设定,否则⽆法针对特定⽬录!此外,Quota除了特定⽬录及只能识别ext2、ext3等磁盘格式外,也需要核⼼的⽀持。
5.在Linux系统下,要寻找⼀个⽂件名为vbird.document的⽂件,可以使⽤什么指令?另外,如果要寻找在⼀天内更动过的⽂件,⼜该如何进⾏?如果是执⾏⽂件,可以使⽤which command来搜寻,如果是⽂件,就必须使⽤locate vbird.document或whereisvbird.document或find/-name vbird.document。
鸟哥的Linux私房菜_基础学习篇(第3版)
第0章计算机概论 10.1 计算机:辅助人脑的好工具20.1.1 计算机硬件的五大单元20.1.2 CPU的种类30.1.3 接口设备40.1.4 运作流程40.1.5 计算机分类50.1.6 计算机上面常用的计算单位(大小、速度等) 6 0.2 个人计算机架构与接口设备70.2.1 CPU 70.2.2 内存90.2.3 显卡110.2.4 硬盘与存储设备120.2.5 PCI适配卡140.2.6 主板150.2.7 电源160.2.8 选购须知160.3 数据表示方式170.3.1 数字系统170.3.2 文字编码系统180.4 软件程序运行180.4.1 机器程序与编译程序180.4.2 操作系统190.4.3 应用程序220.5 重点回顾220.6 本章习题230.7 参考数据与扩展阅读24第1章Linux是什么251.1 Linux是什么261.1.1 Linux是什么261.1.2 Linux之前UNIX的历史271.1.3 关于GNU项目321.2 Torvalds的Linux开发341.2.1 Minix 341.2.2 对386硬件的多任务测试351.2.3 初次释出Linux 0.02 361.2.4 Linux的开发:虚拟团队的产生371.2.5 Linux的内核版本381.2.6 Linux distributions 391.3 Linux的特色421.3.1 Linux的特色421.3.2 Linux的优缺点431.3.3 关于授权451.4 重点回顾461.5 本章习题461.6 参考数据与扩展阅读47第2章Linux如何学习482.1 Linux当前的应用角色492.1.1 企业环境的利用492.1.2 个人环境的使用502.2 鸟哥的Linux苦难经验回忆录512.2.1 鸟哥的Linux学习之路512.2.2 学习心态的分别532.2.3 X Window的学习542.3 有心向Linux操作系统学习者学习态度552.3.1 从头学习Linux基础562.3.2 选择一本易读的工具书572.3.3 实践再实践572.3.4 发生问题怎么处理.. 582.4 鸟哥的建议(重点在Solution的学习) 592.5 重点回顾602.6 本章习题612.7 参考数据与扩展阅读61第3章主机规划与磁盘分区623.1 Linux与硬件的搭配633.1.1 认识计算机的硬件配置633.1.2 选择与Linux搭配的主机配置643.1.3 各硬件设备在Linux中的文件名663.2 磁盘分区673.2.1 磁盘连接的方式与设备文件名的关系673.2.2 磁盘的组成复习683.2.3 磁盘分区表(partition table) 693.2.4 开机流程与主引导分区(MBR) 723.2.5 Linux安装模式下,磁盘分区的选择(极重要) 74 3.3 安装Linux前的规划763.3.1 选择适当的distribution 763.3.2 主机的服务规划与硬件的关系773.3.3 主机硬盘的主要规划793.3.4 鸟哥说:关于练习机的安装建议803.3.5 鸟哥的两个实际案例803.3.6 大硬盘配合旧主机造成的无法开机问题81 3.4 重点回顾823.5 本章习题823.6 参考数据与扩展阅读82第4章安装CentOS 5.x与多重引导小技巧834.1 本练习机的规划(尤其是分区参数) 844.2 开始安装CentOS 5 854.2.1 调整启动媒体(BIOS) 864.2.2 选择安装结构与开机874.2.3 选择语系数据894.2.4 磁盘分区904.2.5 引导装载程序、网络、时区设置与root密码954.2.6 软件选择984.2.7 其他功能:RAM testing、安装笔记本电脑的内核参数(Option) 99 4.3 安装后的首次设置1004.4 多重引导安装流程与技巧1044.4.1 新主机仅有一块硬盘1044.4.2 旧主机有两块以上硬盘1054.4.3 旧主机只有一块硬盘1054.5 关于大硬盘导致无法开机的问题1064.6 重点回顾1064.7 本章习题1074.8 参考数据与扩展阅读107第5章首次登录与在线求助man page 1085.1 首次登录系统1095.1.1 首次登录CentOS 5.x图形界面1095.1.2 GNOME的操作与注销1105.1.3 KDE的操作与注销1135.1.4 X Window与命令行模式的切换1155.1.5 在终端界面登录linux 1165.2 在命令行模式下执行命令1175.2.1 开始执行命令1175.2.2 基础命令的操作1185.2.3 重要的热键, -c, -d 1215.2.4 错误信息的查看1225.3 Linux系统的在线求助man page与info page 1225.3.1 man page 1235.3.2 info page 1275.3.3 其他有用的文件(documents) 1295.4 超简单文本编辑器:nano 1305.5 正确的关机方法1315.5.1 数据同步写入磁盘:sync 1325.5.2 惯用的关机命令:shutdown 1325.5.3 重启、关机:reboot, halt, poweroff 1335.5.4 切换执行等级:init 1335.6 开机过程的问题排解1345.6.1 文件系统错误的问题1345.6.2 忘记root密码1355.7 重点回顾1365.8 本章习题1365.9 参考数据与扩展阅读137第二部分Linux文件、目录与磁盘格式第6章Linux的文件权限与目录配置1386.1 用户与用户组1396.2 Linux文件权限概念1406.2.1 Linux文件属性1416.2.2 如何改变文件属性与权限1446.2.3 目录与文件的权限意义1476.2.4 Linux文件种类与扩展名1506.3 Linux目录配置1526.3.1 Linux目录配置标准:FHS 1526.3.2 目录树(directory tree) 1566.3.3 路径与相对路径1586.3.4 CentOS的查看1596.4 重点回顾1596.5 本章练习1606.6 参考数据与扩展阅读160第7章Linux文件与目录管理1617.1 目录与路径1627.1.1 相对路径与路径1627.1.2 目录的相关操作1627.1.3 关于执行文件路径的变量:$PATH 165 7.2 文件与目录管理1677.2.1 查看文件与目录:ls 1677.2.2 复制、删除与移动:cp, rm, mv 1697.2.3 取得路径的文件名与目录名称1737.3 文件内容查阅1737.3.1 直接查看文件内容1737.3.2 可翻页查看1757.3.3 数据选取1767.3.4 非纯文本文件:od 1777.3.5 修改文件时间或创建新文件:touch 178 7.4 文件与目录的默认权限与隐藏权限180 7.4.1 文件默认权限:umask 1817.4.2 文件隐藏属性:chattr, lsattr 1837.4.3 文件特殊权限:SUID, SGID, SBIT 184 7.4.4 查看文件类型:file 1877.5 命令与文件的查询1877.5.1 脚本文件名的查询1877.5.2 文件名的查找1887.6 权限与命令间的关系(极重要) 1927.7 重点回顾1937.8 本章习题1947.9 参考数据与扩展阅读195第8章Linux磁盘与文件系统管理1968.1 认识EXT2文件系统1978.1.1 硬盘组成与分区的复习1978.1.2 文件系统特性1978.1.3 Linux的EXT2文件系统(inode) 1998.1.4 与目录树的关系2048.1.5 EXT2/EXT3文件的访问与日志文件系统的功能206 8.1.6 Linux文件系统的操作2088.1.7 挂载点(mount point)的意义2088.1.8 其他Linux支持的文件系统与VFS 2098.2 文件系统的简单操作2108.2.1 磁盘与目录的容量:df, du 2108.2.2 连接文件:ln 2138.3 磁盘的分区、格式化、检验与挂载2178.3.1 磁盘分区:fdisk 2178.3.2 磁盘格式化2238.3.3 磁盘检验:fsck, badblocks 2258.3.4 磁盘挂载与卸载2268.3.5 磁盘参数修改2318.4 设置开机挂载2348.4.1 开机挂载/etc/fstab及/etc/mtab 2348.4.2 特殊设备loop挂载(镜像文件不刻录就挂载使用) 236 8.5 内存交换空间(swap)的构建2388.5.1 使用物理分区构建swap 2388.5.2 使用文件构建swap 2408.5.3 swap使用上的限制2418.6 文件系统的特殊查看与操作2418.6.1 boot sector与superblock的关系2418.6.2 磁盘空间的浪费问题2438.6.3 利用GNU的parted进行分区行为2438.7 重点回顾2458.8 本章习题2458.9 参考数据与扩展阅读246第9章文件与文件系统的压缩与打包2489.1 压缩文件的用途与技术2499.2 Linux系统常见的压缩命令2509.2.1 Compress 2509.2.2 gzip, zcat 2529.2.3 bzip2, bzcat 2539.3 打包命令:tar 2539.3.1 tar 2549.4 完整备份工具:dump 2599.4.1 dump 2599.4.2 restore 2629.5 光盘写入工具2659.5.1 mkisofs:新建镜像文件2659.5.2 Cdrecord:光盘刻录工具2679.6 其他常见的压缩与备份工具2699.6.1 dd 2699.6.2 Cpio 2709.7 重点回顾2729.8 本章习题2729.9 参考数据与扩展阅读273第三部分学习shell与shell script第10章vim程序编辑器27410.1 vi与vim 27510.1.1 为何要学vim 27510.2 vi的使用27610.2.1 简单执行范例27710.2.2 按键说明27810.2.3 一个案例练习28110.2.4 vim的保存文件、恢复与打开时的警告信息28210.3 vim的功能28410.3.1 块选择(Visual Block) 28510.3.2 多文件编辑28610.3.3 多窗口功能28610.3.4 vim环境设置与记录:~/.vimrc, ~/.viminfo 28710.3.5 vim常用命令示意图28910.4 其他vim使用注意事项28910.4.1 中文编码的问题28910.4.2 DOS与Linux的断行字符29010.4.3 语系编码转换29010.5 重点回顾29110.6 本章练习29110.7 参考数据与扩展阅读292第11章认识与学习bash 29311.1 认识bash这个shell 29411.1.1 硬件、内核与shell 29411.1.2 为何要学命令行界面的shell 29511.1.3 系统的合法shell与/etc/shells功能29511.1.4 bash shell的功能29611.1.5 bash shell的内置命令:type 29811.1.6 命令的执行29811.2 shell的变量功能29911.2.1 什么是变量29911.2.2 变量的显示与设置:echo, unset 30011.2.3 环境变量的功能30411.2.4 影响显示结果的语系变量(locale) 30811.2.5 变量的有效范围30911.2.6 变量键盘读取、数组与声明:read,array,declare 31011.2.7 与文件系统及程序的限制关系:ulimit 31211.2.8 变量内容的删除、替代与替换31311.3 命令别名与历史命令31711.3.1 命令别名设置:alias,unalias 31711.3.2 历史命令:history 31811.4 Bash Shell的操作环境32011.4.1 路径与命令查找顺序32011.4.2 bash的登录与欢迎信息:/etc/issue, /etc/motd 320 11.4.3 bash 的环境配置文件32111.4.4 终端机的环境设置:stty, set 32511.4.5 通配符与特殊符号32711.5 数据流重定向32811.5.1 什么是数据流重定向32911.5.2 命令执行的判断依据:;,&&, || 33111.6 管道命令(pipe) 33411.6.1 选取命令:cut, grep 33411.6.2 排序命令:sort,wc,uniq 33611.6.3 双向重定向:tee 33811.6.4 字符转换命令:tr,col,join,paste,expand 338 11.6.5 切割命令:split 34211.6.6 参数代换:xargs 34211.6.7 关于减号-的用途34311.7 重点回顾34411.8 本章习题34411.9 参考数据与扩展阅读345第12章正则表达式与文件格式化处理34612.1 前言:什么是正则表达式34712.1.1 什么是正则表达式34712.1.2 正则表达式对于系统管理员的用途34712.1.3 正则表达式的广泛用途34812.1.4 正则表达式与Shell在Linux当中的角色定位348 12.1.5 扩展的正则表达式34812.2 基础正则表达式34812.2.1 语系对正则表达式的影响34912.2.2 grep的一些高级参数34912.2.3 基础正则表达式练习35012.2.4 基础正则表达式字符(characters) 35612.2.5 sed工具35712.3 扩展正则表达式36112.4 文件的格式化与相关处理36212.4.1 格式化打印:printf 36212.4.2 awk:好用的数据处理工具36312.4.3 文件比较工具36612.4.4 文件打印准备:pr 36912.5 重点回顾36912.6 本章习题37012.7 参考数据与扩展阅读371第13章学习shell script 37213.1 什么是shell script 37313.1.1 为什么学习shell script 37313.1.2 个script的编写与执行37413.1.3 编写shell script的良好习惯37613.2 简单的shell script练习37613.2.1 简单范例37713.2.2 script的执行方式区别(source, shscript, ./script) 37813.3 善用判断式37913.3.1 利用test命令的测试功能38013.3.2 利用判断符号[] 38213.3.3 shell script的默认变量($0, $1...) 38313.4 条件判断式38513.4.1 利用if...then 38513.4.2 利用case...esac判断38913.4.3 利用function功能39113.5 循环(loop) 39313.5.1 while do done, until do done(不定循环) 39313.5.2 for...do...done(固定循环) 39413.5.3 for...do...done的数值处理39613.6 shell script的追踪与调试39713.7 重点回顾39813.8 本章习题39813.9 参考数据与扩展阅读399第四部分Linux使用者管理第14章Linux账号管理与ACL权限设置40014.1 Linux的账号与用户组40114.1.1 用户标识符:UID与GID 40114.1.2 用户账号40214.1.3 有效与初始用户组:groups, newgrp 40614.2 账号管理40914.2.1 新增与删除用户:useradd, 相关配置文件, passwd, usermod, userdel 409 14.2.2 用户功能41714.2.3 新增与删除用户组42014.2.4 账号管理实例42214.3 主机的具体权限规划:ACL的使用42314.3.1 什么是ACL 42314.3.2 如何启动ACL 42314.3.3 ACL的设置技巧:getfacl, setfacl 42414.4 用户身份切换42714.4.1 su 42814.4.2 sudo 42914.5 用户的特殊shell与PAM模块43314.5.1 特殊的shell, /sbin/nologin 43314.5.2 PAM模块简介43414.5.3 PAM模块设置语法43514.5.4 常用模块简介43714.5.5 其他相关文件43914.6 Linux主机上的用户信息传递44014.6.1 查询用户:w, who, last, lastlog 44014.6.2 用户对谈:write, mesg, wall 44114.6.3 用户邮件信箱:mail 44114.7 手动新增用户44314.7.1 一些检查工具44314.7.2 特殊账号(如纯数字账号)的手工新建44414.7.3 批量新建账号模板(适用于passwd --stdin参数) 44514.7.4 批量新建账号的范例(适用于连续数字,如学号) 446 14.8 重点回顾44814.9 本章习题44914.10 参考数据与扩展阅读450第15章磁盘配额(Quota)与高级文件系统管理45115.1 磁盘配额(Quota)的应用与实践45215.1.1 什么是Quota 45215.1.2 一个Quota范例45415.1.3 实践Quota流程1:文件系统支持45415.1.4 实践Quota流程2:新建Quota配置文件45515.1.5 实践Quota流程3:Quota启动、关闭与限制值设置456 15.1.6 实践Quota流程4:Quota限制值的报表45815.1.7 实践Quota流程5:测试与管理45915.1.8 不改动既有系统的Quota实例46215.2 软件磁盘阵列(Software RAID) 46315.2.1 什么是RAID 46315.2.2 software, hardware RAID 46615.2.3 软件磁盘阵列的设置46715.2.4 仿真RAID错误的救援模式47015.2.5 开机自动启动RAID 并自动挂载47215.2.6 关闭软件RAID(重要!) 47215.3 逻辑卷管理器(Logical V olume Manager) 47315.3.1 什么是LVM:PV, PE, VG, LV的意义47315.3.2 LVM实作流程47515.3.3 放大LV容量47915.3.4 缩小LV容量48115.3.5 LVM的系统快照48315.3.6 LVM相关命令汇整与LVM的关闭48815.4 重点回顾48915.5 本章习题48915.6 参考数据与扩展阅读491第16章例行性工作(crontab) 49216.1 什么是例行性工作49316.1.1 Linux工作调度的种类:at, cron 49316.1.2 Linux上常见的例行性工作49316.2 仅执行一次的工作调度49416.2.1 atd的启动与at运行的方式49416.2.2 实际运行单一工作调度49516.3 循环执行的例行性工作调度49816.3.1 用户的设置49816.3.2 系统的配置文件:/etc/crontab 50016.3.3 一些注意事项50116.4 可唤醒停机期间的工作任务50216.4.1 什么是anacron 50316.4.2 anacron与/etc/anacrontab 50316.5 重点回顾50416.6 本章习题505第17章程序管理与SELinux初探50617.1 什么是进程(process) 50717.1.1 进程与程序(process & program) 50717.1.2 Linux的多用户、多任务环境50917.2 工作管理(job control) 51117.2.1 什么是工作管理51117.2.2 job control的管理51117.2.3 脱机管理问题51517.3 进程管理51517.3.1 进程的查看51617.3.2 进程的管理52117.3.3 关于进程的执行顺序52317.3.4 系统资源的查看52517.4 特殊文件与程序53017.4.1 具有SUID/SGID权限的命令执行状态530 17.4.2 /proc/* 代表的意义53117.4.3 查询已打开文件或已执行程序打开的文件532 17.5 SELinux初探53417.5.1 什么是SELinux 53417.5.2 SELinux的运行模式53617.5.3 SELinux的启动、关闭与查看53817.5.4 SELinux网络服务运行范例54017.5.5 SELinux所需的服务54217.5.6 SELinux的策略与规则管理54417.6 重点回顾54717.7 本章习题54817.8 参考数据与扩展阅读550第18章认识系统服务(daemons) 55118.1 什么是daemon与服务(service) 55218.1.1 daemon的主要分类55218.1.2 服务与端口的对应55418.1.3 daemon的启动脚本与启动方式55518.2 解析super daemon的配置文件55818.2.1 默认值配置文件:xid.conf 55818.2.2 一个简单的rsync范例设置56118.3 服务的防火墙管理xid, TCP Wrappers 56218.3.1 /etc/hosts.allow, /etc/hosts.deny管理56318.3.2 TCP Wrappers特殊功能56518.4 系统开启的服务56518.4.1 查看系统启动的服务56618.4.2 设置开机后立即启动服务的方法56618.4.3 CentOS 5.x默认启动的服务简易说明56918.5 重点回顾57218.6 本章习题57318.7 参考数据与扩展阅读574第19章认识与分析日志文件57519.1 什么是日志文件57619.2 syslogd:记录日志文件的服务57819.2.1 日志文件内容的一般格式57819.2.2 syslog的配置文件:/etc/syslog.conf 57919.2.3 日志文件的安全性设置58319.2.4 日志文件服务器的设置58419.3 日志文件的轮替(logrotate) 58519.3.1 logrotate的配置文件58619.3.2 实际测试logrotate的操作58819.3.3 自定义日志文件的轮替功能58919.4 分析日志文件59019.4.1 CentOS默认提供的logwatch 59019.4.2 鸟哥自己写的日志文件分析工具59119.5 重点回顾59319.6 本章习题59419.7 参考数据与扩展阅读594第五部分Linux系统管理员第20章启动流程、模块管理与Loader 59520.1 Linux的启动流程分析59620.1.1 启动流程一览59620.1.2 BIOS,boot loader与kernel加载59620.1.3 个进程init及配置文件/etc/inittab与runlevel 60120.1.4 init处理系统初始化流程(/etc/rc.d/rc.sysinit) 60320.1.5 启动系统服务与相关启动配置文件(/etc/rc.d/rc N &/etc/sysconfig) 60420.1.6 用户自定义开机启动程序(/etc/rc.d/rc.local) 60520.1.7 根据/etc/inittab的设置加载终端机或X Window界面605 20.1.8 启动过程会用到的主要配置文件60620.1.9 Run level的切换60720.2 内核与内核模块60820.2.1 内核模块与依赖性60820.2.2 内核模块的查看60920.2.3 内核模块的加载与删除61020.2.4 内核模块的额外参数设置:/etc/modprobe.conf 61120.3 Boot Loader: Grub 61120.3.1 boot loader的两个stage 61120.3.2 grub的配置文件/boot/grub/menu.lst与菜单类型612 20.3.3 initrd的重要性与创建新initrd文件61620.3.4 测试与安装grub 61720.3.5 启动前的额外功能修改62020.3.6 关于内核功能当中的vga设置62120.3.7 BIOS无法读取大硬盘的问题62220.3.8 为某个菜单加上密码62320.4 启动过程的问题解决62420.4.1 忘记root密码的解决之道62420.4.2 init配置文件错误62520.4.3 BIOS磁盘对应的问题(device.map) 62520.4.4 因文件系统错误而无法启动62620.4.5 利用chroot切换到另一块硬盘工作62620.5 重点回顾62720.6 本章习题62720.7 参考数据与扩展阅读628第21章系统设置工具(网络与打印机)与硬件检测62921.1 CentOS系统设置工具:setup 63021.1.1 用户身份验证设置63121.1.2 网络配置选项(手动设置IP与自动获取) 63221.1.3 防火墙设置63321.1.4 键盘形式设置63421.1.5 系统服务的启动与否设置63521.1.6 系统时钟的时区设置63521.1.7 X窗口界面分辨率设置63521.2 利用CUPS设置Linux打印机63621.2.1 Linux的打印组件(打印操作、队列、服务与打印机) 636 21.2.2 CUPS支持的联机模式63921.2.3 以Web界面管理网络打印机64021.2.4 以Web界面管理USB本地打印机64321.2.5 将Linux本地打印机开放成为网络打印机64421.2.6 手动设置打印机64521.3 硬件数据收集与驱动及lm_sensors 64921.3.1 硬件信息的收集与分析64921.3.2 驱动USB设备65121.3.3 使用lm_sensors取得温度、电压等信息65321.3.4 udev与hal简介65521.4 重点回顾65621.5 本章习题65721.6 参考数据与扩展阅读657第22章软件安装:源码与Tarball 65822.1 开放源码的软件安装与升级简介65922.1.1 什么是开放源码、编译程序与可执行文件65922.1.2 什么是函数库66022.1.3 什么是make与configure 66122.1.4 什么是Tarball的软件66222.1.5 如何安装与升级软件66222.2 使用传统程序语言进行编译的简单范例66322.2.1 单一程序:打印Hello World 66322.2.2 主程序、子程序链接:子程序的编译66522.2.3 调用外部函数库:加入链接的函数库66622.2.4 gcc的简易用法(编译、参数与链接) 66722.3 用make进行宏编译66722.3.1 为什么要用make 66722.3.2 makefile的基本语法与变量66822.4 Tarball的管理与建议67022.4.1 使用源码管理软件所需要的基础软件67122.4.2 Tarball安装的基本步骤67122.4.3 一般Tarball软件安装的建议事项(如何删除、升级) 673 22.4.4 一个简单的范例(利用ntp来示范) 67422.4.5 利用patch更新源码67522.5 函数库管理67722.5.1 动态与静态函数库67722.5.2 ldconfig与/etc/ld.so.conf 67822.5.3 程序的动态函数库解析:ldd 67922.6 检验软件正确性68022.7 重点回顾68222.8 本章习题68222.9 参考数据与扩展阅读683第23章软件安装:RPM、SRPM与YUM功能68423.1 软件管理器简介68523.1.1 Linux界的两大主流:RPM与DPKG 68523.1.2 什么是RPM与SRPM 68623.1.3 什么是i386、i586、i686、noarch、x86_64 68723.1.4 RPM的优点68823.1.5 RPM属性依赖的解决方式:YUM在线升级68923.2 RPM软件管理程序:rpm 69023.2.1 RPM默认安装的路径69023.2.2 RPM安装(install) 69023.2.3 RPM升级与更新(upgrade/freshen) 69223.2.4 RPM查询(query) 69223.2.5 RPM验证与数字证书(Verify/Signature) 69423.2.6 卸载RPM与重建数据库(erase/rebuilddb) 69723.3 SRPM的使用:rpmbuild 69723.3.1 利用默认值安装SRPM文件(--rebuid/--repile) 69823.3.2 SRPM使用的路径与需要的软件69823.3.3 设置文件的主要内容(*.spec) 69923.3.4 SRPM的编译命令(-ba/-bb) 70323.3.5 一个打包自己软件的范例70323.4 YUM在线升级机制70523.4.1 利用yum进行查询、安装、升级与删除功能70523.4.2 yum的设置文件70923.4.3 yum的软件组功能71023.4.4 全系统自动升级71123.5 管理的抉择:RPM还是Tarball 71123.6 重点回顾71223.7 本章习题71323.8 参考数据与扩展阅读714第24章X Window设置介绍71524.1 什么是X Window System 71624.1.1 X Window的发展简史71624.1.2 主要组件:X Server/X Client/Window Manager/DisplayManager 717 24.1.3 X Window的启动流程71924.1.4 X启动流程测试72224.1.5 我是否需要启用X Window System 72324.2 X Server设置文件解析与设置72424.2.1 解析xorg.conf设置72424.2.2 X Font Server(XFS)与加入其他中文字体72724.2.3 设置文件重建与显示器参数微调72924.3 显卡驱动程序安装范例73024.3.1 NVidia 73024.3.2 ATI (AMD) 73224.3.3 Intel 73324.4 重点回顾73324.5 本章习题73424.6 参考数据与扩展阅读734第25章Linux备份策略73525.1 备份要点73625.1.1 备份资料的考虑73625.1.2 备份哪些Linux数据73725.1.3 选择备份设备73825.2 备份的种类、频率与工具的选择74025.2.1 完整备份的增量备份(Incremental backup) 740 25.2.2 完整备份的差异备份(differential backup) 742 25.2.3 关键数据备份74325.3 鸟哥的备份策略74325.3.1 每周系统备份的script 74425.3.2 每日备份数据的script 74525.3.3 远程备份的script 74625.4 灾难恢复的考虑74725.5 重点回顾74725.6 本章习题74825.7 参考数据与扩展阅读748第26章Linux内核编译与管理74926.1 编译前的任务:认识内核与取得内核源代码750 26.1.1 什么是内核(Kernel) 75026.1.2 更新内核的目的75126.1.3 内核的版本75226.1.4 内核源代码的取得方式75326.1.5 内核源代码的解压缩/安装/观察75426.2 内核编译的前处理与内核功能选择75526.2.1 硬件环境查看与内核功能要求75526.2.2 保持干净源代码:make mrproper 75526.2.3 开始挑选内核功能:make XXconfig 756 26.2.4 内核功能细项选择75726.3 内核的编译与安装76826.3.1 编译内核与内核模块76826.3.2 实际安装模块76926.3.3 开始安装新内核与多重内核菜单(grub) 770 26.4 额外(单一)内核模块编译77126.4.1 编译前注意事项77126.4.2 单一模块编译77226.4.3 内核模块管理77326.5 重点回顾77326.6 本章习题77326.7 参考数据与扩展阅读774一些基础的Linux 问题附录A:GNU 的GPL 条文version 2附录B:EXT2 / EXT3 文件系统一个简单的SPFdisk 分割实例。
鸟哥的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_v2.0
习题解答第三章黑盒测试及其用例1、NextDate函数(P28)请使用等价类划分法为NextDate函数列出输入域等价类表,并设计相应的测试用例。
解答:NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。
要求输入变量month、day和year均为整数值,并且满足下列条件:条件1 1≤month ≤12条件2 1≤day ≤31条件3 1912≤year ≤2050分析程序规格说明中给出和隐含的对输入条件的要求。
列出等价类表*年份:闰年、非闰年(1912≤year ≤2050)*月份:1-12月*天数:1、3、5、7、8、10、12(31天),4、6、9、11(30天),2(28或29)等价类表2、找零钱最佳组合(P47)假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
解答:根据等价类划分法和边界值分析法的基本定义,得到下列基本认识:Step1.输入:商品价格R和顾客付款P有以下情况:R > 100 0 < R < = 100 R <= 0 P > 100 R<= P <= 100 P < RStep2.输出:N50 = 1 N50 = 0 4 > N10 >= 1 N10 = 0 N5 = 1 N5 = 0 4 > N1 >= 1 N1 = 0 Step3.分析规格中每一决策点之情形,以RR1, RR2, RR3 表示计算要找50, 10, 5 元货币数时之剩余金额。
R > 100R <= 0 P > 100 P < R RR1 >= 50 RR2 >= 10 RR3 >= 5Step4. 由上述之输入/ 输出条件组合出可能的情形。
鸟哥的 Linux 私房菜 -- 基础网络概念
since2012/04/232.1 网络是个什么玩意儿全世界的人种有很多,人类使用的语言种类也多的很。
那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲2.1.1 什么是网络2.1.2 计算机网络组成组件图 2.11、计算机网络联机示意图2.1.3 计算机网络区域范围2.1.4 计算机网络协议: OSI 七层协定图 2.12、OSI 七层协议各阶层的相关性依据定义来说,越接近硬件的阶层为底层 (layer 1),越接近应用程序的则是高层 (layer 7)。
图 2.13、OSI 七层协议数据的传递方式上图中仔细看每个数据报的部分,上层的包裹是放入下层的数据中,而数据前面则是这个数据的表头。
其中比较特殊的是第2.1.5 计算机网络协议: TCP/IP图 2.14、OSI 与 TCP/IP 协议之相关性2.2 TCP/IP 的链结层相关协议TCP/IP2.2.1 广域网使用的设备2.2.2 局域网络使用的设备-以太网络图 2.21、RJ45 接头示意图2.2.3 以太网络的传输协议:CSMA/CD图 2.22、CSMA/CD联机示意图,由 A 发送资料给 D 时,注意箭头方向集线器是一种网络共享媒体,什么是网络共享媒体啊?想象一下上述的环境就像一个十字路口,而集线器就是那个路口!2.2.4 MAC 的封装格式图 2.23、以太网络的 MAC 讯框图 2.24、同一讯框在不同网域的主机间传送时,讯框的表头变化2.2.5 MTU 最大传输单位2.2.6 集线器、交换器与相关机制图 2.25、交换器每个埠口的带宽使用示意图传送到 C 都独自拥有 10/100Mbps 的带宽,两边并不会互相影响! 不过,如果是图 2.26、结构化布线简易图标2.3 TCP/IP 的网络层相关封包与数据我们现在知道要有网络的话,必须要有网络相关的硬件,而目前最常见的网络硬件接口为以太网络,包括网络线、网络卡、2.3.1 IP 封包的封装2.3.2 IP 地址的组成与分级2.3.3 IP 的种类与取得方式2.3.4 Netmask, 子网与 CIDR (Classless Interdomain Routing)2.3.5 路由概念图 2.32、简易的路由示意图Network A(192.168.0.0/24) 与 Network B(192.168.1.0/24) 是不同网段,所以 PC01 与 PC11 是不能直接互通数据的。
第9章习题参考答案
第9章习题参考答案第9章习题解答1.思考题(1)VB对象的3要素是指什么?它们的作用是什么?答:对象的属性、方法、事件就称为对象的三要素。
1)属性属性描述对象的性质或特征,即该对象是什么样的。
2)方法方法反映对象的行为,即该对象会干什么。
3)事件事件指明对象在什么条件下发生什么事情,即在什么条件下执行哪段代码。
(2)什么是变量的作用域?作用域有哪些类型?什么是变量的生存期?生存期有哪些类型?答:1)变量的作用域是指变量的有效范围。
2)根据作用域,变量可分为局部变量、窗体级变量、模块级变量、全局变量。
局部变量:在过程体内部定义,其作用域是从定义起到所在语句块或过程结束为止的局部范围,其他地方不能使用。
窗体级变量:是在窗体代码的通用声明区用Dim或Private关键字定义的变量,它不属于该窗体的任何过程,可以被本窗体内的所有过程访问,而不能为其他窗体或模块使用。
窗体级变量与窗体的生存期一样,只要窗体不消失,它就不消失。
模块级变量:与窗体级变量同级别,它是在模块的“通用声明”区用Dim或Private关键字定义的变量。
它不属于该模块的任何过程,可以被本模块内的所有过程访问,而不能用在其他模块或窗体中。
全局变量:是在窗体或模块的通用声明区用Public关键字进行定义的变量,它在整个工程的所有过程中均可使用,且在应用程序运行过程中一直存在。
3)变量的生存期表示它可以存储值的时间周期。
在生存期内变量的值可以更改,但变量总是存储某些值。
即指在程序执行的动态过程中,变量在哪个阶段是存在的。
4)局部变量根据生存期分为动态局部变量和静态局部变量,两者的区别是:(a)动态局部变量的生存期是:程序执行到定义该变量的Dim语句时,在内存建立起该变量,此时该变量“诞生”了;程序继续往下执行到该变量所在的程序块(或过程)结束时,该变量“死亡”,其代表的值也不复存在。
如果该变量所在过程再次执行,再次执行到定义该变量的Dim语句则一个新的变量“诞生”,与上次已“死亡”的同名的变量毫无关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 Linux是什么与如何学习Linux1. 一台机器是否能够正常工作,需要通过“核心”进行管理,因此,“核心”可以说是一台机器能否正常运转的主要部件。
这个“核心”就是所谓的“操作系统”最底层的组件,它负责操作系统与“硬件”之间的沟通,我们要利用操作系统来使硬件正常地工作,也需要通过“核心”来帮忙转译。
所谓的“操作系统”则是构建在核心之上,加入了许多功能与对象,好让用户能够更加轻易地管理核心来操纵硬件工作。
“用户”、“用户操作界面”、“核心”、“硬件”之间的相关性如同前面图1-1.1所示。
2. Linux是芬兰人Linus Torvalds先生编写出来的一个小核心操作系统,由于该操作系统是依据Unix的核心修改而来,因此这个操作系统继承了Unix的良好传统:稳定性高、多用户多任务环境设计优良、配备要求较低等优点。
不过,Linux其实就是一个“核心”,这个“核心”是管理与操纵硬件正确工作的主要功能。
目前我们提到的Linux不论是由何家公司开发出来,都是使用所发布的Linux 核心。
3. 如同第2题提到的,Linux其实就是一个“核心”,而各开发商依据这个核心的功能,安置了各式各样的服务器与桌面程序,以构成可以完整安装在个人计算机的光盘发布版本,这就是各版本的来源(distribution),所以,各个发行版本的服务器与桌面程序或许有些不同,但是基本的文件架构、BASH Shell及基本操作系统与接口都是相同的,因为,它们都是使用提供的核心来开发的。
4. 目前各大版本的Linux大致上仍依附在GPL这个授权码之上,因此在网络上可以轻易下载,若有兴趣,可以到各开发厂商的主页下载,各大开发厂商的主页在第1.3节中已经给出。
本书还提供了Mandrake 9.2版本的Linux完整安装光盘。
5. 如同第1.5节中提到的,首先,由屏幕提供的信息来除错,如果屏幕上面的信息不足以让您了解问题的所在,那么到网络上搜寻关键词,应该可以找到很多支持,此外,到讨论区或各大专院校的BBS上的精华区看看,都可以得到相当多的支持。
6. 请参考本书第1.6节的内容。
附录 习题解答第2章 Linux 主机规划1. Linux 对于硬件的要求因服务种类、服务范围及主机的角色而定。
例如一台专门用来进行运算数值解析的Linux 工作站,需要比较强大的CPU 与足够的RAM 进行工作,至于一般家用的仅用来作为ADSL 宽带路由器的Linux 主机,则只要586等级的计算机,甚至486系列就可以了。
2. 依据第1题的答案,我们知道Linux 对于硬件的要求是因地制宜的,所以,进行Linux的安装之前,一定要规划Linux 主机的定位与角色。
因此,Linux 的主机是否开放网络服务,这台主机的未来规划中是否需要进行大量的运算,这台主机是否需要提供很大的硬盘容量来服务客户端,这台主机预计开放的网络服务内容,等等,都需要提前考虑,尤其是未来的套件选择安装更需要依据这些规划来设定。
3. 请依据您的系统回答本题。
4. 如下。
IDE 硬盘:/dev/hd[a-d]光驱:/dev/cdrom 打印机:/dev/lp[0-2] 软驱:/dev/fd[0-1] 网卡:/dev/eth[0-n]第3章 Linux 安装与多重开机技巧1. 请依照本文内容进行您的规划。
2. 根目录“/”与swap 。
3. 最多可以有4个,其中extended 最多只能有一个!4. /dev/hdc55. Swap 可以简单地想成是虚拟内存,通常它的建议大小为RAM 的两倍,但是实际上还是得视您的主机规格配备与用途而定。
6. 不行!因为最多只有4个Primary 的磁盘分割槽,且由于没有Extended ,所以自然不能再使用Logical 分割。
第4章 开机、关机、在线求助与指令输入1. 共有6个,tty1~tty6,切换的方式为Crtl + Alt + [F1]~[F7],其中,[F7]用于切换到图形界面。
2. 两者为不同的文件,因为大小写不一样。
3. 最简单的方式就是使用man date 或info date ,如果该套件有完整说明,那么应该也可以在/usr/share/doc 中找到说明文档。
附 录4. shutdown –h 1:305. /etc/man.config 。
有的版本会定义为/etc/man.conf 。
6. 最简单的方式是直接使用cal 5 2003,即可找出2003年5月的月历。
7. date +%Y/%m/%d-%H:%M第5章 Linux 文件权限与目录配置1. 255个字符2. 任何人皆可读、可写、可执行。
3. chmod 754 filename 或chmod u=rwx,g=rx,o=r filename4. chown ,chgrp5. Ext2,Journaling ,ext3及Reiserfs 等6. /etc/:系统的所有设定文件几乎都在此,尤其passwd ,shadow/etc/rc.d/init.d :系统启动时加载服务的脚本文件的存放地点/boot :启动配置文件,也是预设存放核心vmlinuz 的地方/usr/bin ,/bin :用于存放一般执行文件的地方/usr/sbin ,/sbin :系统管理员常用指令集的存放地点/dev :存放所有系统设备文件的目录/var/log :存放系统登录文件的地方7. 以“.”开头的文件为隐藏文件,需要使用ls -a 指令才能显示出隐藏文件的内容,而使用ls -al 才能显示其属性。
第6章 文件与目录管理1. 绝对路径的写法为以“/”开头,相对路径则不是。
2. mv /home/test /home/test23. PATH 环境变量用来在执行可执行文件时,指定文件搜寻的目录路径。
4. umask 可以删除一些属性,因此,适当地定义umask 有助于系统的安全,因为它可以用来建立默认目录或文件的权限。
5. 在umask 为033时,则默认删除group 与others 的w(2)x(1)权限,因此权限变为“文件:-rw-r--r--”、“目录:drwxr--r--”。
当umask 为044时,则删除r 属性,因此就变为“文件:-rw--w--w-”、“目录:drwx-wx-wx ”。
6. 若一个指令具有SUID 功能,则其他人使用这个指令时,该程序将具有指令拥有者的权限。
7. ls –al ,file ,lsattr8. find / -type f –perm –04000 -print附录 习题解答第7章 磁盘与硬件管理1. 关于新增硬盘的步骤:A. 安装硬盘:关掉Linux 主机电源,调整Hard Disk 的Jump (master 或slave ),串接在IDE 接口。
请注意,留意您增加的硬盘所串接的IDE 接口为哪一个插槽,例如插在IDE2的Master ,则您的硬盘应为hdc ;此外,需要特别留意的是,目前的机器中,如果是ATA 66以上的数据线(那种很密的排线),那么master 或slave 在数据线上的顺序是固定的,底端的是Mater 而中间的是Slave ,这点请注意。
B. 从BIOS 新增硬件:开启计算机后,按del 键进入BIOS ,选择IDE Hard Disk Detector选项,让BIOS 捕捉硬盘,然后再选择Save and Exit ;不过,较新的机器通常都可以自动检测,但是,如果您的机器是旧的,还是手动来增加硬盘吧!C. Linux 系统检测:如果您的Linux 系统开启了kudzu 服务,那么开机就会自动检测新的硬件设备。
Red Hat 预设开启这项服务,除非您手动关闭它。
假设您开启这项服务,那么开机进入Linux 的时候,系统会告诉您发现一个新硬件,您可以按configure 由系统直接安装。
D. 格式化硬盘:以root 身份进入Linux 后,执行以下两个程序:· fdisk /dev/hdc <== hdc 与您的硬盘串接的IDE 接口有关,关于这个指令的介绍请参考上面的指令说明;· mke2fs /dev/hdc1 <==假设硬盘全部配置成一个大硬盘,则硬盘应为hdc1,以mke2fs 将系统规划为Linux 的系统文件。
E. 建立mount point :假设我的这块硬盘要挂在/disk3下,那么就需要:mkdir /disk3F. 启动自动加载(mount ):以vi 修改/etc/fstab 文件,使每次启动都把这个硬盘直接挂入系统中。
例如,hdc1这块硬盘挂在/disk1中,则fstab 的文件有点类似下面这样(/dev/hdc1那一行是新加入的)。
修改完之后,直接以mount -a 来挂接。
/dev/hda1 / ext2 defaults 1 1/dev/hda5 swap swap defaults 0 0/dev/hdc1 /disk1 ext2 defaults 1 1G. 安装完成:您可以使用mount -a 将全部的设备重新挂接一遍,或者是重新启动。
2. 常听到的一个问题是,原先规划的硬盘容量不足了,要如何增加容量呢?这种情况最容易发生在/var/spool/mail 及/home 下。
好了,这里我们以/home 容量不足为例进行说明。
· 假设条件:原先规划的/home 只有1GB ,但是目前用户日众,所以容量不足。
我想增加一块8GB 的旧硬盘,要如何做?附 录· 将硬盘加入Linux 系统中:利用上面的方式将您的硬盘加入到Linux 系统中,亦即使用fdisk 与mke2fs 建立ext2文件格式的硬盘。
好了,同样,假设该硬盘的代号为/dev/hdc1。
¾ 挂接新硬盘:由于我需要将新旧硬盘都挂上来,这样才有办法将数据由旧硬盘移到新硬盘。
OK !我建立一个临时目录,称为/disk-tmp :mkdir /disk-tmpmount -t ext2 /dev/hdc1 /disk-tmp这样,/disk-tmp 就是新挂接的那块8 GB 硬盘。
· 移动数据:好了!现在开始将数据复制到新挂接的硬盘上:cd /hometar -zcvf /disk-tmp/home.tar.gz *cd /disk-tmptar -zxvf home.tar.gz上面的指令会将目前旧有的/home 下的东西压缩之后移到/disk-tmp/home.tar.gz 压缩文档,然后再到/disk-tmp 下将其解压,这样数据就复制到新挂接的硬盘上了。
· 卸载旧的,挂接新的:好了,现在测试一下。
您可以这样做:umount /homemount -t ext2 /dev/hdc1 /home注意,如果您的/home 下原本没有挂接硬盘,那么您可以直接将/home 下的数据都删除,然后挂接新的硬盘就可以。