《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案

自己整理了一下,分享给大家,这些习题确实是非常经典的!

1.什么是绝对路径与相对路径?

绝对路径是相对于/目录的路径的,比如/home/user;

相对路径是相对于当前工作目录的,比如你的系统上有个/home/user/test目录,此时你在/home/user目录下,那么./test就是相对路径。



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

mv /home/test /home/test2


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

这里先看一下PATH:

[[email protected] ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

当你输入一个命令时,系统就会按PATH设置的路径一个一个地去查找这个命令,直到找到为止;如果多个路径都有此命令,则以PATH设置路径中找到的第一个为准。



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

用处:可以用来设置创建文件或目录时,该文件或目录的默认权限;

优点:在一些特殊的生产环境中,如果对创建文件或目录的默认权限有需求时,就可以改变umask来达到我们的需求,从而可以更合理地控制文件与目录。



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

关于umask的设置以及文件与目录默认权限的计算方法,可以参考我的另一篇博文:

《浅谈linux中umask值及其对应的文件权限》

http://xpleaf.blog.51cto.com/9315560/1679861

这里直接给出答案:

033 044
文件权限 -|rw-|r--|r-- -|rw-|-w-|-w-
目录权限 -|rwx|r--|r-- -|rwx|-wx|-wx


6.什么是SUID?

SUID是特殊的文件权限,当文件拥有SUID权限时,其他用户(非该文件属主)如果对此文件有x权限(前提该文件还可以被执行,所以SUID一般是针对二进制命令文件),当执行该文件时,会暂时获得该文件所有者的权限,再去执行该文件。



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

查询传统权限:

[[email protected] ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd

查询文件类型:

[[email protected] ~]# file /usr/bin/passwd 
/usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

查询隐藏属性:

[[email protected] ~]# lsattr /usr/bin/passwd 
-------------e- /usr/bin/passwd


8.尝试用find找出目前Linux系统中所有具备SUID的文件有哪些。

[[email protected] ~]# find / -perm +4000
输出省略

注意下面三个符号的区别:

4755 查找的文件权限必须为:-|rws|r-x|r-x
-4755 查找的文件权限需要满足:文件的权限至少要与4755即-|rws|r-x|r-x相同,或权限比其更多
+4755 查找的文件权限需要满足:文件的权限最多只能与4755即-|rws|r-x|r-x相同,或权限比其更少


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

这里我就找50KB到100KB的吧。

方法一:

[[email protected] ~]# find /etc -size +50k -size -100k -exec ls -l {} \; 
-rw-r--r--. 1 root root 88371 5月  11 22:24 /etc/termcap
-rw-r--r--. 1 root root 65536 1月  13 2010 /etc/pki/nssdb/cert8.db

方法二:

[[email protected] ~]# find /etc -size +50k -a -size -100k -exec ls -l {} \;
-rw-r--r--. 1 root root 88371 5月  11 22:24 /etc/termcap
-rw-r--r--. 1 root root 65536 1月  13 2010 /etc/pki/nssdb/cert8.db

方法三:

[[email protected] ~]# find /etc -size +50k -a -size -100k | xargs ls -l
-rw-r--r--. 1 root root 65536 1月  13 2010 /etc/pki/nssdb/cert8.db
-rw-r--r--. 1 root root 88371 5月  11 22:24 /etc/termcap

其实第一种方法和第二种方法是完全一样的,参数-a是and的意思,即要同时满足前后两个参数所设立的条件,也就是50KB到60KB啦,其实默认就是-a的参数。那么不难理解,如果是-o,表示的是or即或的意思了,即-o前后两个条件,随便一个满足或者同时两个满足都可以。因为题目说的是找文件,所以其实这里加上-type f会更好,不过理解就好了,我这里就不加了,下面的题目也是。



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

这里我就找文件所有者不是oldboy用户的。

方法一:

[[email protected] ~]# find /etc -size +50k ! -user oldboy -exec ls -l {} \;      
-rw-r--r--. 1 root root 88371 5月  11 22:24 /etc/termcap
-rw-------. 1 root root 125811 11月 23 2013 /etc/ssh/moduli
省略输出

方法二:

[[email protected] ~]# find /etc -size +50k -not -user oldboy -exec ls -l {} \; 
-rw-r--r--. 1 root root 88371 5月  11 22:24 /etc/termcap
-rw-------. 1 root root 125811 11月 23 2013 /etc/ssh/moduli
省略输出

看题目,“且”就是and的意思啦,所以加不加-a参数都可以。至于“!”,其实就是表示“非”的意思,跟-not是一样的。



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

这是注意“以及”字眼,按照题目的意思去理解,应该是“或”的意思,否则不可能有既大于1500KB又等于0的文件吧?所以这里用-o参数就可以了。

[[email protected] ~]# find /etc -size +1500k -o -size 0k
/etc/environment
/etc/selinux/targeted/modules/active/netfilter_contexts
/etc/selinux/targeted/modules/active/policy.kern
省略输出

OK,就这些了,如果有什么问题的话,请跟我说一下,谢谢!

时间: 2024-10-15 10:10:15

《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案的相关文章

鸟哥的Linux私房菜7-------14章 Linux帐号管理与ACL权限设置

1. 用户表示符UID与GID /etc/passwd文件结构: 有几行就代表有几个帐号在你的系统里 每一行用:分割,一共7个字段. 1.帐号名称 2.密码:早起unix用,现在把密码数据放在/etc/shadow文件中了,这里用x表示 3.UID:0代表系统管理员. 1-499:系统帐号 500-65535:一般用户用 4.GID:     /etc/group有关 5.用户信息说明,使用finger时,这个字段能提供很多信息. 6.主文件夹 7.Shell:用户登录系统后取得的一个shell

鸟哥的linux私房菜学习记录之档案与目录管理

绝对路径和相对路径 绝对路径就是从根目录到某个目录下的路径,从根目录写起,也就是/ 相对路径就是从用户当前目录的路径写起 目录相关操作 cd 切换路径 例如:cd /var/www 切换到/var/www/路径下 pwd显示当前路径 mkdir 创建一个新的目录 rmdir 删除一个空的目录 具体操作不介绍,可以使用man来查看 复制移动和删除命令 cp,mv,rm 修改默认文件权限 档案特殊权限SUID,SGID,SBIT 分别修改拥有者,所在组,其他人的x执行权限 当某个二进制程序有suid

Linux System Programming 学习笔记(八) 文件和目录管理

1. 文件和元数据 每个文件都是通过inode引用,每个inode索引节点都具有文件系统中唯一的inode number 一个inode索引节点是存储在Linux文件系统的磁盘介质上的物理对象,也是LInux内核通过数据结构表示的实体 inode存储相关联文件的元数据 ls -i 命令获取文件的inode number /* obtaining the metadata of a file */ #include <sys/types.h> #include <sys/stat.h>

[Linux] Linux学习笔记(5)-文件与目录管理

1.Linux目录结构为树状结构,最顶层的目录为跟目录"/",其它目录通过挂载可以将它添加到目录树中,通过解除挂载移除它们. 2.绝对路径与相对路径 绝对路径写法:由根目录"/"写起,例如:/usr/share/man这个目录: 相对路径写法:不是由"/"写起,例如要由/usr/share/man转移到/usr/share/doc,可以写成:cd ../doc .不过值得注意的是,假如我想从跟目录"/"跳转到"/us

鸟哥的Linux私房菜(笔记)-文件权限与目录配置

第一部分 Linux 简单命令操作 一.基础命令 1.显示日期与时间:date; 2.显示日历:cal 3.简单好用计算器:bc 直接输入数字与预算符,按entry键运算, 输入quit离开bc界面 二.重要的热键 1.它具有命令补全与文件补齐的功能:Tab eg: ca[Tab][Tab] [Tab] 接在一串命令的第一个命令的后面,则为"命令补全" [Tab] 接在一串命令的第二个命令的后面,则为"文件补全" 2.中断目前程序的功能键:[Ctrl]-c 3.代表

笔记《鸟哥的Linux私房菜》6 Linux的档案权限与目录配置

/etc/passwd 用户相关信息 /etc/shadow 密码相关信息 /etc/group 组名相关信息 chgrp chgrp group_a xxx 改变文件组属 chgrp group_b -R xxx 改变目录及以下组属 chown chown user_a xxx 改变文件拥有者 chown user_a -R xxx 改变目录及以下组属 chmod chmod 751 xxx 改变文件/目录权限 chmod u+r g-w o=rwx xxx 改变文件/目录权限(u:user.

鸟哥的Linux私房菜-----1、Linux是什么与如何学习Linux

版权声明:本文为博主原创文章,未经博主允许不得转载.

鸟哥的Linux私房菜-----2、Linux主机规划

版权声明:本文为博主原创文章,未经博主允许不得转载.

鸟哥的Linux私房菜-----5、Linux文件权限与目录配置

版权声明:本文为博主原创文章,未经博主允许不得转载.