• 课后习题-5


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

      显示没有该目录
    2. 删除一个目录或者文件时,在删除之前会先问一下我们是否删除,如果直接回车,是否删除呢?如果输入的不是'y' 也 不是'n' 会发生什么?
      只有输入y 才会删除文件或目录,其他输入都无法删除。
    3. 我想创建一串目录时如何建,比如/home/1/2/3/4.
      mkdir -p /home/1/2/3/4
    4. 使用mv命令时,如果目标文件为非目录且存在的文件,会怎么样?
      将该文件剪切至目标目录,并覆盖该文件, 修改该文件的ctime为覆盖时间, atime,mtime为源文件的时间。
    5. 使用less  查看文件/etc/passwd  搜索一下一共出现几个‘root', 按哪个键可以向上/向下一行一行的移动?
      less /etc/passwd|  grep -c "root"     y/ 空格  pageup/pagedown

      less /etc/passwd     /root   n 向下搜索,  N 向上搜索
    6. 请想一想如果我们给某个目录的权限设置成rwxrw-rw-,那么其他用户能否ls该目录下的内容,能否进入到该目录下?
      不能查看ls 目录下的内容信息,  没有执行权限,无法cd 到该目录,自然也不能看到目录下的内容, 只能查看该目录的信息。
    7. 如果设置 umask 为 001 , 那么用户默认创建的目录和文件的权限是什么样子的?
      目录  (rwxrwxrwx)-(umask)=(目录权限),本例中umask=001=(--------x),所以目录的权限是(rwxrwxrwx)-(--------x)=(rwxrwxrw-)=776

      文件 (rw-rw-rw-)-(umask)=(文件权限),本例中umask=001=(--------x),所以文件的权限是(rw-rw-rw-)-(--------x)=(rw-rw-rw-)=666
    8. 用find找出 /var/ 目录下,最近一天内变更的文件?再用find找出 /root/ 目录下一小时内变更的文件?
      find /var/ -type f  -mtime -1       find /root/ -type f  -mmin -1 
    9. 用find找出 /etc/ 目录下,一年内从未变更过的文件?
      find /etc/ -type f  !  -mtime -365 
    10. 为什么硬链接不能链接目录? 硬链接的文件是否占用空间大小,硬链接文件是否可以跨分区创建?

      *因为每个目录下面都会有一个.和..也就是说每个目录下面的子目录肯定会有它本身和它上一级目录,那么一旦设置了硬链接则会造成一种混乱,设置会导致死循环。
      1.硬链接,以文件副本的形式存在。但不占用实际空间。 
      2.不允许给目录创建硬链接 
      3.硬链接只有在同一个文件系统中才能创建 ,不能跨分区创建。
    11. Linux系统里,分别用什么符号表示: 普通文本文件、二进制文件、目录、链接文件、块设备、套接字文件以及串行端口设备?
      f/- : 普通,二进制; d : 目录; l: 链接; b: 块 ;s: 套接字 ; c : 串行
    12. 如何把把dira目录以及目录下的所有文件及目录修改为所属主为user1, 所属组为users?
      chmod -R user1:users dira
    13. Linux系统,默认目录的权限为什么?文档的权限是什么?用三个数字表示。我们可以通过修改umask的值更改目录和文档的默认权限值,我们如何通过umask的值得到默认权限值?
      目录: rwxrwxrwx 777; 文档: rw-rw-rw-   666;   (rwxrwxrwx)-(umask)=(目录权限);文件 (rw-rw-rw-)-(umask)=(文件权限)
    14. 修改dirb目录的权限,使所属主可读可写可执行,所属组可读可执行,其他用户不可读不可写也不可执行,使用什么命令?
      *chmod 750 dirb
    15. 如何使文件只能写不能删除? 如何使文件不能被删除、重命名、设定链接接、写入、新增数据?
      chattr  +a ,   chattr    +i 
    16. Linux 下一个点 '.' 和两个点 '..' 分别表示什么?
      . 代表本身   ..代表父级目录
    17.  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”, 需要我们如何做呢?
      yum install -y mlocate    updatedb
    20. 当拷贝一个文件时,如果目标文件存在会问我们是否覆盖,如何做就不再询问了?
      cp -f   、/bin/cp  
    21. 如何动态显示一个文件的内容,假如这个文件内容一直再增加。
      tail -f file 
    22. 更改文件读写执行权限的命令是什么?如何把一个目录下的所有文件(不含目录)权限改为644?
      chmod      find  目录  -type f | xargs chmod 644 
    23. 如何查看当前用户的家目录是什么?
         echo ~username   echo $HOME
    24. 假如一个目录可以让任何人可写,那么如何能做到该目录下的文件只允许文件的所有者更改?
       chmod o+wt dir
    25. 简述软链接和硬链接的区别?
      硬链接和软连接 
      硬链接:ln file1 file2 : 文件内容一致,inode一致,同时引用了一个inode编号 
      软连接:ln -s file1 file2 : 文件内容一致,inode不一致,记录的是原始文件的路径名称 
      创建连接: 硬链接不产生新的inode, 软连接生成新inode
      删除源文件: 硬链接无影响, 软连接同时删除。
      修改源文件: 连接文件同时修改 。 
      创建目录: 硬链接无法指向目录, 软连接可以指向目录。
      分区创建: 硬链接无法跨分区设备连接,软连接可以跨分区设备连接。

    26. cat a.txt 会更改a.txt的什么时间?  chmod 644 a.txt 会更改a.txt的什么时间? vim呢? 直接touch呢?
      cat: atime   ;  chmod : ctime ;  vim: atime,  mtime,ctime ; touch : atime ctime mtime 
    等您做完了这几道题外,还请您了解一下下面的知识点:

    1. 什么是inode ?  http://www.lishiming.net/thread-5473-1-1.html
      
    2. linux set uid ,set gid,sticky bit权限详细说明
    http://www.lishiming.net/thread-5474-1-1.html

    3. atime, ctime, mtime 三个时间比较、区别
    http://www.lishiming.net/thread-591-1-1.html

    4. linux文件系统扩展阅读 http://www.lishiming.net/thread-5475-1-1.html

    5. ext3 与 ext4文件系统的区别 http://www.lishiming.net/thread-5476-1-1.html

    6. linux acl 功能介绍 http://www.lishiming.net/thread-5477-1-1.html

    7. 什么是selinux ? http://www.lishiming.net/thread-5478-1-1.html

    在阿铭的论坛里,也有几篇帖子需要您了解一下,也许将来在日常工作中,你会用到哦:

    1. 利用inode删除指定文件  http://www.lishiming.net/thread-5331-1-1.html
    文中的xargs命令会在后续章节中讲解。

    2. find 查找某个时间段的文件  http://www.lishiming.net/thread-5285-1-1.html

    3. 创建指定日期的文件  http://www.lishiming.net/thread-5286-1-1.html

    4.   用find时排除某些目录或者文件   http://www.lishiming.net/thread-1202-1-1.html

    5. 为你的linux增加自定义PATH  http://www.lishiming.net/thread-907-1-1.html

    6. linux下文件的特殊权限s和t  http://www.lishiming.net/thread-617-1-2.html

    7. locate 命令报错 http://www.lishiming.net/thread-332-1-2.html

    8. find -name 查找多个文件 http://www.lishiming.net/thread-1324-1-1.html

    9. find 查找指定权限的文件 http://www.lishiming.net/thread-5496-1-1.html


    学习了以上内容后,阿铭希望您能够按您的理解来回答一下下面的问题(这些问题您很有可能在将来的面试中遇到):

    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 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
    5. 查找当前目录设置过set_uid的文件,为了使该题更加简单,设定要查找的文件权限为4644,请参考上面的9。

      find . -perm 4644 

  • 相关阅读:
    docker: 定时检查docker container的运行状态并发邮件报警
    docker: 解决centos7下cgroup.procs: no such device的错误
    Redis: 改变HomeBrew安装的数据库文件目录
    MySQL: 改变Homebrew安装MySQL/MariaDB的数据库文件目录
    Node: 在Mac中离线安装Sqlite3
    通过DaoCloud发布Ghost
    Node: Updating npm's bundled node gyp
    Android Broadcast管理
    Android PackageManager packages.xml文件格式
    Android PackageManager概览
  • 原文地址:https://www.cnblogs.com/LinuxSuDa/p/4333033.html
Copyright © 2020-2023  润新知