`

ma系列之-4-bash基本特点

 
阅读更多

 

1 bash特点:

bash支持: 
1、命令历史、命令补全
2、管道、重定向
3、命令别名
4、命令行编辑
5、命令行展开
6、文件名通配
7、变量
8、编程

 

 

2 bash的一些快捷键:

bash在命令行编辑时的一些快捷键:
光标跳转:
	Ctrl+a:跳到命令行首
	Ctrl+e:跳到命令行尾
	Ctrl+u: 删除光标至命令行首的内容
	Ctrl+k: 删除光标至命令行尾的内容
	Ctrl+l: 清屏
	linux命令详细说明3(操作文本命令) 

 

 

 

3 bash支持的引号:

bash支持的引号:
``: 命令替换
"": 弱引用,可以实现变量替换
'': 强引用,不完成变量替换

 

 

4 命令别名:

如果命令本身 中间有空格的话  最好用''给括起来。

命令别名, 提高使用效率
在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;
[root@sliver114 ~]# help alias
alias: alias [-p] [name[=value] ... ]
增加别名:
[root@sliver114 ~]# alias cls='clear'
撤销别名:
unalias CMDALIAS自定义命令别名名称
[root@sliver114 ~]# unalias cls
适用范围: 仅仅在当前进程环境下有效,退出后失效

 

查看所有命令别名:

[root@chinadaas109 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

 

 
5 命令替换:
命令替换: $(COMMAND), 或者使用 反引号:`COMMAND` 
定义:把命令中某个子命令替换为其执行结果的过程就是命令替换
eg:
[root@sliver114 ~]# touch file-$(date +%F-%H-%M-%S).txt
[root@sliver114 ~]# ls
a                file-2014-08-28-00-30-52.txt  install.log 
 
6 文件名通配符(类比于正则表达式):
文件名通配, globbing   类比于正则表达式
*: 任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
	[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]  表示从左侧[]范围匹配任意一个
	如下是表示特殊字符的写法: 如果使用的时候 可以用 [0-9[:space:]]方式来使用,表示范围为 0-9和空白字符中的任意一个字符
	[:space:]:空白字符
	[:punct:]:所有的标点符号
	[:lower:]:所有的小写字母
	[:upper:]: 所有的大写字母
	[:alpha:]: 所有的大小写字母
	[:digit:]: 所有的数字
	[:alnum:]: 所有的数字和大小写字母
	
# man 7 glob
[^]: 匹配指定范围之外的任意单个字符

[[:alpha:]]*[[:space:]]*[^[:alpha:]]  : 表示字母开头,中间有空格符,字母结尾的
[root@sliver114 ~]# touch {a123,abc,ab123,xyz,x12,xyz123}
[root@sliver114 ~]# ls a*
a123  ab123  abc  anaconda-ks.cfg
[root@sliver114 ~]# ls a*3
a123  ab123
[root@sliver114 ~]# touch hello123
[root@sliver114 ~]# touch helloy123
[root@sliver114 ~]# 
[root@sliver114 ~]# ls [a-zA-Z]*[0-9]
a123  ab123  hello123  helloy123  x12  xyz123
[root@sliver114 ~]# ls [^0-9]*
a123   anaconda-ks.cfg  helloy123  
[root@sliver114 ~]# ls [[:alpha:]]*[^[:alpha:]]
a123  ab123  hello123  helloy123  x12  xyz123


练习:
1、创建a123, cd6, c78m, c1 my, m.z, k 67, 8yu, 789等文件;注意,以上文件是以逗号隔开的,其它符号都是文件名的组成部分;
2、显示所有以a或m开头的文件;
ls [am]*
3、显示所有文件名中包含了数字的文件;
ls *[0-9]* 
ls *[[:digit:]]*
4、显示所有以数字结尾且文件名中不包含空白的文件;
ls *[^[:space:]]*[0-9]   ?????????
5、显示文件名中包含了非字母或数字的特殊符号的文件;
ls *[^[:alnum:]]*
 
分享到:
评论

相关推荐

    Git-BashGit-BashGit-BashGit-BashGit-Bash

    Git-BashGit-BashGit-Bash

    解决ssh远程登陆linux显示-bash-4.1$的问题

    cp -pr /etc/skel/.bash* /home/test/ #/home/test是用户目录 改变用户家目录:usermod -md /tmptest test 以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持软件开发...

    abs-guide----Advanced Bash-Scripting Guide

    ”介绍了Bash脚本的基础知识,包括如何编写和运行脚本,以及脚本的基本结构。这一章的注释部分提供了额外的信息和提示,帮助读者更好地理解和实践。 第2章“Starting Off With a Sha-Bang”讲解了如何启动脚本,...

    linux-shell-scripting-fundamentals-bash.epub

    linux-shell-scripting-fundamentals-bash.epub

    maven-bash-completion, Maven Bash自动完成.zip

    maven-bash-completion, Maven Bash自动完成 Maven Bash完成默认情况下,Maven 不发布Bash自动完成脚本,只使用一个非常简单的指南插件。 这里脚本为你提供了更多帮助你日常 Maven 构建的脚本。演示 安装手动安装...

    高级Bash脚本编程指南 操作系统 - Linux - 高级Bash脚本编程指南.zip

    在Bash脚本中,变量是存储信息的基本单元。你可以定义并赋值变量,如`VAR="Hello, World!"`,并在脚本中引用它们。Bash支持算术运算符和字符串操作,例如`$((表达式))`用于算术运算,`${变量名#模式}`用于模式匹配和...

    修复bash漏洞的bash-4.4.tar.gz源码包

    linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 #tar zxvf bash-4.4.tar.gz #cd bash-4.4 #./configure (如果centos7编译失败,请先安装#yum install gcc) #make #make ...

    GitBash和GitGui右键失效解决方法

    4.在shell目录右键->新建(项),然后重命名为 Git GUI Here,此时右键菜单会显示出“Git GUI Here”。 5.给gitgui 添加图片: 选中 Git GUI Here,右键新建(字符串值),并重命名为Icon,Icon的值设置为D:\Program...

    bash-4.4版本升级手册带安装包

    **Bash 4.4 版本升级指南** 在Linux和Unix系统中,Bash(Bourne-Again SHell)是默认的命令行解释器,用于处理用户输入的命令和脚本。Bash 4.4是其一个重要版本,带来了多项改进和新功能。在旧版本中,特别是低版本...

    .git-completion.bash

    .git-completion.bash

    docker-machine-prompt.bash

    docker-machine

    docker-machine-wrapper.bash

    docker-machine

    Python-pyshPython增强的bash脚本

    4. **简化脚本**:通过引入Python的模块和库,可以大大减少Bash脚本的复杂性,特别是处理文件操作、网络请求、数据解析等任务时。 5. **提高效率**:Python的性能通常优于Bash,特别是在处理大量数据或执行复杂计算...

    修复bash漏洞的4.3.30源码包

    鉴于目前绝大部分服务器因为没有注册的yum或者因不通外网等问题导致无法使用yum update -y bash 命令进行漏洞修复,如采用RPM包升级修复漏洞又存在各服务器系统有的是32位有的是64位或者bash的版本不一样导致需要...

    Bash参考手册.pdf

    Bash参考手册.pdf是Bash shell的官方参考手册,涵盖了Bash shell的所有方面,包括基本语法、变量、命令、函数、文件处理、流程控制、输入输出、错误处理等。 1. Bash简介 Bash是GNU项目的一部分,是自由软件基金会...

    ruanyf#articles#2020-04-16-《Bash 脚本教程》发布了1

    《Bash 脚本教程》发布了过去三个月,我一直在写《Bash 脚本教程》,现在终于写完了。这个教程是开源的,你可以克隆它的代码仓库,放在本地,也可以提交 iss

    Bash Reference Manual.pdf --- Bash手册

    1. 简单命令:这是一系列简单的命令,如 `ls`, `cd`, `echo` 等,它们构成了 Bash 脚本的基础。 2. 管道:管道 (`|`) 允许将一个命令的输出作为另一个命令的输入,从而实现复杂的数据流处理。 3. 命令列表:多个...

    6Bash特性1

    Bash是GNU/Linux系统中最常用的shell之一,它提供了许多强大的特性来帮助用户更方便地使用命令行。下面将详细介绍Bash的特性。 命令行选项 Bash的命令行选项可以分为两种:短选项和长选项。短选项通常是一个字符,...

    bash-language-server:Bash的语言服务器

    Bash语言服务器 基于Bash语言服务器实现及其带有集成的。 产品特点 跳转到声明 查找参考 代码大纲和显示符号 突出显示 代码完成 简单的诊断报告 悬停标志的说明文件 工作区符号 重命名符号 安装 npm i -g ...

    bashdb-4.2-0.7 配合centos7.3 bash-4.2.46版本编译通过

    通过查看文档和自己的测试,bashdb-4.2.0-7 和centos7的bash-4.2.46版本匹配,并且编译顺利. 使用方法: 解压bashdb [root]#tar xf bashdb-4.2-0.7.tar.gz -C /usr/src 编译安装bashdb 编译安装bashdb有两种方法,...

Global site tag (gtag.js) - Google Analytics