【RH124知识点问答题】第5章 创建、查看和编辑文本文件

目录

1. 怎么理解 I/O 重定向?

2. /dev/null 是什么?有什么用途?

3. 解释下列命令的结果:&> /dev/null 、2>> file

4. 怎么理解管道?管道和重定向有什么区别?

5. 在什么情况下需要使用 tee 命令?举例说明如何使用。

6. vim 是什么?vim 和 vi 有什么关系?

7. vim 里有几种运行模式,分别说明每种模式下的简单操作。

8. shell 会话是什么?一个用户可以启动多个shell会话吗?

9. 说明 shell 变量(或 bash 变量)和环境变量的区别。

10. PATH 环境变量有什么重要作用?

11. 分别在 /etc/profile、~/.bash_profile 和 ~/.bashrc 设置环境变量时有什么区别?


1. 怎么理解 I/O 重定向?

I/O 重定向是一种操作,用于改变命令的输入源或输出目的地

在Linux 系统中,有三种标准的I/O 流:

① 标准输入( stdin ,文件描述符0):默认从键盘输入;

② 标准输出(stdout,文件描述符1):默认输出到终端;

③ 标准错误( stderr,文件描述符2):默认输出到终端。


2. /dev/null 是什么?有什么用途?

(1)/dev/null 是一个特殊的设备文件,它丢弃一切写入它的数据,并且当从它读取时,会立即返回文件结尾(即空)。

(2)用途:通常用于丢弃不需要的输出或者作为一个空文件,可以用来测试命令是否成功执行,或者阻止输出显示在屏幕上。


3. 解释下列命令的结果:&> /dev/null 、2>> file

(1)&> /dev/null:将命令的标准输出和标准错误都重定向到 /dev/null,即丢弃所有输出。

(2)2>> file:将命令的标准错误追加到文件file 的末尾。


4. 怎么理解管道?管道和重定向有什么区别?

(1)管道的理解:

管道:用| 符号连接两个命令,将一个命令的输出作为另一个命令的输入。

(2)重定向的理解:

重定向:改变命令的输入源或输出目的地,可以重定向到文件或设备。

(3)管道和重定向的区别:

重定向是改变 I/O 流的方向或目的地;而管道是连接两个命令的输出和输入。


5. 在什么情况下需要使用 tee 命令?举例说明如何使用。

(1)使用 tee 命令的情况:

当你需要同时将命令的输出输出到屏幕上和文件中时,可以使用 tee 命令。

(2)举例说明:

将 ls 命令的输出同时显示在屏幕上并保存到文件 list.txt 中:ls | tee list.txt


6. vim 是什么?vim 和 vi 有什么关系?

(1)vim

vim 是一款功能强大的文本编辑器,常用于 Linux 和 Unix 系统。

(2)vim 与 vi 的关系:

vi:是vim 的前身,是一个基于行编辑的文本编辑器。vim 在 vi 的基础上增加了许多功能和改进,因此可以认为 vim 是 vi 的增强版。


7. vim 里有几种运行模式,分别说明每种模式下的简单操作。

① 普通模式(Normal mode):用于浏览和编辑文件;

i :进入编辑模式;

③ dd :删除当前行;

④ yy :复制当前行;

:x :保存文件并退出;

:q :退出vim。


8. shell 会话是什么?一个用户可以启动多个shell会话吗?

(1)shell 会话

shell 会话是用户与操作系统交互的过程,通常通过终端或终端仿真器进行。每个打开的终端窗口或会话都是一个独立的Shell 会话。

(2)多个 shell 会话:

一个用户可以同时启动多个Shell 会话,每个会话都有自己的环境和状态。


9. 说明 shell 变量(或 bash 变量)和环境变量的区别。

(1)shell 变量(或 bash 变量)

shell 变量只在当前 shell 会话中有效,通常用于存储临时数据或设置 shell 的工作环境。

(2)环境变量

环境变量是一种全局变量,对所有 shell 会话和其衍生的进程都可见,用于定义系统环境和配置。

(3)二者的区别

① 作用范围:

shell 变量:shell 变量是在当前 shell(命令行界面)中定义的变量,仅在当前 shell 进程及其子进程中有效。

环境变量:环境变量是在操作系统的整个环境中可用的变量,对所有的子进程都可见。它们由操作系统传递给每个新创建的进程;环境变量通常用于设置常用的配置选项和路径信息。

② 设置方式:

shell 变量:shell 变量可以通过直接在 shell 中赋值来设置,也可以通过 shell 脚本或者命令行中的变量赋值语句来设置。

环境变量:环境变量通常在操作系统的配置文件中或者在启动Shell时通过命令行参数 -e 或 -E 来设置。

③ 可见性和继承性:

shell 变量:shell 变量只在当前的 shell 进程及其子进程中可见和继承。如果在子 shell 中重新定义一个与父 shell 同名的变量,则子 shell 中的定义会覆盖父 shell 的定义。

环境变量:环境变量在当前 shell 以及所有由当前 shell 创建的进程中都是可见的和继承的。子进程会继承父进程中已定义的所有环境变量,除非在子进程中显式地重新定义或修改了这些变量。


10. PATH 环境变量有什么重要作用?

PATH 环境变量指定了操作系统搜索命令时的路径列表

当输入一个命令时,操作系统会按照 PATH 中定义的顺序在这些路径中查找可执行文件,找到则执行。


11. 分别在 /etc/profile、~/.bash_profile 和 ~/.bashrc 设置环境变量时有什么区别?

/etc/profile 作用于系统所有用户,.bash_profile 和 .bashrc 作用于单个用户。

.bash_profile 在用户登录时执行,设置用户的环境变量和启动命令。

.bashrc 在每次新打开的交互式 shell 会话时执行,用于设置用户的 shell 运行时环境。

 

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值