鸟哥的linux私房菜简答题答案,《鸟哥的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值及其对应的文件权限》

这里直接给出答案:

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,就这些了,如果有什么问题的话,请跟我说一下,谢谢!

时间: 07-31

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昨天的新的解决方法

aint(input("k:")) sumj0 sum1 for i in range(1,a1):sumsum*isumjsumjsum print(str(sumj)) 比昨天少一行…… 趁烧水的时间来写的。 明天拉链 今天要出去买东西 。 但是外面飘小雨~ 早安世界!转载于:https://www.cnblogs.com/juemz/p/6120490.html

c语言程序设计 第三版 哈工大,c语言程序设计 哈工大 苏小红 第三章习题

这是学习课程时自己在VC上操作运行的第二章P24 T2#includevoid main(){printf("These values are:\n");float x2.5,y2.5,z2.5;printf("x%f\n",x);printf("y%f\n",y);printf("z%f\n",z);}例3.1#include main(){int x 153, b0, b1, b2,…

a的n次方的最后三位数c语言,求13的n次方(12n≤130000000000)的最后三位数,用c++编程...

#includeintmain(){longlonginti,x,y,last;/*变量last保存求X的Y次方过程中的部分乘积的后三位*///输入while(scanf("%lld,%lld",&x,&y)2){last1;x%1000;//因为一个三位数的n次方的最后三位数只和这个数的最后三位数有关y%100;//因为可以发现这个是一个轮回&…

使用Pycharm的一些错误

当在你的某个文件夹中打开xxx.py的时候(引用numpy的py文件) import numpy as np然后Run的时候提示module numpy has no attribute array为什么会这样呢?因为你在那个文件夹里有numpy的模块好像,比如struct.py或者struct.pyc或者诸如此类的文…

c语言自定义一个函数求商和余数,c – 如何在一个步骤中获得商和余数?

div会这样做见reference和示例:/* div example */#include #include int main (){div_t divresult;divresult div (38,5);printf ("38 div 5 > %d, remainder %d.\n", divresult.quot, divresult.rem);return 0;}输出:38 div 5 > 7, re…

Selenium2+python自动化5-操作浏览器基本方法

前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架。我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API。 本篇主要讲如何用Python调用we…

deepin20自带c语言,deepin 20.1终于找到你-国产操作系统deepin之初体验

deepin 20.1终于找到你-国产操作系统deepin之初体验前几天刚安装了国产操作系统deepin20.1,使用了几天体验非常好,推荐大家安装使用。这款操作系统确实做的很用心,很不错。日常使用、办公学习、影音娱乐已经完全可以替代Win了。界面简洁友好上…

c语言简易成绩管理系统c语言,C语言写的简易成绩管理系统

简单界面,只是功能做好了,打印的样子并不太好#include #include #include struct Data //数据结构{int number;char name[16];float kemu1;float kemu2;float kemu3;float kemu4;float kemu5;float zongfen;}data[10];int id 0;int delay() //判断是否继续{int choise;printf(…

Log4Net

<?xml version"1.0" encoding"utf-8" ?> <configuration><configSections><section name"log4net" type"log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections><log4n…

c语言链表内存分配失败,链表的C语言实现之动态内存分配

链表的C语言实现之动态内存分配來源:互聯網 2008-06-01 02:05:07 評論一、为什么用动态内存分配但我们未学习链表的时候&#xff0c;假如要存储数量比较多的同类型或同结构的数据的时候&#xff0c;总是使用一个数组。比如说我们要存储一个班级学生的某科分数&#xff0c;总是…

(转)你真的会写单例模式吗——Java实现

http://www.runoob.com/design-pattern/singleton-pattern.html 单例模式可能是代码最少的模式了&#xff0c;但是少不一定意味着简单&#xff0c;想要用好、用对单例模式&#xff0c;还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结&#xff0c;如有错漏之处&a…

c语言保存后怎么打开文件,保存打开文件之后,怎么也不能在显示函数中出来。。...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼抑郁了。。各位指点一下。。void WritetoText(Person per[],int n){int i0;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/printf(…

BCGControlBar入门使用手册

BCGControlBar是MFC的一个扩展库&#xff0c;您可以用来构建类似于Microsoft Office 2000/XP/2003/2007/2010、Microsoft Visual Studio&#xff08;打印、用户定制工具栏、菜单等&#xff09;和其他一些知名产品的高级用户界面&#xff0c;例如&#xff1a;日历、网格、编辑和…

将list转为json字符串

//确保JSP和servlet的编码方式一致 resp.setContentType("text/html;charsetGBK"); List<String> jymdList new ArrayList<String>(); PrintWriter out null;try {//从数据库中取得ListjymdList efileViewUiService.getLymd();//简单粗暴,对于Map这句…

android分享图片功能实现原理,Android:简单实现并理解图片三级缓存

学习Android网络开发的过程中&#xff0c;势必会经历很多痛苦的过程&#xff0c;其中一个大坑就是图片缓存&#xff0c;当然现在有很多现成的库非常方便&#xff0c;常常几行代码就可以实现想要的功能&#xff0c;但不懂其中的原理是不行的&#xff0c;所以对于刚开始学习网络编…

android标题栏的属性,android – 属性“titleTextStyle”已经定义?

我已经导入一个Eclipse的android项目到android studio 1.2.2我的项目的gradle&#xff1a;dependencies {compile project(:unifiedPreferenceLib)compile project(:viewPagerIndicatorLib)compile project(:slidingUpFourSquare)compile project(:stylishDialogLib)compile pr…

Linux 之 编译器 gcc/g++参数详解

2016年12月9日16:48:53 ----------------------------- 内容目录&#xff1a; [介绍] gcc and g分别是gnu的c & c编译器 gcc/g在执行编译工作的时候&#xff0c;总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器e…

android 获取phone实例,android – 可以通过sdk来实例化一个telephony.Phone对象吗?

我正在尝试获取一个电话对象,以便我可以在我的应用程序内调用和会议两个数字.我已经尝试使用静态PhoneFactory.makeDefaultPhones((上下文))这个,但没有任何运气.String phoneFactoryName "com.android.internal.telephony.PhoneFactory";String phoneName "c…

连载 3:利用 matlab计算卷积

转载于:https://www.cnblogs.com/WHaoL/p/6155544.html

【Gradle】配置详解(持续更正补充)

1、build.gradle 工程构建文件。 顶级构建文件&#xff0c;为整个项目添加配置 // 声明gradle脚本自身需要使用的资源&#xff0c;包括依赖项、第三方插件、maven仓库地址等。 buildscript {// 声明仓库的源。之前这里用mavenCentral()repositories {jcenter() // jCenter可…