作业题:


1.rmdir -p  用来删除一串目录,比如 rmdir  -p /tmp/test/1/2/3  如果 /tmp/1/2/ 下面除了3目录外还有个4目录,4目录里还有个5目录,那么是否可以成功删除?   rmdir -p  删除一个不存在的目录时是否报错呢?


2. 删除一个目录或者文件时,在删除之前会先问一下我们是否删除,如果直接回车,是否删除呢?如果输入的不是'y' 也 不是'n' 会发生什么?


3. 我想创建一串目录时如何建,比如/home/1/2/3/4.


4. 使用mv命令时,如果目标文件为非目录且存在的文件,会怎么样?


5. 使用less  查看文件/etc/passwd  搜索一下一共出现几个‘root', 按哪个键可以向上/向下一行一行的移动?


6. 请想一想如果我们给某个目录的权限设置成rwxrw-rw-,那么其他用户能否ls该目录下的内容,能否进入到该目录下?


7. 如果设置 umask 为 001 , 那么用户默认创建的目录和文件的权限是什么样子的?


8. 用find找出 /var/ 目录下,最近一天内变更的文件?再用find找出 /root/ 目录下一小时内变更的文件?


9. 用find找出 /etc/ 目录下,一年内从未变更过的文件?


10. 为什么硬链接不能链接目录? 硬链接的文件是否占用空间大小,硬链接文件是否可以跨分区创建?


11. Linux系统里,分别用什么符号表示: 普通文本文件、二进制文件、目录、链接文件、块设备、套接字文件以及串行端口设备?


12. 如何把把dira目录以及目录下的所有文件及目录修改为所属主为user1, 所属组为users?


13. Linux系统,默认目录的权限为什么?文档的权限是什么?用三个数字表示。我们可以通过修改umask的值更改目录和文档的默认权限值,我们如何通过umask的值得到默认权限值?


14. 修改dirb目录的权限,使所属主可读可写可执行,所属组可读可执行,其他用户不可读不可写也不可执行,使用什么命令?


15. 如何使文件只能写不能删除? 如何使文件不能被删除、重命名、设定链接接、写入、新增数据?


16. Linux 下一个点 '.' 和两个点 '..' 分别表示什么?


17.  cd -  表示什么含义?


18.  用ls 查看目录或者文件时,第二列的数值表示什么意思?如果一个目录的这列的值为3,那么这个3是如何得到的?


