【技术积累】Linux中的命令行【理论篇】【八】
basename命令
命令介绍
在Linux中,basename命令用于从给定的路径中提取文件名或目录名。它的语法如下:
basename [选项] [路径]
命令介绍
选项:
-s, --suffix=SUFFIX:指定要删除的后缀。
-a, --multiple:处理多个路径参数。
-z, --zero:以null字符作为分隔符。
路径:要提取文件名或目录名的路径。
basename命令的工作原理如下:
1. 如果路径以斜杠(/)结尾,则basename命令会返回空字符串。
2. 如果路径不包含斜杠(/),则basename命令会返回路径本身。
3. 否则,basename命令会删除路径中的目录部分,并返回剩余的部分作为文件名或目录名。
以下是basename命令的一些示例:
1. 提取文件名:
$ basename /home/user/file.txt
file.txt
2. 提取目录名:
$ basename /home/user/
user
3. 删除指定后缀:
$ basename -s .txt /home/user/file.txt
file
4. 处理多个路径参数:
$ basename /home/user/file1.txt /home/user/file2.txt
file1.txt
file2.txt
5. 使用null字符作为分隔符:
$ basename -a -z /home/user/file1.txt /home/user/file2.txt
file1.txtfile2.txt
这些示例展示了basename命令的一些常见用法,但它还有其他一些选项和用法,可以通过man basename命令查看完整的帮助文档。
bc命令
命令介绍
bc命令是Linux系统中的一个计算器工具,用于执行数学运算。它支持整数、浮点数、变量、函数等多种数据类型和操作。
命令说明
bc命令的基本用法是在终端中输入bc,然后在提示符下输入数学表达式,按下回车键即可得到计算结果。例如,输入"2+3",bc会返回"5"。
bc命令支持的数学运算包括加法、减法、乘法、除法、取余、幂运算等。它还支持一些高级的数学函数,如三角函数、对数函数、指数函数等。
bc命令还支持变量的定义和使用。可以使用"="符号将一个值赋给一个变量,然后在表达式中使用该变量。例如,输入"a=2",然后输入"a+3",bc会返回"5"。
bc命令还支持函数的定义和使用。可以使用"define"关键字定义一个函数,然后在表达式中使用该函数。例如,输入"define square(x) { return x*x }",然后输入"square(3)",bc会返回"9"。
bc命令还支持控制流语句,如if语句和循环语句。可以使用"if"关键字和"else"关键字来实现条件判断,使用"for"关键字和"while"关键字来实现循环。
除了在终端中直接使用bc命令,还可以将数学表达式写入一个文本文件,然后使用bc命令的"-l"选项来执行该文件。例如,将表达式写入一个名为"calc.bc"的文件,然后使用"bc -l calc.bc"来执行该文件。
总之,bc命令是Linux系统中一个功能强大的计算器工具,可以进行各种数学运算、变量定义、函数定义和控制流操作。它在命令行环境下使用简单方便,适用于各种数学计算和脚本编程任务。
以下是一个使用bc命令的案例:
假设我们需要计算一个圆的面积。我们可以使用bc命令来进行计算。
首先,我们创建一个名为"circle.bc"的文本文件,内容如下:
define pi 3.14159
define area(r) {
return pi * r * r
}
radius = 5
result = area(radius)
result
在这个文件中,我们定义了一个常量pi,它的值为3.14159。然后,我们定义了一个函数area,它接受一个参数r,计算圆的面积并返回结果。
接下来,我们定义了一个变量radius,它的值为5。然后,我们调用area函数,传入radius作为参数,并将结果赋给变量result。
最后,我们输出result的值。
保存并关闭文件后,我们在终端中执行以下命令:
bc -l circle.bc
bc命令会读取circle.bc文件,并执行其中的表达式。然后,它会输出计算结果:
78.53975
这个结果就是圆的面积,保留了五位小数。
这个案例展示了如何使用bc命令进行数学计算和函数定义。通过编写简单的脚本文件,我们可以方便地进行复杂的数学运算。
在Linux中,bg命令用于将一个在前台运行的作业转移到后台继续运行。当一个作业在前台运行时,它会占用终端并阻塞其他命令的执行。使用bg命令可以将该作业放到后台,使终端可以继续执行其他命令。
bg命令
命令介绍
bg命令的语法如下:
bg [作业号]
作业号是指在前台运行的作业的标识符。如果没有指定作业号,则bg命令会将最近停止的作业放到后台继续运行。
使用bg命令的步骤如下:
1. 使用jobs命令查看当前在前台运行的作业及其作业号。
2. 使用bg命令加上作业号,将指定的作业放到后台运行。
例如,假设有一个在前台运行的作业的作业号为1,可以使用以下命令将其放到后台运行:
bg 1
bg命令执行后,作业会继续在后台运行,终端可以继续执行其他命令。
需要注意的是,当一个作业在后台运行时,它可能会输出一些信息到终端。这些输出可能会干扰正在执行的命令的输出。可以使用disown命令将作业与终端的关联断开,这样作业的输出就不会再显示在终端上了。
总结起来,bg命令是Linux中用于将前台运行的作业转移到后台继续运行的命令。它可以提高终端的使用效率,使终端可以同时执行多个命令。
bind命令
命令介绍
在Linux中,bind命令用于显示或修改键盘绑定。它可以用来查看当前系统中键盘按键与特定功能的映射关系,并且可以通过修改绑定来自定义键盘行为。
命令说明
bind命令的语法如下:
bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-command]
常用选项包括:
- -l:列出当前绑定的键盘映射。
- -p:以可执行的格式显示当前绑定的键盘映射。
- -s:以shell脚本的格式显示当前绑定的键盘映射。
- -v:以vi编辑器的格式显示当前绑定的键盘映射。
- -m keymap:指定要使用的键盘映射。
- -f filename:从指定的文件中读取键盘映射。
- -q name:查询指定名称的绑定。
- -u name:取消指定名称的绑定。
- -r keyseq:取消指定键序列的绑定。
- -x keyseq:shell-command:将指定键序列绑定到执行shell命令。
使用bind命令可以实现以下功能:
1. 查看当前系统中的键盘映射。
2. 修改或自定义键盘映射,以满足个人需求。
3. 取消特定键序列的绑定。
4. 将特定键序列绑定到执行shell命令。
例如,使用bind -p命令可以列出当前系统中的键盘映射。使用bind -u name命令可以取消指定名称的绑定。使用bind -x keyseq:shell-command命令可以将指定键序列绑定到执行shell命令。
需要注意的是,bind命令通常用于shell环境中,如Bash。它可以帮助用户自定义键盘行为,提高工作效率和舒适度。
总结起来,bind命令是Linux中用于显示或修改键盘绑定的命令。它可以查看当前系统中的键盘映射,修改或自定义键盘映射,取消特定键序列的绑定,以及将特定键序列绑定到执行shell命令。
【技术积累】Linux中的命令行【理论篇】【八】的更多相关文章
- linux 中解析命令行参数(getopt_long用法)
linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...
- 如何在Linux中使用命令行卸载软件
您可以使用“dpkg”命令来查看您的计算机,按“Ctrl + Alt + T”的所有已安装包的列表,打开一个终端窗口. 在提示符下键入以下命令,然后按Enter键.dpkg -- list 要卸载程序 ...
- Linux中重定向命令行
http://www.ahlinux.com/start/base/3170.html
- (转)linux中nmcli命令的使用及网络配置
原文:https://blog.51cto.com/groot/1847482 http://www.178linux.com/44076----CentOS7中nmcli网络管理及使用详解 http ...
- 【转载】在LoadRunner向远程Linux/Unix执行命令行并收集性能数据
前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...
- Linux中监控命令top命令使用方法详解
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...
- Linux中date命令的各种实用方法--转载
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...
- 13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法
Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令.我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的 ...
- mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)
原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...
- 【转载】Linux系统下命令行连接蓝牙设备 查看查找 蓝牙
Linux系统下命令行连接蓝牙设备 2018年11月26日 10:47:27 Zz笑对一切 阅读数:741 1.打开系统蓝牙 sudo service bluetooth start 1 进入bl ...
随机推荐
- AcWing 1024. 装箱问题
有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数). 要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入格式 第一行是一个整数 V,表示箱子容量. 第二行是一个 ...
- Vue 异步通信Axios
使用Axios实现异步通信需要先导入cdn: <script src="https://unpkg.com/axios@1.4.0/dist/axios.min.js"> ...
- LINIUX 查询命令的 区别 chich whereis locate fing
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置 ...
- HyperPlatform
之前也写过一个vt的框架,但是比较简单,写的比较乱迁移什么的比较麻烦,于是阅读下HyperPlatform的源码学习下. 本文只对主体框架分析. vt的流程大概如下 1:检测是否支持VT. 2:vmx ...
- Python3.9+torch1.7.1+cuda11.0+cudnn8.0+Anaconda3安装
前言想要安装pytorch,至少得先安装Anaconda.python!!!必要的不想用cpu要用gpu的还需要cuda11.0+cudnn11.0!!!一.安装python3.9二.安装Anacon ...
- 前端vue uni-app列表组件 list组件,简单好用
快速实现uni-app列表组件 list组件,简单好用; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12675 效果图如下: ...
- 如何通过AWS的AmazonSageMaker进行机器学习
目录 <如何通过 AWS 的 Amazon SageMaker 进行机器学习> 一.引言 随着人工智能和机器学习的发展,越来越多的企业和机构开始使用这些技术来进行各种应用场景的处理和分析. ...
- Sentieon实战:NGS肿瘤变异检测流程
肿瘤基因突变检测是NGS的一个重要应用,其分析难点主要在于低频变异的准确性.不同于遗传病检测,肿瘤样本类型多样,测序方法和参数复杂,且缺乏对应各种场景的公共标准真集.再加上常用开源软件经常遇到的准确性 ...
- 2 opencv-python核心库模块core
core模块定义了opencv中的基础数据结构和基础运算,是整个库的核心模块.而mat数据结构是opencv中最重要的数据结构,是opencv中图像最常用的存储格式. 1 基本数据结构 opencv的 ...
- 记一次 .NET 在线客服系统同时支持 SQL Server 和 MySQL 没卡死分析
前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 有很多朋友一直提出希望能够支持 MySQL 数据库,考虑到已经有朋友在用 SQL Server,我在升级的过程中 ...