## 4.7 本章习题
( 要看答案请将鼠标移动到“答:”下面的空白处,按下左键圈选空白处即可察看)
* * *
情境仿真题一:我们在纯命令行,例如tty2里面看到的欢迎画面,就是在那个login:之前的画面(CentOS Linux 7 ...)是怎么来的?
* 目标:了解到终端机接口的欢迎讯息是怎么来的?
* 前提:欢迎讯息的内容,是记录到/etc/issue当中的
* 需求:利用man找到该文件当中的变量内容
情境仿真题一的解决步骤:
1. 欢迎画面是在/etc/issue文件中,你可以使用“nano /etc/issue”看看该文件的内容(注意,不要修改这个文件内容,看完就离开),这个文件的内容有点像下面这样:
```
\S
Kernel \r on an \m
```
2. 与tty3比较之下,发现到核心版本使用的是 \r 而硬件等级则是 \m 来取代,这两者代表的意义为何? 由于这个文件的文件名是issue,所以我们使用“man issue”来查阅这个文件的格式;
3. 通过上一步的查询我们会知道反斜线(\)后面接的字符是与agetty(8)及mingetty(8)有关,故进行“man agetty”这个指令的查询。
4. 由于反斜线(\)的英文为“escape”因此在上个步骤的man环境中,你可以使用“/escape”来搜寻各反斜线后面所接字符所代表的意义为何。
5. 请自行找出:如果我想要在/etc/issue文件内表示“时间(localtime)”与“tty号码(如tty1, tty2的号码)”的话, 应该要找到那个字符来表示(通过反斜线的功能)?(答案为:\t 与 \l)
* * *
简答题部分:
* 简单的查询一下,Physical console / Virtual console / Terminal 的说明为何?console 有“控制台”的意思在里面,因此你可以这样看的:
* 实体控制台:实体的屏幕、键盘、鼠标等界面,让你可以使用该配备来操作系统的环境,就称为实体控制台 (Physical console)
* 虚拟控制台:由系统衍生出的虚拟控制台,你可以通过该虚拟控制台搭配你自己系统的实体配备,来操作远端系统的环境。每个虚拟控制台都是独立运行的。
* 终端机:你可以用该界面来取得一个可以控制系统的 shell 环境。
由这些定义来看,一般来说,我们取得可以与系统互动的环境,大致上都称为 terminal 就是了。
* 请问如果我以文字模式登陆Linux主机时,我有几个终端机接口可以使用?如何切换各个不同的终端机接口?共有六个, tty1 ~ tty6 ,切换的方式为 Crtl + Alt + [F1]~[F6]
* 在Linux系统中,/VBird与/vbird是否为相同的文件?两者为不同的文件,因为 Linux 系统中,大小写字母代表意义不一样!
* 我想要知道 date 如何使用,应该如何查询?最简单的方式就是使用 man date 或 info date 来查看,如果该套件有完整说明的话,那么应该也可以在 /usr/share/doc 里面找到说明文档!
* 我想要在今天的 1:30 让系统自己关机,要怎么做?shutdown -h 1:30
* 如果我 Linux 的 X Window 突然发生问题而挂掉,但 Linux 本身还是好好的,那么我可以按下哪三个按键来让 X window 重新启动?[crtl]+[alt]+[backspace]
* 我想要知道 2010 年 5 月 2 日是星期几?该怎么做?最简单的方式直接使用 cal 5 2010 即可找出 2010 年 5 月份的月历。
* 使用 man date 然后找出显示目前的日期与时间的参数,成为类似:2015/10/16-20:03date +%Y/%m/%d-%H:%M
* 若以 X-Window 为默认的登陆方式,那请问如何进入 Virtual console 呢?可以按下 [Ctrl] + [Alt] + [F2] ~ [F6] 进入 Virtual console ( 共六个 ); 而按下 [Ctrl] + [Alt] + [F1] 可回到 X-Window 的 desktop 中!
* 简单说明在 bash shell 的环境下, [tab] 按键的用途?[Tab] 按键可做为命令补齐或文件补齐的功能,与所接的指令位置有关。 接在一串指令的第一个单字后面,则为命令补齐,否则则为文件补齐! 目前尚有选项/参数补齐的功能。
* 如何强制中断一个程序的进行?(利用按键,非利用 kill 指令)可以利用 [Ctrl] + c 来中断!
* Linux 提供相当多的线上查询,称为 man page,请问,我如何知道系统上有多少关于 passwd 的说明?又,可以使用其他的程序来取代 man 的这个功能吗?可以利用 man -f passwd 来查询,另外,如果有提供 info 的文件数据时 (在 /usr/share/info/ 目录中) ,则能够利用 info passwd 来查询之!
* 在 man 的时候, man page 显示的内容中,指令(或文件)后面会接一组数字,这个数字若为 1, 5, 8 ,表示该查询的指令(或文件)意义为何?代表意义为 1) 一般使用者可以使用的指令或可可执行文件案 5)一些配置文件的文件内容格式 8)系统管理员能够使用的管理指令。
* man page 显示的内容的文件是放置在哪些目录中?放置在 /usr/share/man/ 与 /usr/local/man 等默认目录中。
* 请问这一串指令“ foo1 -foo2 foo3 foo4 ”中,各代表什么意义?foo1 一定是指令, -foo2 则是 foo1 这个指令的选择项目参数, foo3 与 foo4 则不一定, 可能是 foo1 的参数设置值,也可能是额外加入的 parameters。
* 当我输入 man date 时,在我的终端机却出现一些乱码,请问可能的原因为何?如何修正?如果没有其他错误的发生,那么发生乱码可能是因为语系的问题所致。 可以利用 export LANG=en_US.utf8 或者是 export LC_ALL=en_US.utf8 等设置来修订这个问题。
* 我输入这个指令“ls -al /vbird”,系统回复我这个结果:“ls: /vbird: No such file or directory” 请问发生了什么事?”不要紧张,很简单的英文,因为系统根本没有 /vbird 这个文件的存在啊! ^_^
* 我想知道目前系统有多少指令是以 bz 为开头的,可以怎么作?直接输入 bz[tab][tab] 就可以知道了!
* 承上题,在出现的许多指令中,请问 bzip2 是干嘛用的?在使用 man bzip2 之后,可以发现到,其实 bzip2 是用来作为压缩与解压缩文件用的!
* 在终端机里面登陆后,看到的提示字符 $ 与 # 有何不同?平时操作应该使用哪一个?# 代表以 root 的身份登陆系统,而 $ 则代表一般身份使用者。依据提示字符的不同, 我们可以约略判断登陆者身份。一般来说,建议日常操作使用一般身份使用者登陆,亦即是 $ !
* 我使用dmtsai这个帐号登陆系统了,请问我能不能使用reboot来重新开机? 若不能,请说明原因,若可以,请说明指令如何下达?理论上reboot仅能让root执行。不过,如果dmtsai是在主机前面以图形接口登陆时,则dmtsai还是可以通过图形接口功能来关机。
- 鸟哥的Linux私房菜:基础学习篇 第四版
- 目录及概述
- 第零章、计算机概论
- 0.1 电脑:辅助人脑的好工具
- 0.2 个人电脑架构与相关设备元件
- 0.3 数据表示方式
- 0.4 软件程序运行
- 0.5 重点回顾
- 0.6 本章习题
- 0.7 参考资料与延伸阅读
- 第一章、Linux是什么与如何学习
- 1.1 Linux是什么
- 1.2 Torvalds的Linux发展
- 1.3 Linux当前应用的角色
- 1.4 Linux 该如何学习
- 1.5 重点回顾
- 1.6 本章习题
- 1.7 参考资料与延伸阅读
- 第二章、主机规划与磁盘分区
- 2.1 Linux与硬件的搭配
- 2.2 磁盘分区
- 2.3 安装Linux前的规划
- 2.4 重点回顾
- 2.5 本章习题
- 2.6 参考资料与延伸阅读
- 第三章、安装 CentOS7.x
- 3.1 本练习机的规划--尤其是分区参数
- 3.2 开始安装CentOS 7
- 3.3 多重开机安装流程与管理(Option)
- 3.4 重点回顾
- 3.5 本章习题
- 3.6 参考资料与延伸阅读
- 第四章、首次登陆与线上求助
- 4.1 首次登陆系统
- 4.2 文字模式下指令的下达
- 4.3 Linux系统的线上求助man page与info page
- 4.4 超简单文书编辑器: nano
- 4.5 正确的关机方法
- 4.6 重点回顾
- 4.7 本章习题
- 4.8 参考资料与延伸阅读
- 第五章、Linux 的文件权限与目录配置
- 5.1 使用者与群组
- 5.2 Linux 文件权限概念
- 5.3 Linux目录配置
- 5.4 重点回顾
- 5.5 本章练习
- 5.6 参考资料与延伸阅读
- 第六章、Linux 文件与目录管理
- 6.1 目录与路径
- 6.2 文件与目录管理
- 6.3 文件内容查阅
- 6.4 文件与目录的默认权限与隐藏权限
- 6.5 指令与文件的搜寻
- 6.6 极重要的复习!权限与指令间的关系
- 6.7 重点回顾
- 6.8 本章习题:
- 6.9 参考资料与延伸阅读
- 第七章、Linux 磁盘与文件系统管理
- 7.1 认识 Linux 文件系统
- 7.2 文件系统的简单操作
- 7.3 磁盘的分区、格式化、检验与挂载
- 7.4 设置开机挂载
- 7.5 内存交换空间(swap)之创建
- 7.6 文件系统的特殊观察与操作
- 7.7 重点回顾
- 7.8 本章习题 - 第一题一定要做
- 7.9 参考资料与延伸阅读
- 第八章、文件与文件系统的压缩,打包与备份
- 8.1 压缩文件的用途与技术
- 8.2 Linux 系统常见的压缩指令
- 8.3 打包指令: tar
- 8.4 XFS 文件系统的备份与还原
- 8.5 光盘写入工具
- 8.6 其他常见的压缩与备份工具
- 8.7 重点回顾
- 8.8 本章习题
- 8.9 参考资料与延伸阅读
- 第九章、vim 程序编辑器
- 9.1 vi 与 vim
- 9.2 vi 的使用
- 9.3 vim 的额外功能
- 9.4 其他 vim 使用注意事项
- 9.5 重点回顾
- 9.6 本章练习
- 9.7 参考资料与延伸阅读
- 第十章、认识与学习BASH
- 10.1 认识 BASH 这个 Shell
- 10.2 Shell 的变量功能
- 10.3 命令别名与历史命令
- 10.4 Bash Shell 的操作环境:
- 10.5 数据流重导向
- 10.6 管线命令 (pipe)
- 10.7 重点回顾
- 10.8 本章习题
- 10.9 参考资料与延伸阅读
- 第十一章、正则表达式与文件格式化处理
- 11.1 开始之前:什么是正则表达式
- 11.2 基础正则表达式
- 11.3 延伸正则表达式
- 11.4 文件的格式化与相关处理
- 11.5 重点回顾
- 11.6 本章习题
- 11.7 参考资料与延伸阅读
- 第十二章、学习 Shell Scripts
- 12.1 什么是 Shell scripts
- 12.2 简单的 shell script 练习
- 12.3 善用判断式
- 12.4 条件判断式
- 12.5 循环 (loop)
- 12.6 shell script 的追踪与 debug
- 12.7 重点回顾
- 12.8 本章习题
- 第十三章、Linux 帐号管理与 ACL 权限设置
- 13.1 Linux 的帐号与群组
- 13.2 帐号管理
- 13.3 主机的细部权限规划:ACL 的使用
- 13.4 使用者身份切换
- 13.5 使用者的特殊 shell 与 PAM 模块
- 13.6 Linux 主机上的使用者讯息传递
- 13.7 CentOS 7 环境下大量创建帐号的方法
- 13.8 重点回顾
- 13.9 本章习题
- 13.10 参考资料与延伸阅读
- 第十四章、磁盘配额(Quota)与进阶文件系统管理
- 14.1 磁盘配额 (Quota) 的应用与实作
- 14.2 软件磁盘阵列 (Software RAID)
- 14.3 逻辑卷轴管理员 (Logical Volume Manager)
- 14.4 重点回顾
- 14.5 本章习题
- 14.6 参考资料与延伸阅读
- 第十五章、例行性工作调度(crontab)
- 15.1 什么是例行性工作调度
- 15.2 仅执行一次的工作调度
- 15.3 循环执行的例行性工作调度
- 15.4 可唤醒停机期间的工作任务
- 15.5 重点回顾
- 15.6 本章习题
- 第十六章、程序管理与 SELinux 初探
- 16.1 什么是程序 (process)
- 16.2 工作管理 (job control)
- 16.3 程序管理
- 16.4 特殊文件与程序
- 16.5 SELinux 初探
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考资料与延伸阅读
- 第十七章、认识系统服务 (daemons)
- 17.1 什么是 daemon 与服务 (service)
- 17.2 通过 systemctl 管理服务
- 17.3 systemctl 针对 service 类型的配置文件
- 17.4 systemctl 针对 timer 的配置文件
- 17.5 CentOS 7.x 默认启动的服务简易说明
- 17.6 重点回顾
- 17.7 本章习题
- 17.8 参考资料与延伸阅读
- 第十八章、认识与分析登录文件
- 18.1 什么是登录文件
- 18.2 rsyslog.service :记录登录文件的服务
- 18.3 登录文件的轮替(logrotate)
- 18.4 systemd-journald.service 简介
- 18.5 分析登录文件
- 18.6 重点回顾
- 18.7 本章习题
- 18.8 参考资料与延伸阅读
- 第十九章、开机流程、模块管理与 Loader
- 19.1 Linux 的开机流程分析
- 19.2 核心与核心模块
- 19.3 Boot Loader: Grub2
- 19.4 开机过程的问题解决
- 19.5 重点回顾
- 19.6 本章习题
- 19.7 参考资料与延伸阅读
- 第二十章、基础系统设置与备份策略
- 20.1 系统基本设置
- 20.2 服务器硬件数据的收集
- 20.3 备份要点
- 20.4 备份的种类、频率与工具的选择
- 20.5 鸟哥的备份策略
- 20.6 灾难复原的考虑
- 20.7 重点回顾
- 20.8 本章习题
- 20.9 参考资料与延伸阅读
- 第二十一章、软件安装:源代码与 Tarball
- 20.1 开放源码的软件安装与升级简介
- 21.2 使用传统程序语言进行编译的简单范例
- 21.3 用 make 进行宏编译
- 21.4 Tarball 的管理与建议
- 21.5 函数库管理
- 21.6 检验软件正确性
- 21.7 重点回顾
- 21.8 本章习题
- 21.9 参考资料与延伸阅读
- 第二十二章、软件安装 RPM, SRPM 与 YUM
- 22.1 软件管理员简介
- 22.2 RPM 软件管理程序: rpm
- 22.3 YUM 线上升级机制
- 22.4 SRPM 的使用 : rpmbuild (Optional)
- 22.5 重点回顾
- 22.6 本章习题
- 22.7 参考资料与延伸阅读
- 第二十三章、X Window 设置介绍
- 23.1 什么是 X Window System
- 23.2 X Server 配置文件解析与设置
- 23.3 显卡驱动程序安装范例
- 23.4 重点回顾
- 23.5 本章习题
- 23.6 参考资料与延伸阅读
- 第二十四章、Linux 核心编译与管理
- 24.1 编译前的任务:认识核心与取得核心源代码
- 24.2 核心编译的前处理与核心功能选择
- 24.3 核心的编译与安装
- 24.4 额外(单一)核心模块编译
- 24.5 以最新核心版本编译 CentOS 7.x 的核心
- 24.6 重点回顾
- 24.7 本章习题
- 24.8 参考资料与延伸阅读