Linux:第四章课后习题及答案

第四章 目录和文件管理

Q1:Linux系统中有哪些文件类型

  • Linux文件类型常见的有:普通文件、目录 文件、设备文件(字符设备文件和块设备 文件)、管道文件和符号链接文件等。
  • 普通文件
    • 用“ls -lh”命令查看某个文件的属性, 可以看到有类似“-rw-------”的属性符 号,其属性第一个符号是“-”,这样的文 件在Linux系统中就是普通文件。这些文件 一般是用一些相关的应用程序创建,比如 图像工具、文档工具或归档工具等
  • 目录文件
    • 当在某个目录下执行“ls -lh”命令,看 到有类似“drwxr-xr-x”的属性符号,其 属性第一个符号是“d”,这样的文件在 Linux系统中就是目录文件。
  • 设备文件
    • Linux系统中的/dev目录中有大量的设备文 件,主要是块设备文件和字符设备文件
    • 块设备文件 : 块设备的主要特点是可以随机读写,而最 常见的块设备就是磁盘,如/dev/hda1、 /dev/sda1等。用“ls -l”命令查看某个 文件的属性,可以看到有类似“brw-rw--- -”的属性符号,其属性第一个符号是 “b”,这样的文件在Linux系统中就是块 设备文件。
    • 字符设备文件 : 最常见的字符设备文件是打印机和终端, 可以接收字符流。/dev/null是一个非常有 用的字符设备文件,送入这个设备的所有 内容都被忽略。用“ls -l”命令查看某个 文件的属性,可以看到有类似“crw--w--- -”的属性符号,其属性第一个符号是 “ c”,这样的文件在Linux系统中就是字 符设备文件。
  • 管道文件
    • 管道文件有时候也被叫做FIFO文件(FIFO 是先进先出的意思),管道文件就是从一 头流入,从另一头流出。用“ls -l”命令 查看某个文件的属性,可以看到有类似 “prw-------”的属性符号,其属性第一 个符号是“p”,这样的文件在Linux系统 中就是管道文件。
  • 链接文件
    • 链接文件有两种类型:软链接文件和硬链接文件。

Q2:软连接和硬链接的区别

  • 软链接: 软链接文件又叫符号链接文件,这个文件包含了另一个文 件的路径名。其可以是任意文件或目录,可以链接不同文 件系统的文件。在对软链接文件进行读写的时候,系统会 自动地把该操作转换为对源文件的操作,但删除软链接文件时,系统仅仅删除软链接文件,而不删除源文件本身。 用“ls -l”命令查看某个文件的属性,可以看到有类似 “lrwxrwxrwx”的属性符号,其属性第一个符号是“l”, 这样的文件在Linux系统中就是软链接文件。
  • 硬链接: 硬链接是已存在文件的另一个文件,对硬链接文件进行读 写和删除操作时,结果和软链接相同。但如果删除硬链接 文件的源文件,硬链接文件仍然存在,而且保留了原有的 内容。这时,系统就“忘记”了它曾经是硬链接文件,而 把它当成一个普通文件。 用“ls -l”命令查看某个文件的属性,可以看到第二列 的文件硬链接数大于1 ,这样的文件在Linux系统中就是 硬链接文件。

  • 补充
  • 软链接文件:软链接又称为符号链接,这个文件包含了另一个文件/目录的路径名。
    • 用“ls -l”命令查看某个文件的属性,可以看到有类似“lrwxrwxrwx”的属性符号,其属性第一个符号是“l”,这样的文件在 Linux系统中就是软链接文件。
  • 硬链接文件:硬链接是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用ln命令来建立硬链接。硬链接节省空间,也是Linux 系统整合文件系统的传统方式。
  • 硬链接文件有两个限制:
    • 不允许给目录创建硬链接;(但是软连接中可以为一个目录创建一个快捷方式)
    • 只有在同一文件系统中的文件之间才能创建硬链接。(软链接可以跨文件系统)
  • 硬链接和软链接的区别
    • 硬链接记录的是目标的inode,软链接记录的是目标的路径。
    • 软链接就像是快捷方式,而硬链接就像是备份。(只要硬链接还在,你就不能真正删掉那个文件——除非你直接把他覆写)
    • 软链接可以做跨分区的链接,而硬链接由于inode的缘故,只能在本分区中做链接。所以,软链接的使用频率要高得多。

Q3:简述Linux系统中的目录结构

  • Linux系统都有根文件系统,它包含系统引 导和使其它文件系统得以挂载所必要的文 件,根文件系统需要有单用户状态所必须 的足够的内容,还应该包括修复损坏系统、 恢复备份等工具。
  • Linux系统的目录结构是分层的树形结构, 都是挂载在根文件系统“/”下。

