Linux BASH简单总结
BASH:
变量的设置规则:
1.变量与变量内容以一个符号"="来链接
2.等号两边不能直接接空白字符
3.变量名称只能是英文字母与数字,但是不能以数字开头
4.变量内容若有空白字符可使用单引号''或双引号""将内容结合
双引号内的特殊字符$等,可以保有原来的特性
单引号内的特殊字符仅为一般字符
5.可以使用逃脱字符"\"将特殊字符变为一般字符
6.需要返回命令结果时,可以使用反向字符`或者$()方式
建议使用$(),在复杂情况下会比较直观,唯一缺点,可能系统不支持
但是反向引号``,一定支持
7.若变量为扩增变量内容时则可使用$变量名或者$(变量)累加内容
PATH=${PATH}:/home/bin
8.若该变量需要在其子程序执行,需要export来使变量变为环境变量
9.通常大写字符为系统默认变量,自定义变量可以使用小写,方便区别
10.取消变量使用unset
变量的有效范围:
环境变量=全域变量
自定义变量=局域变量
export: 当一个文件中执行时,任何地方定义都是本文件中可以使用的
当调用另外一个文件时,如果该文件中的变量使用父文件中的,需要把父文件中的变量export定义为环境变量
变量内容的删除与取代:
${variable#/*local/bin:}
删除匹配都是从头开始或者从尾部开始不间断
从前向后匹配删除
#: 符合取代文字的最短的那一个
##: 符合取代文字的最长的那个一
从后向前匹配删除
%: 符合取代文字的最短的那一个
%%: 符合取代文字的最长的那个一
${variable/old/new}

变量的测试与内容替换

万用字符与特殊字符


&&或||

常用命令:
locale:语系变量
locale -a 查看支持的语系
locale 没有参数表示当前语系
cat /etc/locale.conf 自定义语系
read:读取键盘输入
-p: 后面接提示字符
-t: 后面接等待的秒数
read -p "Please keyin your name:" -t 30 named 最后named为变量
declare/typeset 宣告变量的类型
-a: 将后面的变量定义为阵列array类型
-i: 将后面的变量定义为整数类型
-x: 用法与export一样,定义为环境变量
-r: 将变量设置为readonly类型,不能被更改内容,也不能unset
sum=100+300+50 会认为100+300+50为字符串
declare -i sum=100+300+50 会进行运算,定义sum为整数
阵列array变量类型:
var[1] = "small min"
var[2] = "big min"
var[3] = "nice min"
echo "${var[1]}, ${var[2]}, ${var[3]}"
/etc/issue,/etc/motd 欢迎信息
/etc/profile(login shell才会读)
~/.bash_profie(login shell才会读)
source:读入环境配置文件的指令
cut:命令
-d:后面接分割字符,只能是字符!
-f: 分割的第几段
-c: 以字符的单位去除固定字符区间 cut -c -
grep:命令
-a:将binary文件以text文件的方式搜索
-c:计算找到搜索字符的次数
-i:忽略大小写
-n:输出行号
-v:反向选择
--color=auto sort:
-f:忽略大小写
-b:忽略最前面空白字符部分
-M:以月份的名字来排序
-n:使用纯数字排序
-r:反向排序
-u:就是uniq,系统数据只出现一行
-t:分隔符,默认用tab
-k:以那个区间来进行排序 uniq:
-i:忽略大小写
-c: 进行计数 wc:
-l:仅列出行
-w:仅列出多少字
-m:多少字符 tee:双向重定向
-a:以累加方式,将数据加入文件中
last | tee last.list | cut -d"" -f1 tr:删除或替换文字
-d:删除字符串
-s:取代重复的字符
last | tr '[a-z]' '[A-Z]' col:
-x:将tab转换为对等的空白键 join:加入
-t:默认以空白字符分割数据
-i:忽略大小写
-:
-: split:将大文件分割成小文件
-b: 文件大小,
-l:以行分割 xargs:参数代替
-:如果输入的stdin还有特殊字符,还原为一般字符
-e:这个是EOF,当分析到该字符串时,会停止继续工作
-p:在执行每个之类的argument时,都是询问
-n:后面接次数
-I:指定替换字符串 -I {} cut -d":" -f1 /etc/passwd | head -n | xargs -I {} id {}
Linux BASH简单总结的更多相关文章
- [转帖]linux bash环境变量简单总结
linux bash环境变量简单总结 来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 需要简单学习一下. 其实 我都是直接放一个 .sh文件到 ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
- linux下简单的备份的脚本 2 【转】
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4577034 之前写过linux下简单的 ...
- Linux下简单粗暴使用rsync实现文件同步备份【转】
这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...
- 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法 linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...
- 【转】Linux(BASH)命令搜索机制
原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...
- Linux bash介绍与使用
Linux————bash的简单使用 对于一个操作系统来说,shell相当于内核kernel外的一层外壳,作为用户接口.一般来说,操作系统的接口分为两类:CLI:command line interf ...
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- 转: windows 10使用原生linux bash命令行
转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...
随机推荐
- SPOJ 3883. LATGACH3/ UVA 10918
用1*2的方块去覆盖3*n的方块 http://www.cnblogs.com/staginner/archive/2011/12/16/2290020.html 玉斌大神的题解 其实我昨晚想得跟斌神 ...
- SQL基础教程(第2版)第6章 函数、谓词、CASE表达式:6-2 谓词
● 谓词就是返回值为真值的函数. ● 可以将子查询作为IN和EXISTS的参数. 本节将会和大家一起学习 SQL 的抽出条件中不可或缺的工具——谓词(predicate).例如, =. <. & ...
- php封装一个接口类
<?phpClass Response{//返回数据 public static function show($code,$message='',$data='',$type = 'json', ...
- 最长特殊序列 II
最长特殊序列 II class Solution { boolean containsSub(String s,String p){ int i,j; for(i=0,j=0;i<p.lengt ...
- JavaScript—原生轮播和无缝滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 洛谷 P1379 八数码难题(map && 双向bfs)
题目传送门 解题思路: 一道bfs,本题最难的一点就是如何储存已经被访问过的状态,如果直接开一个bool数组,空间肯定会炸,所以我们要用另一个数据结构存,STL大法好,用map来存,直接AC. AC代 ...
- 18 11 13 装了ssd 继续 网络通信 tcp 客户端的创建
import socket def main(): # 1. 买个手机(创建套接字 socket) 联通公司建立了一个信号塔 tcp_server_socket = socket.socket(soc ...
- 杂记 -- 关于less在vue项目中的使用
1.安装less,less-loader npm install less less-loader --save 2.配置wepack.js(vue3+版本中不用自己设置) //添加less路径模块 ...
- 基于Guava实现的文件复制
需求:现需要将文件D:\A\B\C\abc.txt进行一下操作 1.在文件夹D:\A\B\C下,没有以abc命名的文件夹则创建 2.将目标文件D:\A\B\C\abc.txt复制到abc下 实现代码: ...
- java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB0000076987C00003$$ 无法通过 128 (在表空间 HRDL_CSASS 中) 扩展
问题: 在tomcat日志信息中出现:java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB0000076987C00003 ...