shell编程基础

脚本:简单来说就是一条条的文字命令(一些指令的堆积)
Shell属于内置的脚本
1、程序开发效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)
2、语法简单,代码写起来比较轻松,简单易学

1991年linux正式发布;1992年正式诞生

linux可用的shell都记录在/etc/shells文件中
kernel主要的功能:
1、内存的管理
2、进程的管理
3、文件系统的管理(xfs,ext2/3/4)
4、设备驱动程序
5、网络系统

/etc/profile.d/
# echo $SHELL 查看默认的shell
# echo $PATH
yum search pstree 查询依赖关系

编写shell常用命令
grep :
选项 描述
-E 模式是扩展正则表达式(ERE)
-i 忽略大小写 # grep -i "root "/etc/passwd
-n 打印关键字的行并打印行号
# grep -n "root" /etc/passwd
-o 只打印匹配的内容 # grep -o"root" /etc/passwd
-c 只打印每个文件匹配的行数
# grep -c "root" /etc/passwd
-B 打印匹配的前几行
# grep -B 2 "root" /etc/passwd
-A 打印匹配的后几行
# grep -A 2 "root" /etc/passwd
-C 打印匹配的前后几行
# grep -C 2 "root" /etc/passwd
-v 取反(打印不匹配的行)
# grep -v "root" /etc/passwd

cut命令:
-c 以字符为单位进行分割
# cut -c 6 /etc/passwd(取出第六个字符)
# cut -c 1,3 /etc/passwd取出第一和三个字符
# cut -c -6 /etc/passwd取出开头到第六个字符
# cut -c 6- /etc/passwd取出第六个到结尾的字符
-d 自定义分割符 # cut -d ":" -f1 /etc/passwd
分割符可以任意定义
-f 区域哪个与-d一起使用,指定显示

sort命令:
-n 依照数值的大小排序(默认是根据字符进行排序)
-r 以相反的顺序来排序

uniq命令:
去除重复的行(相邻且相同,认定为重复)
-c 在行首用数字表示该行出现了多少次
-u 仅仅显示那些没有出现重复过的行

seq命令:
生成一个数组序列

tr命令:

作用:tr命令用于转换或删除文件中的字符
a-z任意小写
A-Z任意大写
0-9任意数字
tr a-z A-Z /etc/passwd 将文件中的小写全部转换成大写

tr -d "s" /etc/passwd 删除文件中的s

shell编程第一天的更多相关文章

  1. 1. Shell编程第一讲

    (1)shell 历史: Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive). Shell还有一种执行命令的方式称为批处理( ...

  2. shell编程企业级实战

    如何才能学好Shell编程 为什么要学习shell编程 Shell是Linux底层核心 Linux运维工作常用工具 自动化运维必备基础课程 学好shell编程所需Linux基础 熟练使用vim编辑器 ...

  3. windows编程之Windows Shell 编程

    参考书<VC++ Windows Shell Programming>   这里仅仅是记录下该资源,推荐到下文列出的连接进行查看   用VC++ 进行Windows Shell 扩展编成 ...

  4. shell编程学习笔记(一):编写我的第一段代码

    目前在学习Shell编程,我会把我的学习笔记记录在这里.大神可以直接略过~ 嗯,第一段代码,肯定是要输出Hello World了~ 以下蓝色字体的内容为linux命令,红色字体的内容为输出的内容: # ...

  5. 【Shell 编程基础第一部分】第一个Shell脚本HelloShell及一些简单的Shell基础书写与概念;

    http://blog.csdn.net/xiaominghimi/article/details/7603000 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...

  6. linux shell编程之变量和bash配置文件(第一篇)

    编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用 ...

  7. Linux学习笔记(17) Shell编程之基础

    1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find ...

  8. shell编程:定义简单标准命令集

    shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...

  9. Linux Shell编程入门

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

随机推荐

  1. ionic3 打包Xcode 9 Swift Language Version (SWIFT_VERSION) Ask 报错

    解决方案 选择4.0 然后报错17个,类似以下这样的错误 'AVMediaTypeVideo' has been renamed to 'AVMediaType.video' 根据提示更改 AVMed ...

  2. Anaconda创建caffe和tensorflow共存环境

    一.前言 安装环境: Anaconda Ubuntu 二.安装步骤 我们分几步进行,anconda的安装和使用方法就不讲解了.我们直接安装caffe和tensorflow. 1.创建虚拟环境 我们先创 ...

  3. 刚发了两个关于极光推送的网上Demo,再次自己结合官网总结一下,以便加深印象

    简单源码如下: //Map<String, String> parm是我自己传过来的参数,同学们可以自定义参数public static void jpushAndroid(Map< ...

  4. 集群部署时的分布式session如何实现

    tomcat + redis 这个其实还挺方便的,就是使用session的代码跟以前一样,还是基于tomcat原生的session支持即可,然后就是用一个叫做Tomcat RedisSessionMa ...

  5. 一脸懵逼学习Hadoop-HA机制(以及HA机制的配置文件,测试)

    1:能否让两个NameNode都正常影响客户端请求? 应该让两个NameNode节点在某个时间只能有一个节点正常影响客户端请求,相应请求的必须为Active状态的那一台. 2:standBy状态的节点 ...

  6. MVC区域area

    1.当项目业务比较庞大,可以通过区域来分拆. 2.添加区域时,默认会生成一下文件. 3.Application_Start()必需含有AreaRegistration.RegisterAllAreas ...

  7. C#连接Oracle错误:OCIEnvCreate 失败,返回代码为 -1

    处理某些数据需要从Oracle里读取数据 因为数据不多,简单方便直接用 System.Data.OracleClient 添加引用,写sql语句一气呵成,运行立刻报错 从没见过这错误啊… 上网搜索之… ...

  8. signal() 和 sigaction()

    [摘自<Linux/Unix系统编程手册>] Unix系统提供了两种方式来改变信号处置:signal() 和 sigaction(). signal() 的行为在不同Unix实现间存在差异 ...

  9. 【bzoj3747】[POI2015]Kinoman

    题解: 水题 从左向右维护以每一个作为右端点的最大值 线段树维护 代码: #include <bits/stdc++.h> using namespace std; #define rin ...

  10. 【译】学习JavaScript中提升、作用域、闭包的终极指南

    这似乎令人惊讶,但在我看来,理解JavaScript语言最重要和最基本的概念是理解执行上下文.通过正确学习它,你将很好地学习更多高级主题,如提升,作用域链和闭包.考虑到这一点,究竟什么是"执 ...