Q4:简述使用“ls -l”命令显示的详细信息

  • 示例:drwxr-xr-x
  • ls -l显示的详细信息中,一共有10个字符,第一个字符表示文件类型,后面9个字符表示文件权限。
  • 文件类型:
    • -表示普通文件。普通文件指文本文件和二进制文件,如a.c 1.txt a.out都是普通文件
    • d 表示文件夹,d是directory的缩写
    • l 表示符号连接文件,后面会用->打印出它指向的文件
    • s 表示socket文件
    • p 表示管道文件 pipe
  • 文件权限:
    • 前三个表示此文件的属主对文件的权限
    • 中间三个表示此文件属主所在的组对文件的权限
    • 最后三个表示其他用户对文件的权限
    • rwx怎么解析:r代表可读,w代表可写,x代表可执行
    • rwx:可读,可写,可执行
    • r-x: 可读,不可写,可执行
    • r–: 可读,不可写,不可执行

Q5:使用什么命令可以删除具有子目录的目录

  • rm -rf

补充:常用命令

  • pwd:显示工作目录路径
    • pwd [选项]
    • 【例4.1】 显示用户当前工作目录路径。 [root@rhel sysconfig]# pwd /etc/sysconfig //用户当前工作目录路径是/etc/sysconfig
  • cd:更改工作目录路径
    • cd [选项] [目录]
    • 【例4.2】 更改用户工作目录路径为/etc。 [root@rhel sysconfig]# cd /etc [root@rhel etc]# pwd /etc //查看当前目录,已经更改为/etc了
    • 【例4.3】 更改目录位置至当前目录的父目录。 [root@rhel etc]# pwd /etc [root@rhel etc]# cd .. [root@rhel /]# pwd / //可以看到目录已经更改为当前目录的父级目录“/”了
    • 【例4.4】 更改目录位置为用户主目录。 [root@rhel /]# pwd / [root@rhel /]# cd ~ [root@rhel ~]# pwd /root //可以看到目录已经更改为当前用户的主目录
    • 【例4.5】 更改目录位置至用户zhangsan的主目录。 [root@rhel ~]# cd ~zhangsan [root@rhel zhangsan]# pwd /home/zhangsan //可以看到目录已经更改为用户zhangsan的主目录/home/zhangsan
  • ls:列出目录和文件的详细信息
    • 【例4.7】 显示/root目录下所有文件目录的详细信息,包括隐 藏文件。 [root@rhel ~]# ls -al /root

  • touch:创建空文件、更改文件时间
    • touch [选项] [文件]
    • 【例4.9】 创建空文件file,file1和file2。 [root@rhel ~]# touch file1 [root@rhel ~]# touch file2 file3
    • 【例4.10】 将文件file1的时间记录改为6月7日19点 30分,时间格式为MMDDHHmm。 [root@rhel ~]# touch -c -t 06071930 file1
  • mkdir:创建空文件夹
    • mkdir [选项] [目录]
    • 【例4.11】 创建目录newdir1,其默认权限为755。 [root@rhel ~]# mkdir newdir1
  • rmdir:删除空目录
    • rmdir [选项] [目录]
    • 【例4.13】 删除空目录newdir1。 [root@rhel ~]# rmdir newdir1
  • cp:复制文件和目录
    • cp [选项] [源文件|目录] [目标文件|目录]
    • 【例4.15】 将/etc/grub2.cfg文件复制到/root目 录下,并改名为grub。 [root@rhel ~]# cp /etc/grub2.cfg /root/grub
    • 【例4.16】 将文件/etc/grub2.cfg复制到/root目 录下。 [root@rhel ~]# cp /etc/grub2.cfg /root
    • 【例4.17】 将/boot目录中的所有文件及其子目录 复制到目录/root中。 [root@rhel ~]# cp -r /boot /root
  • mv:文件或目录改名、移动文件和目录路径
    • mv [选项] [源文件|目录] [目标文件|目录]
    • 【例4.18】 将/root/picture目录下所有的后缀名为“.png” 的文件移到/usr/local/share/picture目录下。 [root@rhel ~]# mv -f /root/picture/*.png /usr/local/share/picture
    • 【例4.19】 把/root/picture目录下的文件kdepic.png改名 为life.png。 [root@rhel ~]# mv /root/picture/kdepic.png /root/picture/life.png
    • 【例4.20】 把目录/root/pitcure名称更改为 /root/mypicture。 [root@rhel ~]# mv /root/picture /root/mypicture
  • rm:删除文件或目录
    • rm [选项] [文件|目录]
    • 【例4.21】 删除当前目录下的file4文件。 [root@rhel ~]#rm file4 rm:是否删除普通文件 “file4”? y//输入y确认删除该文件
    • 【例4.22】 连同文件/root/ab/a和目录/root/ab一起删除。 [root@rhel ~]# mkdir /root/ab [root@rhel ~]# touch /root/ab/a //创建目录/root/ab和文件/root/ab/a [root@rhel ~]# rm -rf /root/ab //连同文件/root/ab/a和目录/root/ab一起删除
  • wc:统计文件行数、单词数、字节数、字符数
    • wc [选项] [文件]
    • 【例4.23】 统计/root/aa文件的行数、单词数和 字符数。 [root@rhel ~]#cat /root/aa a b c de f 中国 g h //查看/root/aa文件内容 [root@rhel ~]#wc /root/aa 3 8 22 /root/aa

猜你喜欢

转载自blog.csdn.net/qq_46119575/article/details/131335570