第四章 Linux文件和目录管理

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/j可以向下一行一行的移动,按 N/k可以向上移动。


6. 为什么目录必须要有x权限才可以读呢?

因为读一个目录,可以说是打开该目录,然后才能查看里面的文件,这个打开的过程就是在执行这个目录,所以必须要有执行权限才能读取到里面的文件。


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

通过 umask计算默认权限的公式是: 1)目录  (rwxrwxrwx)-(umask)=( 目录权限),本例中 umask=001=--------x), 所以目录的权限是 (rwxrwxrwx)---------x)= rwxrwxrw- =7762)文件 (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 -1find /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命令查看目录或文件时,第 2列的数值表示什么意思?如果一个目录的第 2列的值为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 find ./ -maxdepth 1 -type -f -exec 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也会更改三个时间。


你可能感兴趣的:(linux)