LINUX的bash的一些特性

1.bash的特性

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

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

2.BASH支持命令行编辑

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

序号 命令快捷键 说明
1 ctrl+a 表示跳到命令行首
2 ctrl+e 表示跳到命令行尾
3 ctrl+u 表示清除从光标开始至行首的字符
4 ctrl+k 表示清除从光标开始至行尾的字符
5 ctrl+d 表示清除光标的下一个字符
6 ctrl+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下定义别名。

[[email protected] test]# alias cls=clear
[[email protected] 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‘
[[email protected] test]#

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

需要注意的是:

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

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

6.BASH支持命令替换

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

这个非常重要。

看个例子:

[[email protected] test]# echo ‘the dir is $(pwd)‘
the dir is $(pwd)
[[email protected] test]# echo "the dir is $(pwd)"
the dir is /root/test
[[email protected] test]# echo "the dir is `pwd`"
the dir is /root/test

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

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

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

7.BASH支持文件名通配

参考我的博客:http://zhangfengzhe.blog.51cto.com/8855103/1409363

LINUX的bash的一些特性,布布扣,bubuko.com

时间: 2024-10-24 14:35:13

LINUX的bash的一些特性的相关文章

运维基础--Linux中bash的基础特性

bash 的基础特性如下: 一.命令的别名--alias 命令 用来定义和显示命令的别名,unalias撤销定义的别名:但是要注意以下几点: 1.alias的效果仅限于当前shell的生命期: 2.如果修改.bashrc配置文件,其中保存的别名不会立即生效,只有在重新加载该文件的内容后,才会生效且永久生效: 3.为了能够保证设置的别名有效,通常两种操作都要做: 二.命令历史 shell进程会其会话中保存此前用户提交执行过的命令,history是shell的内置命令   1.命令语法格式: his

linux之bash的基础特性(三)-->重定向及管道符

重定向 一.输出重定向 1.标准输出覆盖重定向:将标准输出重定向到一个文件中,该文件的数据会被覆盖 使用格式:command > filename 2.标准输出追加重定向:将标准输出重定向到一个文件中,标准输出会追加到该文件原有内容的后面 使用格式:command >> filename 3.标准错误输出覆盖重定向:将错误输出重定向到一个文件中,该文件的数据会被覆盖 使用格式:command 2> filename 4.标准错误输出追加重定向:将错误输出重定向到一个文件中,错误输出

Linux目录结构、bash的基础特性、I/O重定向及管道

Linux目录结构 LSB(Linux StandardsBase)是一套核心标准,它保证了LINUX发行版同LINUX应用程序之间的良好结合规定了一系列标准,其中包括文件系统层级结构标准(FHS Filesystem Hierarchy Standard) Linux系统根目录下有众多子目录,这些目录都参照了FHS协定 / ├── bin ├── boot ├── dev ├── etc ├── home ├── lib ├── lib64 ├── lost+found ├── media ├

linux下bash特性和基础管理类命令(一)

bash 的基础特性 1.glob 通配字符         *多个任意字符         ?一个任意字符        []匹配指定范围内的任意单个字符       [^]匹配范围外的任意单个字符      [:lower:]小写字母   #中括号为字符集的一部分,使用时还要加中括号      [:upper:]大写字母     [:alnum:]所有字母     [:digit:]数字     [:space:]空白字符     [:punct:]标点符号 2.组合键     Ctrl+a

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

Linux之bash的特性

bash的特性(1)常用组合快捷键:,ctrl+d Ctrl+a: 跳转至命令行首 Ctrl+e: 跳转至命令行尾 Ctrl+u: 删除命令行首至当前光标所在处之前的所有内容 Ctrl+k: 删除当前光标所在处至命令行尾的所有内容 Ctrl+l: 清屏 Ctrl+c: 中止或取消 Ctrl+z: 把当命令送至后台 Ctrl+d:回到登陆用户登陆界面 (2)命令补全:命令的补齐,参数中目录或文件的补齐 当输入命令的部分是唯一的时候按TAB键就可以不全剩下的部分 当输入命令的部分不是唯一的,按两次T

Linux中bash中的几种基础特性汇总!

首先需要知道什么是shell?如果将Linux内核当作一个地球的核心,那么shell就是地壳.shell本身也是一个应用程序,为我们提供了使用系统的接口.shell程序有很多种,目前主流发行版大多数默认使用bash,其次还有sh,tcsh,csh,fish等,其程序存储在/etc/shells目录下. 由于目前最常用的bash,所以就以bash为例来说一说bash的基础特性,偷偷说一句,其实我也是个新手,其他的shell并未接触,不敢轻易去说,当然本文中难免有错误,还请各位不吝赐教,让大家共同进

Linux基础知识--Linux的文件系统和bash的基础特性

Linux基础知识--linux的文件系统和bash的基础特性 一.Linux文件系统: Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中 linux文件系统遵循FHS(Filesystem Hierarchy Standard,文件系统目录标准),多数Linux版本采用这种文件组织形式.FHS采用了树行组织文件. FHS定义了两层规范,第一层是,/目录下面的各个目录应该要

Linux之bash特性

什么是shell?字面意思:壳,充当人机交互的翻译官,当用户输入一条命令,shell就会解析.shell位于操作系统外层,负责与用户交互.shell类型:可以查看/etc/shells文件,bash shell作为系统的默认shell,比较流行,bash有众多特性.查看系统当前shell:#echo $SHELL 命令历史记录 命令/目录补全功能 命令行展开 命令的执行结果 快捷键 glob通配符 多命令执行 命令历史记录shell进程会将保存此前用户提交执行过的命令,保存在用户家目录:~/.b