linux shell 编程笔记
重定向和管道
输出重定向:把在终端输出的内容保存到文件上
输入重定向:通过文件的格式输入内容到终端
管道:把上一条命令的输出作为下一条命令的输入,如同管道一样,所有命令同时进行,同时处理数据,不产生临时文件
每个程序三个句柄:标准输入 标准输出 标准错误
标准输入 缩写 stdin 序号 0 读数据 终端连接(默认)
标准输出 缩写 stdout 序号 1 显示程序输出 终端显示设备
标准错误 缩写 stderr 序号 2 显示错误信息以及警报 终端显示设备
输出重定向 ls -l > myfile 一般情况不重定向错误信息
若想把标准输出和错误一起重定向,可以 ls -l /dev/sda /dev/mmm > listing 2>&1 或者 ls -l /dev/sda /dev/mmm > listing 2>listing.err
>表示覆盖源文件 >>表示在源文件基础上添加
rev 获取键盘输入,反过来输出到终端
ls -l /dev | wc -l (|表示管道,前面的输出作为后面的输入,本命令统计前面输出的数量)
curl :一个网络命令,可以访问网页
#!/bin/bash 指定bash解析器 ,接下来的#表示注释
1. bash file.sh 解析器bash 执行命令,无须指定解析器、无须设置脚步执行权限
2. ./file.sh 需要指定解析器去执行代码,需要给脚步设置可执行权限
从键盘输入内容为变量赋值
格式:read [-p "信息"] 变量名
单引号不能解析变量 ’ $name ‘解析不了 需要用“ $name ”
echo -n "please input your name: " -n 表示不换行
颜色化输出:
"\033[32;40m[string]\033[0m"
#\033[前景颜色;背景色m
#\033[0m 恢复到系统默认的颜色
30 黑 31 红 32 绿色 33 棕色 34 ...40
40 黑 41 红 42绿....50
数值比较 格式【整数1 操作符 整数2】
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于或者等于
-ge 大于或者等于
字符串比较
= 等于 !=不等于 -z 字符串为空
find查找命令:
find 目录 属性 参数(可以使用正则表达式)
find . -name "*.c"
find / -perm 755
find / -user root
find / -type f(d、l)
-mtime -5 更改时间在五天之内的文件
-mtime +3 三天以前更改的文件
xargs命令:在找到文件之后,把文件进行提交处理
find -name "*.txt" | asrgs rm -rf
grep正则表达式的使用:
awd行定位的使用
sed行定位的使用
sed -n '2'p fiel 打印第二行
sed -n '1,3'p file 打印一到三行
sed -n '/lose/'p file 打印和lose匹配的行
sed -n '4,/gg/'p file 打印第四行到包含字符gg的行
sed '1,2'd file 把第一行和第二行全部删除
uniq 行定位的使用
uniq -c file 打印紧挨的重复行出现的次数
uniq -d file
sort file 对文件内容进行排序
sort -t: -k1 -r 以冒号进行分割,以第一列进行逆序排序
cat << eof
内容
eof 格式输出内容
脚本函数的使用:
function fun(){} 在另一个文件输入 . 文件名 函数名可以调用
linux shell 编程笔记的更多相关文章
- Linux Shell编程学习笔记——目录(附笔记资源下载)
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...
- Shell编程笔记
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- storysnail的Linux串口编程笔记
storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
- linux shell 编程参考
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...
随机推荐
- redis中关于使用string类型还是hash类型
前篇:最近在做一个将redis中大数据量进行合并缩减优化的工作,其中一项按月将数据进行合并.将一个月的数据放入一个key-value键值对中. 例:p2d20180901-3.p2d20180902- ...
- 国密SSL证书免费试用申请指南
沃通提供国密SSL证书免费申请试用服务,一次申请可同时签发SM2/RSA双算法证书,试用周期1个月,用于测试国密SM2 SSL证书的运行效果和SM2/RSA双证书部署效果. 试用产品:SM2/RSA双 ...
- 【Codeforces 459D】Pashmak and Parmida's problem
[链接] 我是链接,点我呀:) [题意] 定义两个函数 f和g f(i)表示a[1..i]中等于a[i]的数字的个数 g(i)表示a[i..n]中等于a[i]的数字的个数 让你求出来(i,j) 这里i ...
- ZOJ 3687 The Review Plan I
The Review Plan I Time Limit: 5000ms Memory Limit: 65536KB This problem will be judged on ZJU. Origi ...
- hdu 4859 最大点权独立集的变形(方格取数的变形)
/*刚开始不会写,最大点权独立集神马都不知道,在潘神的指导下终于做出来,灰常感谢ps: 和方格取数差不多奇偶建图,对于D必割点权为0,对于.必然不割点权为inf.然后和方格取数差不多的建图 .--.| ...
- jQuery WEI----DIV+CSS样式li自动适应高度,自动换行,横向排列
设置相关样式即可,按照需求自己修改样式,Demo代码如下: <li style="display:inline;;line-height:24px;height:auto;word-b ...
- [NOIP2016day1T1] 玩具迷題(toy)
题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singer告诉 ...
- JavaScript中的call()和apply()方法,借此实现继承
1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...
- ArcEngine控制台应用程序
转自wbaolong原文 ArcEngine控制台应用程序 控制台应用程序相比其他应用程序,更加简单,简化了许多冗余,可以让我们更加关注于本质的东西. 现在让我们看一看ArcGIS Engine的控制 ...
- Openfire:解决乱码问题
当部署openfire后,创建用户和发送离线消息时会出现中文字符乱码的问题.要解决这个问题需要同时配置openfire和mysql两端. 首先openfire端,在安装页面中指定odbc连接串中需要带 ...