【RH124知识点问答题】第3章 从命令行管理文件

目录

1. 怎么理解“Linux中一切皆文件”?Linux是如何组织文件的?

2. Linux目录树中有哪些重要的目录及其用途?

3. 如何识别一个路径名是绝对路径名还是相对路径名?

4. 有三个特殊目录,请列举。

5. rm -r 和 rmdir (rm -d) 有什么区别?

6. 怎么理解文件间的链接?有几种方式可以管理文件间的链接?它们有什么区别?

7. 如何创建软连接和硬链接? 如何查看?

8. 说出以下通配符的匹配项:* 、? 、??? 、 a* 、*b、*c* 、[ac]* 、[^abc] 、[!abc]

9. $HOSTNAME 、${HOSNAME} 、$(hostname) 这三个字符串的区别是什么?

10. 如何防止 shell 命令参数被扩展?

11. 为防止shell 命令参数被扩展,使用单引号和双引号有什么区别?


1. 怎么理解“Linux中一切皆文件”?Linux是如何组织文件的?

(1)“Linux中一切皆文件”的理解和文件组织:

在Linux中,“一切皆文件”指的是Linux将各种设备、目录、文件等都视为文件对象进行管理。这种统一的文件系统视图简化了对系统资源的访问和管理。

(2)Linux文件系统的组织:

Linux文件系统的组织是基于树状结构的,根目录 / 下包含了各种子目录和文件,每个子目录又可以包含更多的子目录或文件。文件系统通常由文件、目录、链接和特殊文件(如设备文件)组成。


2. Linux目录树中有哪些重要的目录及其用途?

bin:存放系统核心命令。

boot:存放启动Linux时使用的文件。

etc:存放系统的配置文件。

home:普通用户的主目录。

root:超级用户(root)的主目录。

tmp:存放临时文件。

usr:存放系统应用程序和文件。

var:存放经常变化的文件,比如日志文件。

⑨ dev:存放设备描述文件,用于与系统中的硬件设备和虚拟设备进行交互。

⑩ media和mnt:用于挂载可移动设备(如光盘、USB闪存驱动器)和临时挂载点的目录。通常,media用于自动挂载,而mnt用于手动挂载。


3. 如何识别一个路径名是绝对路径名还是相对路径名?

绝对路径名以 /(斜杠) 开头,例如 /home/user/file.txt ;

相对路径名不以 / (斜杠)开头,例如 .../.../file.txt 。


4. 有三个特殊目录,请列举。

① .(一点):表示当前目录

② ..(两点):表示父级目录

③ /(斜杠):表示根目录


5. rm -r 和 rmdir (rm -d) 有什么区别?

rm -r :递归删除目录及其内容;

rmdirrm -d):只能删除空目录。


6. 怎么理解文件间的链接?有几种方式可以管理文件间的链接?它们有什么区别?

(1)文件间的连接:

文件链接是指在文件系统中创建一个文件名,指向另一个文件的链接。

(2)主要有两种链接方式:硬链接和软链接。

硬链接:创建的是一个指向inode的新目录项,它与原始文件共享inode和数据块。

类似于:从一个盘向另一个盘复制粘贴文件的缓冲加载过程,该过程就是在创建硬连接的过程。

软链接符号链接):创建的是一个指向原始文件路径的特殊文件。

类似于:Windows中的快捷方式。

(3)二者的区别:

创建方式:硬链接创建的是同一inode下的额外文件名,而软链接创建的是一个特殊的文件,内容是目标的路径名。

目标类型:硬链接只能指向文件,软链接可以指向文件或目录。

③ 文件系统限制:硬链接不能跨文件系统,软链接可以。

删除行为:删除原始文件后,硬链接仍然可以访问原始数据;删除原始文件后,软链接指向的路径无效,即“死链接”。


7. 如何创建软连接和硬链接? 如何查看?

① 创建软链接:ln -s ;

② 创建硬链接:ln ;

③ 查看链接:ls -l 。


8. 说出以下通配符的匹配项:* 、? 、??? 、 a* 、*b、*c* 、[ac]* 、[^abc] 、[!abc]

① * :任意字符序列(包括空序列)。

② ? :任意单个字符。

③ ??? :正好三个字符。

④ a* :以 a 开头的任意字符序列。

⑤ *b :以 b 结尾的任意字符序列。

⑥ *c* :包含字符 c 的任意字符序列。

⑦ [ac]* :以 a 或 c 开头的任意字符序列。

⑧ [^abc] 或 [!abc] :不以 a、b 或 c 开头的任意字符序列。


9. $HOSTNAME 、${HOSNAME} 、$(hostname) 这三个字符串的区别是什么?

① $HOSTNAME:环境变量,表示当前主机的名称。

② ${HOSNAME}:如果没有定义环境变量 HOSNAME,会直接展示为 ${HOSNAME}。

③ $(hostname):命令替换,执行 hostname 命令并将结果插入到该位置。


10. 如何防止 shell 命令参数被扩展?

使用 ' '(单引号)或者 \(反斜杠)可以防止 shell 对命令参数进行扩展。


11. 为防止shell 命令参数被扩展,使用单引号和双引号有什么区别?

单引号 ' ' :禁止 shell 对字符串中的特殊字符进行扩展,所有字符都被视为普通字符。

双引号 " " :允许在字符串中使用变量,并会对变量进行扩展,但不会对部分特殊字符如 $、\ 和 `` 进行扩展。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值