Linux Shell 编程笔记
2019独角兽企业重金招聘Python工程师标准>>>
常用命令
echo [STR] # 打印显示字符串
printf '[FORMAT]' [ARG] #格式化输出(不支持数据流操作)
read [VAR] # 读取键盘输入-p # 弹出提示信息-t # 指定等待输入的时间(time)-n # 指定输入的字符数-s # 隐藏输入的信息(secret)declare [+/-] [VAR]-p # 查看变量类型-i # 声明整数类型(integer)-a # 定义数组类型(array)-x # 定义为环境变量类型-r # 定义为只读类型(read only)test [EXP] # 测试命令export [VAR] # 显示和设置环境变量-f # 环境变量为函数名称(function name)-p # 列出Shell所有的环境变量-n # 删除指定的环境变量expr # 指定数值运算符
wc # 字符数统计(word count)
grep # 正则表达式命令(global search regular expression and print)
gawk # gawk文本处理工具(GUN awk)
比较运算符
数值及字符串比较
-eq # 等于(equal to)
-ne # 不等于(not equal to)
-lt # 小于(less than)
-gt # 大于(greater than)
-le # 小于或等于(less than or equal to)
-ge # 大于或等于(greater than or equal to)
-o # 逻辑或(or)
-a # 逻辑和(and)
-n # 判断是否不为空(not null)
-z # 判断是否为空(null)
-e # 判断文件是否存在(exist)
判断文件属性
-f # 判断是否是文件并存在(file)
-d # 判断是否是目录并存在(directory)
-c # 判断是否是字符设备文件(character)
-S # 判断是否是Socket文件(socket file)
-p # 判断是否是管道文件(pipe file)
-L # 判断是否是链接文件(link file)
判断文件权限
-r # 判断文件是否具有可读属性(readable)
-w # 判断文件是否具有可写权限(writable)
-x # 判断文件是否具有可执行权限(exectutable)
-u # 判断文件是否具有超级用户(SUID,super user ID)权限
-g # 判断文件是否具有超级用户组(SGID,super group ID)权限
-k # 判断文件是否具有Sticky bit权限
-s # 判断文件是否是非空白文件
文件间判断
[F1] -nt [F2] # 判断文件1是否比文件2新(newer than)
[F1] -ot [F2] # 判断文件1是否比文件2旧(olderthan)
[F1] -ef [F2] # 判断文件1是否与文件2相同(equal file)
字符处理命令
cut [OP] [F]-f [COLUMN_NUM] # 提取对应列的字符-d [SEPARATOR] # 制定分隔符
正则表达式
基本格式
grep [OP] [REP] [F] # 正则表达式命令-c # 只输出匹配行的行数,不显示匹配的内容(count)-i # 不区分大小写(ignore case)-h # 查询多文件时不显示文件名-n # 显示匹配行及行号(line number)-s # 不显示不存在或无匹配的错误信息-v # 显示不包括匹配文本的所有行-E # 允许使用扩展模式匹配(extended regular expression) egrep [OP] [REP] [F] # 拓展性的正则表达式命令
fgrep [OP] [REP] [F] # 用于文本文件中搜索字符串的正则表达式命令
正则表达式封装类
[[:upper:]] # 匹配大写字符
[[:lower:]] # 匹配小写字符
[[:digit:]] # 匹配数字
[[:alnum:]] # 匹配数字和字符
[[:space:]] # 匹配空格
[[:alpha:]] # 匹配字符,包括大写字符和小写字符
转义字符控制
控制序列指示器(Control Sequence Indicator,CSI)
普通转义字符
特殊转义字符
\d
\s
\l
\m
字符显示格式控制
\033[Xm # 字符转义开始符号,"\033"表示Esc符号,十六进制数值为""033",X"为可变控制码,根据实际需求更改
\e[Xm # 又或者是这种方式亦可,"\e"表示Esc符号# 常用显示格式,"X"的可选参数:
0 # 重置为普通模式
1 # 设置为强亮度
2 # 设置为弱亮度
3 # 使用斜体
4 # 使用单下划线
5 # 使用慢闪烁
6 # 使用快闪烁
7 # 背景与前景色调转
8 # 前景色设定为背景色
字符颜色格式控制
\033[XYm # "X"表示前景色,如果是"3",表示前景色;如果是"4",表示背景色."Y"表示背景色,详细如下0 # 黑色
1 # 红色
2 # 黄色
3 # 绿色
4 # 蓝色
5 # 洋红色
6 # 青色
7 # 白色
awk命令使用
基本格式
awk '{[AWK_CONTNET]}' [F]
常用选项
-F
-f file
-v
-mf N
-mr N
-W keyword
内置变量
$n # n>0,获取该行第n个字段(字段间以一个空格间隔开)
$0 # 获取该行所有字段
NR # 已经读取过的记录数,即文档中有字符记录的行数(number of records)
FNR # 从当前文件中读出的记录数(file number of records)
FILENAME # 当前文件名
FS # 字段分隔符,即以空格分开的字符串列(field separator)
RS # 记录分隔符(records separator)
OFMT # 数字输出格式(output format of mathematics)
OFS # 输出字符分隔符(output format of string)
ORS # 输出记录分隔符(output records separator)
NF # 当前记录中的字段数(number of fields)
常用字符串函数
index(string1, string2)
length(string)
blength(string)
substr(string, startChar, charNum)
match(string, ere)
split(string, array, regexp)
tolower(string)
toupper(string)
sprintf(format, expr1, expr2, ...)
常用时间函数
mktime
strftime(format, timestamp)
systime()
sed命令使用
基本格式
sed [OP] [CMD] [F]
sed [op] -f [SCRIPT] [F]
转载于:https://my.oschina.net/u/2438417/blog/644837
Linux Shell 编程笔记相关推荐
- linux+shell+func,Linux shell编程笔记总结
Linux Shell学习笔记简介 Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称.shell是用户和Linux内核之间的接 ...
- Linux Shell编程笔记8 进程
进程查看机制 ps (process state缩写)命令是进程查看命名,用于Linux系统中所有的进程查看.在当前文件夹下执行如下命令ps,显示: PID TTY TIME CMD7784 pts/ ...
- Linux Shell编程笔记10 Shell数组的补充
数组可以通过下标或值进行索引,如果不存在,则值为空.比如: #!/bin/bash arr[0]=hello echo ${arr[1]} # 输出空内容 使用@输出所有数组的内容,使用#和@输出元素 ...
- Linux Shell编程笔记9 SSH和Screen工具
SSH SSH的作用是对数据进行加密处理.在互联网上直接使用明文传输是不安全的.中间人攻击就是通过窃取发送的明文数据,然后进行攻击.一个较为安全的方式是,把数据进行加密传输,这样使得攻击者获取到的数据 ...
- Linux Shell编程笔记7 awk的应用
简介 awk是用于基本文本处理的工具.一般遇到复杂格式等的处理问题时,应该优先想到使用awk.比awk更加高端的,还有perl语言,它专门用于文本处理.python也有丰富的文字处理功能,但是这是它的 ...
- Linux Shell编程笔记6 sed流编辑器
简介 sed是一个流编辑器,它会读取文件流,以行为单位进行处理.sed会按照顺序执行对每一行执行命令.sed把每一行结果写入标准输出,不修改任何输入文件.一般来说,文件流需要处理每一行的时候,需要借助 ...
- 《Linux Shell编程学习笔记之一》
<Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...
- Linux Shell编程学习笔记(4)
Linux Shell编程学习笔记(2015-7-20) 分类:linux shell 今天学习了Linux Shell中的控制结构.其实大多数语言的控制结构这一块都是基本类似的,有了C语言的基础 ...
- Linux Shell编程学习笔记(2)
Linux Shell编程学习笔记(2015-7-12) 分类:linux shell Shell变量 一:关于Shell变量 Shell是一种弱类型的语言,变量存储的一切值都是字符串.Shell ...
最新文章
- 医学假阴性?看看在机器学习中如何用来衡量分类模型的效果(附代码)
- linux下apache服务器的配置和管理(启动、重启、中断服务)
- struts2学习笔记--使用servletAPI实现ajax的一个小Demo
- linux内核网络协议栈--sk_buff结构体(四)
- 2020年数据中心值得关注的8大趋势
- matlab3dimshow_matlab利用MATLAB嵌套函数表示3D作图
- 支持Windows 7的CAD—AutoCAD Civil 3D 2010
- XCTF WEB disabled_button
- Flink 1.13,面向流批一体的运行时与 DataStream API 优化
- 017 在SecureCRT中安装rz小工具
- 截取含HTML标签的字符串
- 007 使用SpringMVC开发restful API五--异常处理
- Java之戳中痛点 - (5)switch语句break不能忘以及default不同位置的用法
- 使用阿帕奇服务器配置多个网站站点的方法
- java opts tomcat,jvm初学篇-tomcat JAVA_OPTS配置
- 理解图像中基本概念:色调、色相、饱和度、对比度、亮度
- java jersey,java Jersey
- 华三交换机怎么样?H3C交换机产品系列介绍!
- 市政协调研组:建议设大数据管理局
- 【流浪地球——休眠仓】题解
热门文章
- 【MySQL】浅谈一致性读
- SQL中创建外键约束
- Macaron的注入struct
- Oracle Tuning ( instance 级别 ) 01
- SharePoint 2010在线查看PDF文档
- rand()和srand()产生伪随机数zz
- .txt文件改成.bat为什么没有反应
- xcode5 ios7 64位 iphone5s引用第三方库报错的解决办法
- jQuery 图片放大预览插件
- SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(1)