LINUX的bash的一些特性

本文介绍了Bash在Linux下的多种实用特性,包括命令行编辑、历史记录利用、路径补全、命令别名设置及命令替换等高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.bash的特性

在LINUX进行SHELL编程是很常见的一项任务,熟悉BASH的特性,是十分必要的。

昨天花了一天时间,对BASH的特性进行了学习总结,发现过去的自己,对LINUX的BASH特性认识的很少,收获很多。


2.BASH支持命令行编辑

一直以来,和LINUX的COMMAND LINE打交道,只知道clear清屏,用退格键进行删除。其实,BASH支持命令行进行高效,快速的编辑。一些常用的,总结如下:

序号命令快捷键说明
1ctrl+a表示跳到命令行首
2ctrl+e表示跳到命令行尾
3ctrl+u表示清除从光标开始至行首的字符
4ctrl+k表示清除从光标开始至行尾的字符
5ctrl+d表示清除光标的下一个字符
6ctrl+l相当于clear


3.BASH支持命令行历史

其实就是关于history的用法。

关于history的使用技巧:

序号技巧说明
1!NUMBER具体执行哪一条命令。还有一种!-NUMBER的用法(这里的NUMBER标示从倒数开始的第几个命令,不常用)
2!STR从倒数开始匹配,找到第一个以STR开头的命令执行
3!!执行上一次的命令。似乎用上下箭头可能更方便些,但是,如果我们想在SHELL脚本中完成呢?
4!$

进行快速引用,表示取得上一次命令的最后一个参数。

这个十分有用,因为我们经常的做法是查看一个文件,然后进行编辑,如果使用这一技巧,可以避免重复输入。当然,还有一个更为快速的方式,那就是esc+.的方式。


4.BASH支持补全

我们经常使用的技巧,比如我们敲了一个命令的一部分,或者一部分路径,就可以使用这一技巧,来快速完成。

命令补全的机制:PATH环境变量进行搜索

路径补全的机制:路径匹配


有些时候,如果我们连按2次TAB键,会将符合的全部列出,如果过多,会提示。


5.BASH支持命令别名

在WINDOWS DOS下,清屏命令是cls,可以在LINUX下定义别名。

1
2
3
4
5
6
7
8
9
10
11
[root@localhost test]# alias cls=clear
[root@localhost test]# alias
alias cls='clear'
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost test]#

要撤销别名,直接unalias cls即可。

需要注意的是:

用alias命令的方式定义别名,自在当前SHELL有效,即便使用同样的ID登录,也无效。

而且命令定义别名,重启后失效。


6.BASH支持命令替换

什么是命令替换,也就是说,一个命令中的子命令被子命令的结果所替换。

这个非常重要。

看个例子:

1
2
3
4
5
6
[root@localhost test]# echo 'the dir is $(pwd)'
the dir is $(pwd)
[root@localhost test]# echo "the dir is $(pwd)"
the dir is /root/test
[root@localhost test]# echo "the dir is `pwd`"
the dir is /root/test

命令替换的重要表现形式:$(),"",``

补充:BASH所支持的引号类型

单引号弱引用,也就是说不会进行任何替换,说白了,你看到的是什么就是什么
双引号强引用,会进行替换操作。
反引号`COMMAND` equals $(COMMAND)

本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1409381,如需转载请自行联系原作者



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值