Linux操作系统中关于“创建、查看和编辑文本文件”部分相关重要
内容(精简版)
1. 理解 I/O 重定向
更改进程获取输入或输出的方式,可以对文件读取或写入,而不从键盘输入,也不将输出发送到终端。相当于一个管道,管道一头连接数据,另一头可以连接到任何文件,可以进行读取 写入。
2. /dev/null 是什么,有什么用途?
特殊设备文件,黑洞,可以丢弃写入中的一切东西。
3. 解释下列命令的结果:&> /dev/null 、2>> file
1.所有的输出都放空
2.错误输出存入file文件
4. 怎么理解管道?管道和重定向有什么区别?
管道可以将一个程序的输出数据通过一个通道输入给另一个程序。
管道更适合于进程间的通信,能够显著提高处理速度,而重定向则更多地用于改变命令的默认输入输出行为,通常涉及到文件的读写
5. 在什么情况下需要使用 tee 命令?举例说明如何使用。
在需要查看和保存同时进行时使用tee命令
例:ls -l | tee file
查看并输出并保存
6. vim 是什么?vim 和 vi 有什么关系?
Vim是文本编辑器,vim是vi的增强版
7. vim 里有几种运行模式,分别说明每种模式下的简单操作。
插入:按下i或insert 进入插入模式,可以进行编辑。按esc返回命令模式,使用:w保存:q出,:x保存并退出
命令行:按下“:”进入命令行模式
块模式: ctrl + v 进入块模式
8. shell 会话是什么?一个用户可以启动多个 shell 会话吗?
用户与系统进行交互的会话过程,一个用户可以启动多个shell会话。
9. 说明 shell 变量(或 bash 变量)和环境变量的区别。
Shell变量只局限于当前会话,环境变量对当前shell会话及其子会话都可见。
10. PATH 环境变量有什么重要作用?
执行命令;方便脚本运行;减少重复劳动;系统和用户级别的配置;可扩展性;避免冲突和管理依赖;跨平台性。
11. 分别在/etc/profile、~/.bash_profile 和 ~/.bashrc 设置环境变量时有什么区别?
- /etc/profile: 此文件为系统级别的配置文件,对所有用户有效。当用户登录时,该文件被执行一次。
- ~/.bash_profile: 对单个用户有效,当用户登录时,该文件被执行。如果/etc/profile和~/.bash_profile都存在,则后者会覆盖前者对于同一个变量的设置。
- ~/.bashrc: 对单个用户有效,当新的bash shell被打开时,该文件被执行。