鸟哥的Linux私房菜习题与解析(二)

第二部分 Linux文件、目录与磁盘格式

第六章 Linux的文件权限与目录配置

1、/bin和/usr/bin及/sbin目录所放置的执行文件有什么不同
/bin目录下放置的是在单用户维护模式下还能够被操作的命令,这些命令都可以被root和普通用户所使,如 cat chmod chown date mv mkdir cp 等常用命令。
/sbin 表示system binary,该目录下放置的是一些只有超级用户(root)才能使用的系统设置命令,包括开机,修复,还原系统所需要的命令。如fdisk, ifconfig, init, mkfs。
/usr/bin 放置的是绝大多数的普通用户可以使用的命令(与开机无关)

2、哪几个目录不能够与根目录(/)放置到不同的分区中?并请说明该目录所放置的数据是什么?

因为根目录与开机有关,开机过程中仅有根目录会被挂载,其它分区则是在开机完成之后才会持续进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录就不能够与根目录放到不同的分区去。

/etc : 配置文件 系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的个文件属性是可以让一般用户查阅的,但是只有root有权利修改。不要放置可执行文件在这个目录中。比较重要的文件有/etc/inittab,/etc/init.d/,/etc/modprobe.conf,/etc/X11,/etc/fstab,/etc/sysconfig等。

 /etc/init.d/:所有服务的默认启动脚本都是放在这里的,例如要启动或者关闭iptables的话:"/etc/init.d/iptables start"、“/etc/init.d/iptables stop” /etc/xinetd.d/:这就是所谓的super daemon管理的各项服务的配置文件目录。

/etc(配置文件), 

/bin(一般身份可用的重要执行文件), 

/dev(设备文件), 

/lib(执行文件所需的函数库与核心模块等), 

/sbin(重要的系统执行文件,只有系统管理员可用) 

3、试说明为何根目录小一点比较好。另外在分区时,为什么/home,/usr,/var,/tmp最好与根目录放到不同的分区?试说明可能的原因为何(由目录放置数据的内容谈起)。

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录与开机、还原、修复系统等操作有关。由于系统开机时需要特定的开机软件、内核文件、开机所需程序、函数库等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。因为根目录这么重要,所以在FHS的要求方面,系统根目录不要放置在非常大的分区内,因为越大的分区你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。 因此FSH标注建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较好,根目录所在的文件系统也较不容易发生问题。

/home 这是系统默认的用户主文件夹。在你创建一个一般用户账号时,默认的用户主文件夹都会规范到这里来。

/usr 所有系统默认的软件都会放置到/usr下面。

/var 如果/usr是安装是会占用较大的硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录文件(log file)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),或则例如MySQL数据库的文件等

/tmp 这是让一般用户或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能够访问的,所以你需要定期清理一下。当然,重要数据不可放置在此目录。因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除

4、早期的UNIX系统文件最多允许14个字符,而新的UNIX与LINUX系统中,文件名最多可以容许几个字符?

单一文件或目录的最大容许文件名为255个字符

包含完整路径名称及目录(/)的完整文件名可为4096个字符。

5、当一个文件权限为-rwxrwxrwx,则表示这个文件的意义是什么?

拥有者,同用户组,其他用户的权限都为可读、可写、可执行

6、我需要将一个文件权限改为-rwxr-xr--,请问该如何执行命令

chmod 754 filename或 chmod u=rwx,g=rx,o=r filename

7、若我需要更改一个文件的所有者与用户组,该用什么命令?

chown, chgrp 

8、请问下面的目录主要放置什么数据? /etc、/etc/init.d/、/boot,、/usr/bin、/bin、/usr/sbin、/sbin、/dev、/var/log

/etc 各种软件与系统的配置文件

/etc/init.d 各种软件与启动脚本

/etc/:系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的起始文件等;

/etc/init.d:所有服务的默认启动脚本都是放在这个目录中;

/boot:主要放置在开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等;

/usr/bin:绝大部分的用户可使用命令都在这里,与/bin不同的是这些命令与开机过程无关;/bin:主要放置在开机时,以及进入单用户维护模式后还能够被操作的命令;

/usr/sbin:非系统正常运行所需要的系统命令,最常见的就是某些网络服务器软件的服务命令;

/sbin:主要放置开机过程中所需要的命令,里面包括了开机、修复、还原系统所需要的命令,只有系统管理员能使用;

/dev:在Linux系统上,任何设备与接口设备都是以文件的形式存在与这个目录当中;

/var/log:主要放置登录文件,记录登录信息。

9、若一个文件的文件名开头为“.”,例如.bashrc这个文件,代表什么?另外如何显示出这个文件名与它的相关属性?

有“.”为开头的为隐藏文件,需要使用 ls -a这个 -a的选项才能显示出隐藏文件的内容,而使用 ls -al才能显示出属性。

