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 编程笔记相关推荐

  1. linux+shell+func,Linux shell编程笔记总结

    Linux Shell学习笔记简介 Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称.shell是用户和Linux内核之间的接 ...

  2. Linux Shell编程笔记8 进程

    进程查看机制 ps (process state缩写)命令是进程查看命名,用于Linux系统中所有的进程查看.在当前文件夹下执行如下命令ps,显示: PID TTY TIME CMD7784 pts/ ...

  3. Linux Shell编程笔记10 Shell数组的补充

    数组可以通过下标或值进行索引,如果不存在,则值为空.比如: #!/bin/bash arr[0]=hello echo ${arr[1]} # 输出空内容 使用@输出所有数组的内容,使用#和@输出元素 ...

  4. Linux Shell编程笔记9 SSH和Screen工具

    SSH SSH的作用是对数据进行加密处理.在互联网上直接使用明文传输是不安全的.中间人攻击就是通过窃取发送的明文数据,然后进行攻击.一个较为安全的方式是,把数据进行加密传输,这样使得攻击者获取到的数据 ...

  5. Linux Shell编程笔记7 awk的应用

    简介 awk是用于基本文本处理的工具.一般遇到复杂格式等的处理问题时,应该优先想到使用awk.比awk更加高端的,还有perl语言,它专门用于文本处理.python也有丰富的文字处理功能,但是这是它的 ...

  6. Linux Shell编程笔记6 sed流编辑器

    简介 sed是一个流编辑器,它会读取文件流,以行为单位进行处理.sed会按照顺序执行对每一行执行命令.sed把每一行结果写入标准输出,不修改任何输入文件.一般来说,文件流需要处理每一行的时候,需要借助 ...

  7. 《Linux Shell编程学习笔记之一》

    <Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...

  8. Linux Shell编程学习笔记(4)

    Linux Shell编程学习笔记(2015-7-20) 分类:linux shell   今天学习了Linux Shell中的控制结构.其实大多数语言的控制结构这一块都是基本类似的,有了C语言的基础 ...

  9. Linux Shell编程学习笔记(2)

    Linux Shell编程学习笔记(2015-7-12) 分类:linux shell Shell变量 一:关于Shell变量   Shell是一种弱类型的语言,变量存储的一切值都是字符串.Shell ...

最新文章

  1. 医学假阴性?看看在机器学习中如何用来衡量分类模型的效果(附代码)
  2. linux下apache服务器的配置和管理(启动、重启、中断服务)
  3. struts2学习笔记--使用servletAPI实现ajax的一个小Demo
  4. linux内核网络协议栈--sk_buff结构体(四)
  5. 2020年数据中心值得关注的8大趋势
  6. matlab3dimshow_matlab利用MATLAB嵌套函数表示3D作图
  7. 支持Windows 7的CAD—AutoCAD Civil 3D 2010
  8. XCTF WEB disabled_button
  9. Flink 1.13,面向流批一体的运行时与 DataStream API 优化
  10. 017 在SecureCRT中安装rz小工具
  11. 截取含HTML标签的字符串
  12. 007 使用SpringMVC开发restful API五--异常处理
  13. Java之戳中痛点 - (5)switch语句break不能忘以及default不同位置的用法
  14. 使用阿帕奇服务器配置多个网站站点的方法
  15. java opts tomcat,jvm初学篇-tomcat JAVA_OPTS配置
  16. 理解图像中基本概念:色调、色相、饱和度、对比度、亮度
  17. java jersey,java Jersey
  18. 华三交换机怎么样?H3C交换机产品系列介绍!
  19. 市政协调研组:建议设大数据管理局
  20. 【流浪地球——休眠仓】题解

热门文章

  1. 【MySQL】浅谈一致性读
  2. SQL中创建外键约束
  3. Macaron的注入struct
  4. Oracle Tuning ( instance 级别 ) 01
  5. SharePoint 2010在线查看PDF文档
  6. rand()和srand()产生伪随机数zz
  7. .txt文件改成.bat为什么没有反应
  8. xcode5 ios7 64位 iphone5s引用第三方库报错的解决办法
  9. jQuery 图片放大预览插件
  10. SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(1)