当前位置: 首页 > article >正文

bash相关习题复习

1、由于 ~/.bash_history 仅能记录指令,我想要在每次注销时都记录时间,并将后续的指令 50 笔记录下来, 可以如何处理?
[root@ptivitic ~]# vim ~/.bash_logout 
date >> ~/.myhistory
history 50 >> ~/.myhistory

2、 Linux 上可以找到哪些 shell(举出三个) ?哪个文件记录可用的 shell ?而 Linux 预设的 shell 是?

  • /bin/shell、/bin/sh、/usr/bin/sh、/usr/bin/bash
  • /etc/shells
  • bash(/bin/bash)

在 CentOS 7 中,/bin目录(全称是 “binary”,二进制的意思)存放的是一些基本的命令二进制文件,这些命令是系统启动以及普通用户和管理员在命令行操作时经常使用的工具。例如lscpmvrm等命令。

在 CentOS 7 中,/usr目录(全称是 “Unix System Resources”,即 Unix 系统资源)用于存放系统中共享的、只读的用户数据和程序。

3、你输入一串指令之后,发现前面写的一长串数据是错的,你想要删除游标所在处到最前面的指令串内容, 应该如何处理?  

 按下ctrl+u

 4、shell 环境下,有个提示字符 (prompt),他可以修改吗?要改什么?默认的提示字符内容是?

可以修改,只需要修改PS1这个变量即可。

用户如果想要每次登录都自动更改PS1:在~/.bash_profile中对PS1进行初始化操作

默认的字符提示内容是:

[root@localhost ~]# echo $PS1
[\u@\h \W]\$
 
\u是当前用户名
\h是主机名
\W是当前工作目录(最后的目录名)---\w可显示完整路径

5、如何显示 HOME 这个环境变量?

[root@ptivitic ~]# echo ${HOME}
/root

6、 如何得知目前的所有变量与环境变量的设定值?

  • 环境变量用 env export
  • 所有变量用 set 即可显示

7、 我是否可以设定一个变量名称为 3myhome

不行,变量名称的开头不能为数字

8、 在这样的练习中『A=B』且『B=C』,若我下达『unset $A』,则取消的变数是 A 还是 B

 是B,因为变量A的值是B(值而已),所以unset的是B这个名字的变量

9、如何取消变量与命令别名的内容?

使用 unset unalias 即可

10、如何设定一个变量名称为 name 内容为 It's my name

[root@ptivitic ~]# name="It's my name"

或者
[root@ptivitic ~]# name=It\'s\ my\ myname

11、bash 环境配置文件主要分为哪两种类型的读取?分别读取哪些重要文件?

  • login和non-login
  • login:读取/etc/profile以及~/.bash_profile
  • non-login:读取~/.bashrc

 12、CentOS 7.x man page 的路径配置文件案?

 /etc/man_db.conf

13、试说明 ', ", ` 这些符号在变量定义中的用途?  

  •  " 可以具有变量的上下文属性
  • ' 则仅有一般字符
  •  ` 之内则是可先被执行的指令。

14、 跳脱符号 \ 有什么用途?

用来跳脱特殊字符,例如 Enter, $ 等等,使成为一般字符!

 15、连续命令中, ;, &&, || 有何不同?

  • 分号可以让两个 command 连续运作,不考虑 command1 的输出状态
  • && 则前一个指令必需要没有错误讯息,亦即回传值 需为 0 command2 才会被执行
  • || 则与 && 相反!

16、 如何将 last 的结果中,独立显示用户名并删除冗余,并且印出曾经登入过的账号?

[root@ptivitic ~]# last | cut -d ' ' -f 1 | sort |uniq

admin
langxi
reboot
root
wtmp

17、请问 foo1 && foo2 | foo3 > foo4 ,这个指令串当中, foo1/foo2/foo3/foo4 是指令还是文件? 整串指令的意义为?

  • foo1是指令,失败就直接结束
  • foo2是指令,foo1没有错误才执行foo2 | foo3 > foo4
  • foo3是指令
  • foo4是文件
  • 执行foo1,若成功则执行foo2,将foo2的STDOUT作为foo3的STDIN,将foo3的STDOUT重定向至文件foo4
[root@ptivitic ~]# echo 1:2 && echo 3:4 | cut -d ':' -f 2
1:2
4
[root@ptivitic ~]# echo 1:2 | cut -d ':' -f 2 && echo 3:4 | cut -d ':' -f 2
2
4

### 管道只会接收前一命令的STDOUT

18、 如何秀出在 /bin 底下任何以 a 为开头的文件文件名的详细资料?

ls -ld /bin/a*

19、如何秀出 /bin 底下,文件名为四个字符的文件?

ls -ld /bin/????

20、如何秀出 /bin 底下,档名开头不是 a-d 的文件?

ls -ld /bin/[^a-d]*

21、我想要让终端机接口的登入提示字符修改成我自己喜好的模样,应该要改哪里?(filename)

/etc/issue

22、承上题,如果我是想要让使用者登入后,才显示欢迎讯息,又应该要改哪里?

 /etc/motd


http://www.kler.cn/a/472758.html

相关文章:

  • 决定系数(R²分数)——评估回归模型性能的一个指标
  • [Git] git pull --rebase / git rebase origin/master
  • Redis 笔记(二)-Redis 安装及测试
  • IT面试求职系列主题-Jenkins
  • C++ 泛型编程:动态数据类模版类内定义、类外实现
  • Flutter Web 中文字体显示异常问题
  • Java语言的多线程编程
  • linux 查看服务、端口的命令
  • C# .NetCore 中使用 System.Text.Json 序列化 JSON 示例
  • ffplay 命令行 从视频第N帧开始读取 ffmpeg 命令行 提取第N帧图片
  • Omnivore 替代品 Readeck 安装与使用教程
  • (k8s)Flannel Error问题解决!
  • LeetCode【剑指offer】系列(字符串篇)
  • 使用葡萄城+vue实现Excel
  • 代码填空任务---自编码器模型
  • vue2迁移至rsbuild
  • Github Copilot学习笔记
  • 【大模型】百度千帆大模型对接LangChain使用详解
  • vue3运行时执行过程步骤
  • 如何写一个uniapp自定义tarbar导航栏?
  • 联邦学习中的LoRA:FedLoRA
  • Gin 框架中间件原理
  • 小程序开发-页面事件之上拉触底实战案例
  • Win32汇编学习笔记07.筛选器异常
  • nginx-配置指令的执行顺序!
  • Dart语言的网络编程