第7章 Linux文件与目录管理

1、什么是绝对路径与相对路径

答:对于Linux,绝对路径的写法为由 /开始写,相对路径则不由 /开始写。此外,相对路径为相对于目前工作目录的路径。

2、如何更改一个目录的名称?例如由/home/test变为/home/test2。

答:mv /home/test /home/test2 

3、PATH这个环境变量的意义是什么?

答:这个是用来指定运行档运行的时候,命令搜寻的目录路径。 

4、umask有什么用处与优点?

答:umask用来指定目前用户在新建文件或目录时候的权限默认值,因此它可以增减一些权限,因此,适当的定义 umask有助於系统的安全,因为他可以用来创建默认的目录或文件的权限。 

5、当一个用户的umask分别为033与044,他所建立的文件与目录的权限是什么?

答:在 umask为 033时,则默认是拿掉 group与 other的 w(2)x(1)权限,因此权限就成为“文件 -rw-r--r--,目录 drwxr--r-- ”而当 umask 044时,则拿掉 r的属性,因此就成为“文件 -rw--w--w-,目录 drwx-wx-wx”。 

6、什么是SUID?

答:SUID是一种文件特殊权限,SUID有这样的限制于功能:SUID权限仅对二进制程序有效;执行者对于该程序需要具有x的可执行权限;本权限仅在执行改程序的过程中有效;执行者将具有该程序所有者的权限。

7、当我要查询/usr/bin/passwd这个文件的传统权限、文件类型与文件的隐藏属性,可以使用什么命令来查询?

答:ls -alfilelsattr尝试用find找出目前Linux系统中所有具有SUID的文件有哪些。

find / -perm +4000 -print 

8、找出/etc下面,文件大小介于50KB到60KB之间的文件,并且将权限完整地列出(ls-l)。

答:find /etc -size +50k -a -size -60k -exec ls -l {} \;

9、找出/etc下面,文件容量大于50KB且文件所有者不是root的文件名,且将权限完整地列出(ls-l)。

答:find /etc -size +50k -a ! -user root -exec ls -ld {} \;

10、找出/etc下面,容量大于1500KB以及容量等于0的文件。

答:find /etc -size +1500k -o -size 0

第8章 Linux磁盘与文件系统管理

1、如果由于你的主机磁盘容量不够大,你想要增加一块新磁盘,并将该磁盘分区成单一分区,且将该分区挂载到/home目录,你该如何处置?

答:安装硬盘:关掉 Linux主机电源,将硬盘放入主机后插好硬盘的扁平电缆与电源线,重新启动电源;磁盘分区:将整个磁盘分区成单一主要分割槽,类似 /dev/sdb1占有全部容量;格式化:透过 mkfs -t ext3 来格式化;数据迁移:由于原本的 /home还会有数据存在,因此你可以 mount /dev/sdb1 /mnt,再将 /home 的数据复制到 /mnt/中,例如:“cp -a /home/* /mnt ”即可。复制完毕后卸除 /home以及 /mnt;重新挂载:编辑 /etc/fstab,将 /home所在的 filesystem装置改为 /dev/sdb1之类的新分割槽,然后 mount -a测试看看是否正确,如果正确的话,才是顺利结束了这次的动作。

2、如果扇区/dev/hda3有问题,偏偏它是被挂载上的,请我我要如何修理此扇区?

答:先将扇区解挂再检修。即先执行umount /dev/hda3再执行fsck /dev/hda3 

3、我们经常说,开机的时候发现硬盘有问题,请问,这个问题的产生是文件系统的损坏还是硬盘的损坏?

答:如果某个 filesystem里面,由于操作不当,可能会造成 Superblock数据的损毁,或者是 inode的架构损毁,或者是 block area的记录遗失等等,这些问题当中,其实硬盘还是好好的,不过,在硬盘上面的文件系统则已经无法再使用。一般来说,我们的 Linux很少会造成 filesystem的损毁,所以,发生问题时,很可能整个硬盘都损毁了。但是,如果您的主机常常不正常断电,那么,很可能硬盘是没问题的,但是,文件系统则有可能损毁。此时,重建文件系统 (reinstall)即可,不需要换掉硬盘。

4、当我有两个文件,分别是file1与file 2,这两个文件互为hard link的文件,请问,若我将file 1删除,然后再以类似vi的方式重新新建一个名为file 1的文件,则file 2的内容是否会被改动?

答:当我删除 file1之后, file2 则为一个正规文件,并不会与他人共同分享同一个 inode与 block ,因此,当我重新创建一个档名为 file1时,他所利用的 inode 与 block都是由我们的 filesystem 主动去搜寻 meta data,找到空的 inode 与 block来创建的, 与原本的 file1并没有任何关联性。所以,新建的 file1 并不会影响 file2。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值