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. linux目录详解

    网卡的配置文件目录 /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0                                     ...

  2. 【python】控制台输出颜色

    来源:http://www.cnblogs.com/yinjia/p/5559702.html 在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端 ...

  3. python网络爬虫笔记(三)

    一.切片和迭代 1.列表生成式 2.生成器的generate,但是generate保存的是算法,所以可以迭代计算,没有必要,每次调用generate 二.iteration 循环 1.凡是作用于for ...

  4. 自动把动态的jsp页面(或静态html)生成PDF文档,并且上传至服务器

    置顶2017年11月06日 14:41:04 阅读数:2311 这几天,任务中有一个难点是把一个打印页面自动给生成PDF文档,并且上传至服务器,然而公司框架只有手动上传文档,打印时可以保存为PDF在本 ...

  5. 如何让谷歌浏览器支持跨域访问(AJAX) AJAX调试跨域接口

    以谷歌最新版本为例(2018) 1.在电脑上新建一个目录,例如:C:\MyChromeDevUserData 2.在属性页面中的目标输入框里加上   --disable-web-security -- ...

  6. python with语句中的变量有作用域吗?

    一直以为python中的with语句中的变量,只在with语句块中起作用.不然为什么要缩进一个级别呢? 呵呵,然而并没有为with语句内的变量创建新的作用域. 举例: # test.py with o ...

  7. Leetcode刷题第001天

    一.合并两个有序链表 [题目]206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * L ...

  8. [转] whistle--全新的跨平台web调试工具

    whistle是基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler+Willow,基于Java实现的Charles,及公司同事基于Node实现的Livepoo ...

  9. Vs2015 本地git获取的代码目录文件修改后,启动提示error:Unable to start program “C:\Program Files\dotnet\dotnet.exe” 已解决.

    http://stackoverflow.com/questions/39938453/unable-to-start-program-c-program-files-dotnet-dotnet-ex ...

  10. 最小生成树模板【kruskal & prim】

    CDOJ 1966 Kruskal 解法 时间复杂度O(mlogm) m为边数,这里主要是边排序占时间,后面并查集还好 #include <cstdio> #include <cst ...