bash编程-Shell基础
1. Shell脚本执行方式
- 直接运行,需要在脚本文件头部指定解释器,如#!/bin/bash
./myshell.sh
- 运行时指定shell解释器
bash myshell.sh
2. Shell命令历史
- 查看所有历史命令
history
- 执行上一条历史命令
!!
- 执行历史命令中第n条命令
!n
- 执行历史命令中最后一个以"str"字符串开头的命令
# 不建议使用,尤其是创建、修改、删除文件这样的操作
!str
- 在历史命令中搜索匹配命令
快捷键:control + r
3. 别名
注意:通过命令方式设置别名只对当前shell有效,希望永久生效需要修改~/.bashrc文件
- 查看别名
alias
- 定义别名(尽量不要与原始命令重名,避免引起不必要的麻烦)
alias 别名='命令'
- 删除别名
unalias 别名
4. 快捷键
- control + a
光标移动到命令行开头 - control + e
光标移动到命令行结尾 - control + c
终止当前命令 - control + u
删除(剪切)光标之前的命令 - control + k
删除(剪切)光标之后的命令 - control + y
粘贴control+u或control+k剪切的内容 - control + r
在历史命令中搜索匹配命令 - control + d
退出当前终端 - control + s
暂停屏幕输出 - control + q
恢复屏幕输出
5. 输入输出与重定向
参考:IO重定向与管道
6. 多命令顺序执行
- ;
命令之间无任何逻辑关系 - &&
逻辑与:前面的命令执行成功,后面的命令才会执行 - ||
逻辑或:前面的命令执行失败,后面的命令才会执行
7. 通配符
- ?
匹配一个任意字符
匹配0个或多个任意字符
- [xyz...]
匹配括号中的一个字符(如:[abc]表示匹配a或b或c) - [x-y]
匹配括号中的范围,常见格式如下
[a-z]:一个小写字母( x )
[A-Z]:一个大写字母( x )
[a-z0-9]:所有小写字母和数字( x )
[0-9]:0-9所有数字
[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:digit:]]:0-9所有数字
[[:alnum:]]:所有的字母和数字
[[:space:]]:所有空白字符
[[:punct:]]:所有标点符号
- [^xyz]
匹配指定范围外的任意单个字符,常见格式如下
[^[:upper:]]:非大写字母
[^[:lower:]]:非大写字母
[^0-9]:非数字
[^[:alnum:]]:非字母和数字
8. 特殊符号
- ''
单引号中的所有特殊符号都没有特殊含义 - ""
双引号中的所有特殊符号都没有特殊含义(除$、``、\ ) - `命令`
反引号表示命令结果 - $(命令)
表示命令结果,同`命令`(建议使用这种,避免``与''看不清) - $
$+字符串表示变量,如$PATH - **\ **
转义符
bash编程-Shell基础的更多相关文章
- bash编程-Shell变量
bash中,所有变量的值默认均为字符串. 1. 变量操作 调用变量 $变量 查看变量(所有类型) set 删除变量 unset 变量 2. 变量分类 2.1 自定义变量 自定义变量仅对当前Shell有 ...
- Bash编程(1) 基础
1. 基本知识 (1) $HOME: 当前用户的家目录 (2) `pwd`或$PWD:当前目录 (3) 脚本命名避免使用test,通过type -a test,可以查看所有匹配test的命令 gas@ ...
- [shell] Bash编程总结
由于工作需要,之前的几个月写了一些Bash脚本,主要完成自动测试.打包.安装包等.虽然相比C++编程,要简单.傻瓜,但其在类Unix系统中可以大大提高工作的效率.所以在此对脚本编程过程中一些注意事项进 ...
- shell基础之二 bash特性详解
https://blog.51cto.com/13520779/2093146 合格linux运维人员必会的30道shell编程面试题及讲解:https://blog.51cto.com/oldboy ...
- 【Linux基础总结】Shell 基础编程
Shell 基础编程 重启虚拟机遇到磁盘损坏如何解决 Shell编程中变量的声明.引用及作用域 Shell程序 概述 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就 ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- Shell基础知识和编程规范
一,Shell环境查看 1.1 查看系统Shell支持情况 [root@linux-node1 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin ...
- bash编程基础
bash变量 变量命名: 1.不能使用程序中的关键字(保留字) 2.只能使用数字.字母和下划线,且不能以数字开头 3.要见名知义 变量类型: 数值型:精确数值(整数),近似数值(浮点型) 字符型:ch ...
- 怎样用 Bash 编程:逻辑操作符和 shell 扩展
学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇. Bash 是一种强大的编程语言,完美契合命令行和 shell 脚本.本系列(三篇文章,基于我的 三集 Linux 自学课程 ...
随机推荐
- Qt样式表的使用
Qt中可以灵活的使用层叠样式表(CSS),其语法和CSS很相似.因为HTML CSS的灵活性,所以可以很方便的为QT界面设计自己需要的外观.除了子类化Style类,使用QT样式表(QStyleShee ...
- Web 文件上传方面的安全问题
一. 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行.这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等.这种攻击方式是最为直接和有效 ...
- 【UI测试】--安全性
- spring security 4.2后出现CouldnotverifytheprovidedCSRFtokenbecauseyoursessionwasnotfound
升级到spring security 4.2后,登录不了,出现下面的错误 WARN DefaultHandlerExceptionResolver:361 - Failed to bind reque ...
- Linux/Python学习路线
Linux: 初级阶段: 熟练掌握常用80个命令: 掌握Linux常用软件包的安装方法,如源码安装,rpm安装等: 学习安装设备驱动程序(如网卡,显卡驱动): 了解Grub/Lilo引导程序以及简单的 ...
- python学习 day12 (3月18日)----(装饰器内置函数)
读时间函数: # import time # def func(): # start_time = time.time() # 代码运行之前的时间 # print('这是一个func函数') # ti ...
- JSP错误
1.<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodin ...
- C++中string的使用
概述 这篇博文为了记录C++中string的使用,用到一点补充一点. 预备 使用string之前需要包含头文件 #include<iostream> #include<string& ...
- dex2jar 和 jd-gui 的安装与使用(转)
出处:https://blog.csdn.net/katrinawj/article/details/80016315 将APK直接解压(修改后缀名为.zip,然后解压)后,可以看到目录下包含一个cl ...
- spring+springMVC+mybatis+maven+mysql环境搭建(二)
上一篇整合了spring+mybatis,基本上还不是web工程,接下来接入springMVC,Let's go! 一.工程转换成Web工程 首先右击项目-->properties-->p ...