七.前六章知识点总结及练习
7.1 总结
7.2 练习
情境模拟题一:由于 ~/.bash_history 仅能记录指令,我想要在每次注销时都记录时间,并将后续的指令 50 笔记录下来, 可以如何处理? o 目标:了解 history ,并透过数据流重导向的方式记录历史命令; o 前提:需要了解本章的数据流重导向,以及了解 bash 的各个环境配置文件信息。 答:其实处理的方式非常简单,我们可以了解 date 可以输出时间,而利用 ~/.myhistory 来记录所有历史记录,而目前最新的 50 笔历史记录可以使用 history 50 来显示,故可以修改 ~/.bash_logout 成为底下的模样:
[ dmtsai@study ~] $ vim ~/.bash_logout
date >> ~/.myhistory
history 50 >> ~/.myhistory
在 Linux 上可以找到哪些 shell(举出三个) ?那个文件记录可用的 shell ?而 Linux 预设的 shell 是?
bash
sh
csh
/etc/shells
bash
你输入一串指令之后,发现前面写的一长串数据是错的,你想要删除游标所在处到最前面的指令串内容,应该如何处理? ctrl + u ctrl + k 向后删 ctrl + a 移动行首 ctrl + e 移到行尾 在 shell 环境下,有个提示字符 (prompt),他可以修改吗?要改什么?默认的提示字符内容是? 可以 环境变量PS1 $,『[\u@\h \W]$』==> [“目前使用者的账号名称”@“仅取主机名在第一个小数点之前的名字” “当前工作目录名”]$ 如何显示 HOME 这个环境变量?
[ root@node-135 ~]
/root
如何得知目前的所有变量与环境变量的设定值? 环境变量:env,export 所有变量:decaler,set
[ root@node-135 ~]
[ root@node-135 ~]
[ root@node-135 ~]
[ root@node-135 ~]
abcde = 1234
[ root@node-135 ~]
abcde = 1234
我是否可以设定一个变量名称为 3myhome ? 不可以,变量名有数字、字母和下划线组成,第一位不可以是数字 在这样的练习中『A=B』且『B=C』,若我下达『unset $A』,则取消的变数是 A 还是 B? B unset $A 相当于 unset B 如何取消变量与命令别名的内容? unset unalias 如何设定一个变量名称为 name 内容为 It’s my name ? name=“It’s my name” bash 环境配置文件主要分为哪两种类型的读取?分别读取哪些重要文件? login-shell/no-login-shell login-shell读取/etc/profile和~/.bash_profile no-login-shell读取~/.bashrc CentOS 7.x 的 man page 的路径配置文件案? /etc/man_db.conf 试说明 ', ", 与 这些符号在变量定义中的用途? 双单引号':标记字符串,字符串内容不支持转义 双双引号":标记字符串,字符串内容支持转义 双撇\
:用于执行其内的命令,同$() 跳脱符号 \ 有什么用途?
连续命令中, ;, &&, || 有何不同? ;:命令顺序执行,cmd1 ; cmd2,不管前一个命令cmd1 是否成功,cmd2都会执行 &&:cmd1 && cmd2 ,cmd1执行成功,执行cmd2。cmd1执行失败,不执行cmd2。 ||:cmd1 || cmd2 ,cmd1执行成功,不执行cmd2。cmd1执行失败,执行cmd2。 如何将 last 的结果中,独立出账号,并且印出曾经登入过的账号?
last| cut -d' ' -f 1
last| cut -d' ' -f 1 | sort | uniq
请问 foo1 && foo2 | foo3 > foo4 ,这个指令串当中, foo1/foo2/foo3/foo4 是指令还是文件? 整串指令的意义为? foo1,2,3指令,foo4文件 foo1执行失败,则程序结束 foo1执行成功,foo2执行成功,把stdout输出给foo3作为stdin,执行foo3,foo3执行完成后的结果输出给foo4 foo1执行成功,foo2执行失败,把空输出给foo3作为stdin,执行foo3,foo3执行完成后的结果输出给foo4,foo4里什么都没有 如何秀出在 /bin 底下任何以 a 为开头的文件文件名的详细资料?
[ root@node-135 ~]
如何秀出 /bin 底下,文件名为四个字符的文件?
ls -ld /bin/????
如何秀出 /bin 底下,档名开头不是 a-d 的文件?
ll /bin/[ ^a-d] *
我想要让终端机接口的登入提示字符修改成我自己喜好的模样,应该要改哪里?(filename)
[ root@node-135 ~]
\ S ( terminal: \ l)
Date: \ d \ t
Kernel \ r on an \ m
Welcome!
承上题,如果我是想要让使用者登入后,才显示欢迎讯息,又应该要改哪里?
[ root@node-135 ~]
Hello everyone,
Our server will be maintained at 2015 /07/10 0 :00 ~ 24 :00.
Please don't login server at that time. ^_^