19. 如果没有locate命令,需要我们安装哪个包?初次使用locate命令会报错“can not open `/var/lib/mlocate/mlocate.db': No such file or directory”, 需要我们如何做呢?


20. 当拷贝一个文件时,如果目标文件存在会问我们是否覆盖,如何做就不再询问了?


21. 如何动态显示一个文件的内容,假如这个文件内容一直再增加。


22. 更改文件读写执行权限的命令是什么?如何把一个目录下的所有文件(不含目录)权限改为644?


23. 如何查看当前用户的家目录是什么?


24. 假如一个目录可以让任何人可写,那么如何能做到该目录下的文件只允许文件的所有者更改?


25. 简述软链接和硬链接的区别?


26. cat a.txt 会更改a.txt的什么时间?  chmod 644 a.txt 会更改a.txt的什么时间? vim呢? 直接touch呢




扩展部分:

1. 简单描述inode是什么,不超过100字。

inode是用来记录Linux系统里面文件的属性信息的一个容器,它会记录文件名、文件的大小、属主属组、文件的权限、文件的访问时间、修改/创建时间以及更改时间(更改inode信息)等等信息。在Linux系统里,每一个文件都会有一个唯一的inode.


2. 描述 suid sgid的作用。

suid:用于二进制可执行文件,使用户在执行该文件时临时拥有该文件属主的权限,典型文件为/usr/bin/passwd,它更改用户的密码时是会更改这些文件的:/etc/passwd和/etc/shadow等,这些文件默认普通用户没有写权限。

sgid:用于目录,用户在该目录下创建的文件都拥有与该目录相同的属组。


3. linux中的atime, ctime, mtime 如何区分呢?

atime为文件最后的访问时间;

ctime为最后一次更改inode信息的时间,比如更改文件名、文件权限、写入新内容(改变了文件大小)等就会更改这个时间;

mtime为最后一次更改文件内容的时间;


4. 简述selinux是什么?

selinux是RedHat/CentOS系统特有的安全机制,它提供强制访问控制,限制进程只能访问那些在它的任务中所需要文件。SELinux是2.6版本的Linux内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念



答案:


1. rmdir -p  用来删除一串目录,比如 rmdir  -p /tmp/test/1/2/3  如果 /tmp/1/2/ 下面除了3目录外还有个4目录,4目录里还有个5目录,那么是否可以成功删除?   rmdir -p  删除一个不存在的目录时是否报错呢?

rmdir -p 不能成功删除非空目录,rmdir -p 删除一个不存在的目录时会报错,提示“没有那个文件或目录”


2. 删除一个目录或者文件时,在删除之前会先问一下我们是否删除,如果直接回车,是否删除呢?如果输入的不是'y' 也 不是'n' 会发生什么?

直接回车不会删除,如果输入的不是'y' 也 不是'n'也不会删除


3. 我想创建一串目录时如何建,比如/home/1/2/3/4.

mkdir -p /home/1/2/3/4


4. 使用mv命令时,如果目标文件为非目录且存在的文件,会怎么样?

会提示,是否要覆盖那个文件


5. 使用less  查看文件/etc/passwd  搜索一下一共出现几个‘root', 按哪个键可以向上/向下一行一行的移动?

一共出现了4次‘root',按n可以向下一行一行的移动,按N可以向上移动。


6. 请想一想如果我们给某个目录的权限设置成rwxrw-rw-,那么其他用户能否ls该目录下的内容,能否进入到该目录下?

因为其他用户对该目录的权限是读和写,没有执行权限,所以ls里面的内容是没有问题的,但是不能进入到该目录下,因为进入该目录,就相当于在“执行”这个目录。


7. 如果设置 umask 为 001 , 那么用户默认创建的目录和文件的权限是什么样子的?

通过umask计算默认权限的公式是: 

1)目录  (rwxrwxrwx)-(umask)=(目录权限),本例中umask=001=(--------x),所以目录的权限是(rwxrwxrwx)-(--------x)=(rwxrwxrw-)=776

2)文件 (rw-rw-rw-)-(umask)=(文件权限),本例中umask=001=(--------x),所以文件的权限是(rw-rw-rw-)-(--------x)=(rw-rw-rw-)=666

所以得出结论,当umask为001时,目录权限是776,文件权限是666


8. 用find找出 /var/ 目录下,最近一天内变更的文件?再用find找出 /root/ 目录下一小时内变更的文件?

find /var/ -type f -mtime -1

find /root/ -type f -mmin -60


9. 用find找出 /etc/ 目录下,一年内从未变更过的文件?

find /etc/ -type f ! -mtime -365


10. 为什么硬链接不能链接目录? 硬链接的文件是否占用空间大小,硬链接文件是否可以垮分区创建?

因为每个目录下面都会有一个.和..也就是说每个目录下面的子目录肯定会有它本身和它上一级目录,那么一旦设置了硬链接则会造成一种混乱,设置会导致死循环。硬链接的文件并不会占用空间大小,它只是复制了该文件的一份inode信息,硬链接文件是不可以跨分区创建的。


11. Linux系统里,分别用什么符号表示: 普通文本文件、二进制文件、目录、链接文件、块设备、套接字文件以及串行端口设备?

普通文件和二进制文件用-表示,目录用d表示,链接文件(应该说是软连接)用l表示,块设备用b表示,套接字用s表示,串行端口设备用c表示。


12. 如何把把dira目录以及目录下的所有文件及目录修改为所属主为user1, 所属组为users?

chown -R user1:users dira


13. Linux系统,默认目录的权限为什么?文档的权限是什么?用三个数字表示。我们可以通过修改umask的值更改目录和文档的默认权限值,我们如何通过umask的值得到默认权限值?

默认目录权限是755,文档权限是644,目录默认权限=(rwxrwxrwx)-(umask),文件默认权限=(rw-rw-rw-)-(umask)


14. 修改dirb目录的权限,使所属主可读可写可执行,所属组可读可执行,其他用户不可读不可写也不可执行,使用什么命令?

chmod 750 dirb


15. 如何使文件只能写不能删除? 如何使文件不能被删除、重命名、设定链接接、写入、新增数据?

chattr +a file 这样就可以使文件只能写不能删除

chattr +i file 使文件不能被删除、重命名、设定链接接、写入、新增数据


16. Linux 下一个点 '.' 和两个点 '..' 分别表示什么?

一个点表示当前目录,两个点表示上级目录。


17.  cd -  表示什么含义?

cd - 表示进入到上一次所在的目录


18.  用ls 查看目录或者文件时,第二列的数值表示什么意思?如果一个目录的这列的值为3,那么这个3是如何得到的?

第二列数值表示有几个文件使用相同的inode,如果一个目录的这列为3,我们可以通过使用 ls -al dir/ |grep '^d'|wc -l 这条命令得到 


19. 如果没有locate命令,需要我们安装哪个包?初次使用locate命令会报错“can not open `/var/lib/mlocate/mlocate.db': No such file or directory”, 需要我们如何做呢?

没有locate命令,需要安装mlocate包,yum install -y mlocate, 初次使用报错,是因为对应的数据库文件还没有生成,手动生成的命令是:updatedb


20. 当拷贝一个文件时,如果目标文件存在会问我们是否覆盖,如何做就不再询问了?

使用 /bin/cp 进行拷贝: /bin/cp a.txt  b.txt


21. 如何动态显示一个文件的内容,假如这个文件内容一直再增加。

tail -f file


22. 更改文件读写执行权限的命令是什么?如何把一个目录下的所有文件(不含目录)权限改为644?

chmod 用来更改文件权限,find ./ -type f |xargs chmod 644


23. 如何查看当前用户的家目录是什么?

echo $HOME


24. 假如一个目录可以让任何人可写,那么如何能做到该目录下的文件只允许文件的所有者更改?

chmod o+wt dir


25. 简述软链接和硬链接的区别?

软连接可以理解为,源文件的快捷方式,软连接文件记录的是源文件的路径,占用空间非常小。当把源文件删除后,那么软连接文件也就变成一个坏文件了,不能使用了。

硬链接和源文件的inode信息是一模一样的,可以说硬链接文件只是复制了一份源文件的inode信息,在我们看来硬链接文件和源文件没有什么区别,删除任何一个文件对方都不受影响,唯一的是少了一份inode,硬链接只能在同一个分区下创建,而软连接不受限制。硬链接文件和源文件虽然看起来像是两个文件,但是只占用一个文件的磁盘空间。


26. cat a.txt 会更改a.txt的什么时间?  chmod 644 a.txt 会更改a.txt的什么时间? vim呢? 直接touch呢?

cat 修改atime, chmod 会更改ctime, vim会更改atime,ctime,mtime, touch也会更改三个时间。