《鸟哥的Linux私房菜》第6章——总结与习题参考答案

目录

[一、 简介](#一、 简介)

二、一些新了解的指令

[1.touch- 修改文件时间或创建新文件](#1.touch- 修改文件时间或创建新文件)

2.umask-新建文件/目录的默认权限

3.文件隐藏属性

4.文件特殊权限

5.file-观察文件类型

三、简答题部分


一、 简介

本章介绍了一些常用的文件与目录指令,包括新建/删除/复制/移动/查看文件或者目录等。

一个注意点:当使用**cp(复制)**命令时,应该要考虑:①是否需要完整的保留源文件的信息(如是否保留文件权限等属性) ②源文件是否为特殊文件 ③源文件是否是目录

这一章对常用的文件与目录管理的命令都有很详细的介绍,一些参数也都有给出使用实例,很适合用来全面了解相关指令


二、一些新了解的指令

1.touch- 修改文件时间或创建新文件

一开始我以为touch指令是专门创建新文件用的,实际上还常用来更改文件的时间:

修改时间(modification time,mtime)

状态时间(status time,ctime)

读取时间(access time,atime)

举例:如何查看文件README的时间(ls指令 默认显示是该文件的mtime,也就是修改时间)

2.umask-新建文件/目录的默认权限

当建立一个新文件或者目录,它的默认权限会是什么?说实话我真没思考过这个问题哈哈哈。

umask就是指定用户在建立文件或者目录时候的权限默认值(后三个数字)。后三位是一般权限有关的属性,首位是特殊权限用的。

(r,w,x分别为4,2,1). 数字002是指默认值需要拿掉的权限

0\] user的权限,可读可写可执行(不拿掉任何权限) \[0\] group的权限,可读可写可执行 \[2\] others的权限,拿掉2,也就是w(可写),则其他用户不可写 ### 3.文件隐藏属性 文件隐藏属性在系统安全方面十分重要: ①chattr(配置文件隐藏属性) 通过参数可以让一个文件\[不能被删除、改名、修改\],只有root能设置此属性。 ②lsattr(显示文件隐藏属性) ### 4.文件特殊权限 SUID SGID SBIT ### 5.file-观察文件类型 ![](https://file.jishuzhan.net/article/1768547323056492546/5ea1c30099d7348ab40c52280df45f41.webp) *** ** * ** *** ## 三、简答题部分 1.什么是绝对路径与相对路径。 绝对路径:从根目录/写起 相对路径:不是由根目录写起 2.如何更改一个目录的名称?例如从 /home/test 变为 /home/test2。 $ mv /home/test /home/test2 3.PATH这个环境变量的意义? PATH这个变量是由一堆目录组成,每个目录中间用(:)隔开,有顺序之分。 主要作用是使系统能够在任何目录下执行命令。 4.umask有什么用处与优点? umask用来指定用户在建立文件或目录时候的权限默认值。通过限制文件的默认权限,umask可以增加系统的安全性 5.当一个用户的umask分别为033与044,它所建立的文件与目录的权限是什么? 文件默认权限为666(-rw-rw-rw-),目录默认权限为777(drwxrwxrwx) 033:-rw-r--r-- drwxr--r-- 044:-rw--w--w- drwx-wx-wx 6.什么是SUID 一种特殊权限标志,全称为Set User ID。当设置了SUID权限时,它在运行时将以文件所有者的权限而不是运行用户的权限来执行。 7.当我要查询 /usr/bin/passwd 这个文件的一些属性时(1)传统权限 (2)文件类型 (3)文件的隐藏属性,可以用什么命令来查询? (1)传统权限 $ la -l /usr/bin/passwd (2)文件类型 $ file /usr/bin/passwd (3)文件的隐藏属性 $ lsattr /usr/bin/passwd 8.尝试用find找出目前Linux系统中,所有具有SUID的文件有哪些? $ find / -perm /4000 9.找出/etc下面,文件大小介于50kb到60kb之间的文件,并将权限完整的列出(ls -l)。 $ find /etc -size +50k -size -60k -exec ls -l {} \\; 10.找出/etc下面,文件容量大于50kb且文件所属人不是root的文件名,并将权限完整的列出(ls -l)。 $ find /etc -size +50k ! -user root -exec ls -l {} \\; 11.找出/etc下面,容量大于1500kb以及容量等于0的文件。 $ find /etc -type f \(-size +1500k -o -size 0 \) **-type f** 指查找文件类型为一般文件(f),其它如设备文件(b,c),目录文件(d)等。 *** ** * ** *** **\*注:** -exec ls -l {} \\;解释 **{}**代表的是**find找到的内容;** **-exec** 一直到 **\\;** 是关键词,代表find**额外操作** 的**开始** 一直到 **结束;** **ls -l {}** 就是find**额外操作;** ;在bash环境中有特殊意义,所以用反斜杠 \\ 来转义。

相关推荐
青草地溪水旁12 分钟前
Linux 高性能 I/O 事件通知机制的核心系统调用—— `epoll_ctl`
linux·c语言·c++
不会c嘎嘎13 分钟前
Linux -- 基于TCP服务器实现一个简单的电商网站
linux·服务器·tcp/ip
程序leo源13 分钟前
Linux_基础指令(二)
android·linux·运维·服务器·青少年编程
君宝1 小时前
Linux ALSA架构:PCM_OPEN流程 (二)
java·linux·c++
葵花日记1 小时前
LINUX--编译器gcc/g++
linux·运维·服务器
csdn_aspnet2 小时前
Linux Node.js 安装及环境配置详细教程
linux·node.js
PAQQ2 小时前
解决 ubuntu 重启串口号变化
linux·运维·ubuntu
dyxal3 小时前
linux系统安装wps
linux·运维·wps
大家的笔记本3 小时前
jetson orin super nano(arm linux系统)上读取大恒图像工业相机(型号MER-050-560U3C)教程
linux·arm开发·相机
九章云极AladdinEdu4 小时前
深度学习优化器进化史:从SGD到AdamW的原理与选择
linux·服务器·开发语言·网络·人工智能·深度学习·gpu算力