首页 > 系统相关 >【技术积累】Linux中的命令行【理论篇】【八】

【技术积累】Linux中的命令行【理论篇】【八】

时间:2023-08-10 23:45:54浏览次数:31  
标签:积累 bc basename 绑定 作业 键盘 命令 命令行 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命令。

标签:积累,bc,basename,绑定,作业,键盘,命令,命令行,Linux
From: https://www.cnblogs.com/yyyyfly1/p/17621902.html

相关文章

  • 学习Linux,要把握哪些重点?
    不知道有没有想学习Linux,但又把握不住学习重点,找不到合适的学习方法的小伙伴,反正我刚开始学习Linux时就像无头苍蝇似的“乱撞”,没有把握住学习重点,不知道怎么去学,差点要放弃了,还好在慢慢的摸索中逐渐步入了正轨,找到了适合自己的学习方法。从Linux菜鸟一路到现在,当然也不是说现在有......
  • 虚拟机linux磁盘空间扩展
    1.打开虚拟机-编辑虚拟机设置-硬盘-扩展,增加磁盘大小,这里是40G   2.使用u盘启动,使用扩展工具扩展内存 4.重装系统......
  • 在Centos-linux上下载安装redis
    一、下载参考redis官网提供的操作指南。官网地址https://redis.io/download创建目录下载压缩包wgethttps://download.redis.io/releases/redis-7.0.7.tar.gz解压tarxzfredis-7.0.7.tar.gz二、安装进入文件夹目录,进行编译(注意:此目录下有redis说明文件“README.md”,有时......
  • 使用eNSP,VMware搭建网络平台,Linux中通过Docker搭建应用管理系统,在eNSP中的主机里可以
    课程设计要求拓扑图部署过程总结1.课程设计要求使用eNSP,VMware搭建网络平台,Linux中通过Docker搭建应用管理系统,在eNSP中的主机里可以访问。2.拓扑图![](C:\Users\31223\Pictures\Screenshots\屏幕截图2023-08-10133154.png)设备:云,主机(client机)3.部署过程实验1:docke......
  • Linux:find命令
     1、前言从各个维度(类型、时间、权限、大小……)查找文件2、用法find路径选项动作3、选项选项说明时间①内容修改时间(modificationtime,mtime)文件内容变更时,会更新该时间②状态修改时间(statustime,ctime)文件状态变更(权限、属性……)时,会更新该时间③访问......
  • Linux下搭建Nginx+nginx-rtmp-module流媒体服务器
    今天我们使用的是linux系统为Centos64位服务器。下载安装nginx首先新建nginx目录存放nginx:mkdirnginx1然后进入nginx目录分别下载nginx及nginx-rtmp-module:进入nginx目录cdnginx下载nginxwgethttp://nginx.org/download/nginx-1.17.9.tar.gz下载nginx-rtmp-modulehttps://codel......
  • linux安装 git
    1.环境centos:7.5(64)git:1.8.32.步骤Set1:查看已有GIT版本#git--version-bash:git:commandnotfoundSet2:查看yum源中的版本#yuminfogit版本符合,直接安装Set3:yum安装 #yuminstallgit安装完成。......
  • 学习Linux,要把握哪些重点?
    不知道有没有想学习Linux,但又把握不住学习重点,找不到合适的学习方法的小伙伴,反正我刚开始学习Linux时就像无头苍蝇似的“乱撞”,没有把握住学习重点,不知道怎么去学,差点要放弃了,还好在慢慢的摸索中逐渐步入了正轨,找到了适合自己的学习方法。从Linux菜鸟一路到现在,当然也不是说现在有......
  • 01-[Linux][MFD]MFD模块介绍
    1、MFD功能介绍MFD(Multi-functionDevice)多功能设备,许多有共性的设备的集合,MFD由核心层(core)以及其下的“子设备”组成。从下文将会看到,MFD只是将设备注册到platform总线--因此,其子设备属于platform设备。它并没有对涉及到的设备或者驱动做实质性改变。但是,因为某些设备的共性,所以......
  • 嵌入式Linux ------ 一次简单的FrameBuffer驱动开发
    Linux一次简单的FrameBuffer驱动开发设施版本CPUAllwinnerF1C200slinux6.4.0-rc4显示器1.28inch16-grayscaleOLED128x128驱动ICSSD1327Orangepi5声明本驱动仓库位于:https://github.com/AllwinnerSuniv/suniv-epd/tree/main/ssd1327本驱动代......