鸟哥的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 多重开机安装流程与管理
    • 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 BashShell的操作环境
    • 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 什么是ShellScripts
    • 12.2 简单的ShellScript练习
    • 12.3 善用判断式
    • 12.4 条件判断式
    • 12.5 循环loop
    • 12.6 ShellScript的追踪与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 CentOS7环境下大量创建账号的方法
    • 13.8 重点回顾
    • 13.9 本章习题
    • 13.10 参考资料与延伸阅读
  • 第十四章 磁盘配额(Quota)与进阶文件系统管理
    • 14.1 磁盘配额Quota的应用与实作
    • 14.2 软件磁盘阵列SoftwareRAID
    • 14.3 逻辑卷轴管理员LogicalVolumeManager
    • 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 工作管理JobControl
    • 16.3 程序管理
    • 16.4 特殊文件与程序
    • 16.5 SELinux初探
    • 16.6 重点回顾
    • 16.7 本章习题
    • 16.8 参考资料与延伸阅读
  • 第十七章 认识系统服务(daemon)
    • 17.1 什么是daemon与服务service
    • 17.2 通过systemctl管理服务
    • 17.3 systemctl针对service类型的配置文件
    • 17.4 systemctl针对timer的配置文件
    • 17.5 CentOS7.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 BootLoader-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
    • 21.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
    • 22.5 重点回顾
    • 22.6 本章习题
    • 22.7 参考资料与延伸阅读
  • 第二十三章 X Window设置介绍
    • 23.1 什么是XWindowSystem
    • 23.2 XServer配置文件解析与设置
    • 23.3 显卡驱动程序安装范例
    • 23.4 重点回顾
    • 23.5 本章习题
    • 23.6 参考资料与延伸阅读
  • 第二十四章 核心编译
    • 24.1 编译前的任务-认识核心与取得核心源代码
    • 24.2 核心编译的前处理与核心功能选择
    • 24.3 核心的编译与安装
    • 24.4 额外-单一核心模块编译
    • 24.5 以最新核心版本编译CentOS7.x的核心
    • 24.6 重点回顾
    • 24.7 本章习题
    • 24.8 参考资料与延伸阅读
Powered by GitBook
On this page
  1. 第四章 首次登陆与线上求助

4.7 本章习题

( 要看答案请将鼠标移动到“答:”下面的空白处,按下左键圈选空白处即可察看)


情境仿真题一:我们在纯命令行,例如tty2里面看到的欢迎画面,就是在那个login:之前的画面(CentOS Linux 7 ...)是怎么来的?

  • 目标:了解到终端机接口的欢迎讯息是怎么来的?

  • 前提:欢迎讯息的内容,是记录到/etc/issue当中的

  • 需求:利用man找到该文件当中的变量内容

情境仿真题一的解决步骤:

  1. 欢迎画面是在/etc/issue文件中,你可以使用“nano /etc/issue”看看该文件的内容(注意,不要修改这个文件内容,看完就离开),这个文件的内容有点像下面这样:

\S
Kernel \r on an \m
  1. 与tty3比较之下,发现到核心版本使用的是 \r 而硬件等级则是 \m 来取代,这两者代表的意义为何? 由于这个文件的文件名是issue,所以我们使用“man issue”来查阅这个文件的格式;

  2. 通过上一步的查询我们会知道反斜线(\)后面接的字符是与agetty(8)及mingetty(8)有关,故进行“man agetty”这个指令的查询。

  3. 由于反斜线(\)的英文为“escape”因此在上个步骤的man环境中,你可以使用“/escape”来搜寻各反斜线后面所接字符所代表的意义为何。

  4. 请自行找出:如果我想要在/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:03 date +%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还是可以通过图形接口功能来关机。

Previous4.6 重点回顾Next4.8 参考资料与延伸阅读

Last updated 2 years ago