bash基础特征

O## 1.记录命令历史 环境变量:HISTCONTROL 控制命令历史的记录方式

[root@senlong local]# echo $HISTCONTROL # 查看当前命令历史的记录方式
ignoredups
[root@senlong local]# export HISTCONTROL="ignorespace" # 修改环境变量
[root@senlong local]# echo $HISTCONTROL
ignorespace

命令历史的三种记录方式:

  • ignoredups:忽略重复的命令;连续且相同方为“重复”;
  • ignorespace:忽略所有以空白开头的命令;
  • ignoreboth:ignoredups, ignorespace;

2.命令补全

用户键入一部分命令后,按下Tab键,bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令。分为两种情况:

  • 用户给定的字符串只有一条惟一对应的命令,直接补全
  • 用户给定的字符串有多条对应的命令,再次按Tab, 将对应的命令列表显示

3.路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名, 使用方式与命令补全一致:路径惟一时,按Tab自动补全,不惟一时,再次按Tab,显示路径列表

4.命令行展开

~: 展开为用户的主目录 ~USERNAME:展开为指定用户的主目录 {}:可承载一个以逗号分隔的列表,并将其展开为多个路径 /tmp/{a,b} = /tmp/a, /tmp/b /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

[root@senlong ~]# cd /
[root@senlong /]# cd ~
[root@senlong ~]# pwd
/root
[root@senlong ~]# ls /tmp/{a,b}
/tmp/a:
a.txt

/tmp/b:
b.txt

5.命令的执行结果状态

bash使用特殊变量$?保存最近一条命令的执行状态结果:

  • 0:成功
  • 1-255:失败
[root@senlong ~]# ls /
bin   dev   lib         media  proc  selinux  tmp
boot  etc   lib64       mnt    root  srv      usr
data  home  lost+found  opt    sbin  sys      var
[root@senlong ~]# echo $? # 显示上一条指令的执行结果
0
[root@senlong ~]# ls test
ls: cannot access test: No such file or directory
[root@senlong ~]# echo $? # 显示上一条指令的执行结果
2

bash的快捷键

  • Ctrl+l: 清屏,相当于clear命令;
  • Ctrl+a:跳转至命令开始处;
  • Ctrl+e:跳转至命令结尾处;
  • Ctrl+c:取消命令的执行;
  • Ctrl+u: 删除命令行首至光标所在处的所有内容;
  • Ctrl+k: 删除光标所在处至命令行尾部的所有内容;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

深入理解并发/并行,阻塞/非阻塞,同步/异步

1、阻塞,非阻塞 首先,阻塞这个词来自操作系统的线程/进程的状态模型中,如下图: ? 进程状态 一个线程/进程经历的5个状态,创建,就绪,运行,阻塞,终止。各个...

3964
来自专栏极客慕白的成长之路

网站服务器修改SSH默认22端口

1.1K4
来自专栏电光石火

使用Maven创建web项目

​使用eclipse插件创建一个web project

2218
来自专栏www.96php.cn

WeiPHP插件模板中快速引入公共模板文件

WeiPHP插件模板中快速引入公共模板文件,weiphp建立于onethink之上,简单修改代码,无需填写绝对路径实现轻松引入模板。记录一下,分享给需要的人。 ...

2613
来自专栏racaljk

静态库(.a)与动态库(.so)的简明介绍

gcc有很多关于静态库,动态库的选项如-l,-L,-fPIC,-shared -Wl,-soname,看着很复杂容易混淆,其实静态库和动态库都是应需而生,只要有...

1505
来自专栏Java成神之路

JAVA之 JDK安装及环境变量配置

Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

861
来自专栏腾讯移动品质中心TMQ的专栏

Jest基本使用方法以及mock技巧介绍

Jest是由Facebook开发并维护的一套js的单元测试框架,之前在后台的nodejs项目里面第一次尝试使用,感觉还是非常容易上手的,功能也比较强大。

7875
来自专栏猿人谷

df和du显示的磁盘空间使用情况不一致的原因及处理

在Linux下查看磁盘空间使用情况,最常使用的就是du和df了。然而两者还是有很大区别的,有时候其输出结果甚至非常悬殊。 1. 如何记忆这两个命令 du-Dis...

4049
来自专栏進无尽的文章

基础篇-Mac终端指令大全

在日常开发中我们经常会用到一些Mac的指令在终端中进行操作,所以了解和熟练使用一些基本的Mac终端指令是非常有必要的,也有利于自己的职业发展,下面就简单总结下M...

651
来自专栏电光石火

使用Maven创建web项目

使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 ? 我们勾选上Create a simple ...

24110

扫码关注云+社区