`

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:]]*
 
分享到:
评论

相关推荐

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

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

    .git-completion.bash

    .git-completion.bash

    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

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

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

    修复bash漏洞的4.3.30源码包

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

    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支持算术运算符和字符串操作,例如`$((表达式))`用于算术运算,`${变量名#模式}`用于模式匹配和...

    GitBash和GitGui右键失效解决方法

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

    修复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 ...

    docker-machine-prompt.bash

    docker-machine

    docker-machine-wrapper.bash

    docker-machine

    Python-pyshPython增强的bash脚本

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

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

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

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

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

    Bash Reference Manual.pdf --- Bash手册

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

    6Bash特性1

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

    eclipse-shelled-win-bash.zip

    eclipse 插件shelled,及win-bash,免费下载,免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载免费下载

    Advanced Bash-Scripting Guide_bash_linez2g_

    1. **Bash基础**:理解Bash的基本语法,包括变量、命令替换、条件表达式、循环结构以及函数定义。 2. **Shell脚本结构**:学习如何编写有效的shell脚本,包括头部声明(`#!/bin/bash`)、变量初始化和命令的执行...

    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