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

简介:

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

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

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

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


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

1
mv /home/test /home/test2

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

这里先看一下PATH:

1
2
[root@xpleaf ~]# 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这个文件的传统权限、文件类型与文件的隐藏属性,可以使用什么命令来查询?

查询传统权限:

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

查询文件类型:

1
2
[root@xpleaf ~]# 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

查询隐藏属性:

1
2
[root@xpleaf ~]# lsattr /usr/bin/passwd 
-------------e- /usr/bin/passwd

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

1
2
[root@xpleaf ~]# 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的吧。

方法一:

1
2
3
[root@xpleaf ~]# 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

方法二:

1
2
3
[root@xpleaf ~]# 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

方法三:

1
2
3
[root@xpleaf ~]# 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用户的。

方法一:

1
2
3
4
[root@xpleaf ~]# 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
省略输出

方法二:

1
2
3
4
[root@xpleaf ~]# 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参数就可以了。

1
2
3
4
5
[root@xpleaf ~]# find /etc -size +1500k -o -size 0k
/etc/environment
/etc/selinux/targeted/modules/active/netfilter_contexts
/etc/selinux/targeted/modules/active/policy.kern
省略输出


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

相关文章
|
26天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
218 65
|
14天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
109 5
|
14天前
|
Linux Shell 数据库
Linux文件查找新姿势:总有一种你没见过
【10月更文挑战第18天】文件查找是Linux用户提升工作效率的重要技能。本文介绍了几种实用的文件查找方法,包括基础的`find`命令、快速的`locate`和`mlocate`、高效的`fd`工具、以及结合`grep`和`rg`进行内容搜索。此外,还提供了编写Shell脚本和使用图形界面工具的建议,帮助你更灵活地管理文件。
52 3
|
3天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
13 2
|
2天前
|
缓存 监控 Linux
|
25天前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
33 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
5天前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
16 2
|
9天前
|
Linux 数据库
linux 全局搜索文件
在 Linux 系统中,全局搜索文件常用 `find`、`locate` 和 `grep` 命令。`find` 根据文件名、类型、大小、时间戳等条件搜索;`locate` 通过预构建的数据库快速查找文件;`grep` 在文件中搜索特定文本,常与 `find` 结合使用。选择合适的命令取决于具体需求。
|
12天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
28 4
|
11天前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
56 1