bash相关习题复习

server/2025/1/11 19:13:52/
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 |uniqadmin
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.ppmy.cn/server/157553.html

相关文章

conntrack iptables 安全组

centos 安装yum install conntrack-tools 1. conntrack状态 NEW: 新建连接(第一次包)。 ESTABLISHED: 已建立连接,正在传输数据。 RELATED: 与已有连接相关的连接,如 FTP 数据连接。 INVALID: 无效连接,无法识别或不…

计算机网络之---网络层的基本功能

网络层简述 网络层(Network Layer)是OSI(开放系统互联)模型的第三层,主要负责将数据包从源主机传输到目的主机,处理数据传输过程中的路由选择、寻址和分段等任务。网络层的主要目的是确保数据能够从源设备准…

软考中级 软件设计师 第一章 第一节 数据的表示

目录 1、 进制转换 1.1、基础转换 1.2、二进制与八进制与十六进制 1.2.1、二进制与八进制 1.2.2、二进制与十六进制 2、码制 2.1、原码/反码/补码/移码 2.2、数值范围 3、浮点数 3.1、浮点数的表示 3.2、特点 3.3、对阶 4、运算 4.1、关系运算符 4.2、逻辑运算符…

Gin 框架中间件原理

一、引言 在现代 Web 应用开发中,中间件扮演着至关重要的角色。Gin 作为一个流行的 Go 语言 Web 框架,其强大的中间件功能使得开发者能够高效地处理各种通用任务,如日志记录、身份验证、错误处理等。理解 Gin 框架中间件的原理,不…

vue3+element-plus暗黑模式切换动画圆弧过渡

vue3element-plus暗黑模式切换动画圆弧过渡 效果 html <div class"toggle" ref"switchRef" click.stop"toggleDark()"><el-icon v-show"!isDark" :size"30"><Moon /></el-icon><el-icon v-sh…

利用 Python 爬虫获取 1688 关键字 API 接口

在当今电商蓬勃发展的时代&#xff0c;掌握市场动态、洞察消费者需求已成为商家制胜的关键。而 1688 作为中国领先的 B2B 电商平台&#xff0c;汇聚了海量商品与交易数据&#xff0c;其关键字 API 接口更是蕴含着丰富的市场信息。本文将详细解读如何借助 Python 爬虫技术&#…

【git】-2 分支管理

目录 一、分支的概念 二、查看、创建、切换分支 1、查看分支-git branch 2、创建分支- git branch 分支名 3、切换分支- git checkout 分支名 三、git指针 -实现分支和版本间的切换 四、普通合并分支 git merge 文件名 五、冲突分支合并 ​​​​​​【git】-初始gi…

pytorch 比较两个张量的是否相等的函数介绍

在 PyTorch 中&#xff0c;可以使用多种函数来比较两个张量是否相等&#xff0c;具体选择取决于对比较精度的需求以及可能的数值误差。以下是常用的比较方法&#xff1a; 1. 完全相等的比较 (1) torch.eq 逐元素比较两个张量是否相等&#xff0c;返回布尔张量。 import torc…