Shell脚本
文章平均质量分 79
乌托邦BB
这个作者很懒,什么都没留下…
展开
-
正则三剑客之awk的用法总结
概述:awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk的工作流程是这样的:读入有’\n’换行符分割的一条记录,然后iu将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,默认域分隔符是“空格符”或者“[Tab]键”awk的命令形式:awk [-F|-f|-v]‘BEGIN{} //{command1;co...原创 2020-01-10 10:12:00 · 214 阅读 · 0 评论 -
Linux下的C语言编程
1、vim xxxx.c 编辑脚本a 开始编辑 esc退出编辑 :wq 退出gcc xxxx.c 编译脚本,编译成功后有一个a.out文件 ,./a.out 就可产生xxxx.c的运行结果gcc 工具链编译过程是分为四个阶段进行的:即预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。编译指令:gcc te...原创 2020-01-09 11:15:25 · 233 阅读 · 0 评论 -
dmidecode命令详解
在Linux系统下,想要查看系统的硬件信息就可以使用dmidecode命令,在Windows中可以使用“DMIScope”软件(收费软件,笔者未使用过)来查看和修改BIOS。一、dmidecode简介midecode允许你在Linux系统下获取有关硬件方面的信息。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。 DMI(Desk...原创 2020-01-08 15:16:13 · 6166 阅读 · 0 评论 -
Linux系统开机时,如何自动执行特定脚本?
当你按下开机键或者启动一个虚拟机的时候,你就启动了一系列事件,然后你就会进入一个功能完备的系统中,在系统启动以及登录或者注销的过程中,还可以让系统执行特定的操作,以下介绍几个比较传统的方法。(bash)启动时执行shell脚本1.使用cron任务除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本......原创 2020-01-07 14:07:13 · 2103 阅读 · 0 评论 -
shell脚本中的条件测试if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。...转载 2019-12-26 09:54:30 · 179 阅读 · 0 评论 -
awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
NF 字段个数,(读取的列数)NR 记录数(行号),从1开始,新的文件延续上面的计数,新文件不从1开始FNR 读取文件的记录数(行号),从1开始,新的文件重新从1开始计数FS 输入字段分隔符,默认是空格OFS 输出字段分隔符 默认也是空格RS 输入行分隔符,默认为换行符ORS 输出行分隔符,默认为换行符https://blog.csdn.net/qq_41673534/article...转载 2019-12-26 09:46:01 · 242 阅读 · 0 评论 -
Shell命令替换:将命令的输出结果赋值给变量
Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,在某个目录中输入 ls 命令可查看当前目录中所有的文件,但如何将输出内容存入某个变量中呢?这就需要使用命令替换了,这也是 Shell 编程中使用非常频繁的功能。Shell 中有两种方式可以完成命令替换,一种是反引号,一种是$(),使用方法如下:variable=`commands`variable=$(commands)其...原创 2019-12-17 17:25:03 · 899 阅读 · 0 评论 -
linux下的文件压缩
一、为什么要压缩文件文件太大文件数量多备份重要数据的时候,会耗掉大量的磁盘空间二 、什么是文件压缩原理:目前我们使用的计算机系统都是使用所谓的byte单位来计算的,但是事实上计算机的最小计量单位是bit,1byte=8bit。举个例子:当我们保存数据1的时候,考虑到计算机使用的是二进制,如此,1就会在最右边占据一个bit,而其他的7个bit将会被自动填上0。其实那7个bit应该是...原创 2019-12-16 11:50:27 · 98 阅读 · 0 评论 -
Shell三剑客你看这篇就够了
最基本的解释:grep 命令 :强大的文本’搜索’工具sed :实现数据的替换,删除,增加,选取等(以行为单位进行处理)awk : 以字段为单位进行处理(其实就是把一行的数据分割,然后进行处理)-记住三个命令的运用形式 grep '字符' 文件 sed '命令' 文件 awk '条件{命令}' 文件-死记一点,...原创 2019-12-13 11:41:13 · 310 阅读 · 0 评论 -
shell脚本问题汇总(一)
1.Shell语言是什么类型的语言?SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在...原创 2019-12-11 17:46:43 · 606 阅读 · 0 评论 -
Shell script的追踪和调试
脚本在执行前,最怕的就是出现语法错误的问题,那么我们如何调试呢,我们直接bash的相关参数来进行判断!sh [-nvx] script.sh参数:-n:不要执行script,仅查询语法的问题;-v:在执行script前,先将script的内容输出到屏幕上;-x:将使用到的script内容显示到屏幕上,这是很有用的参数。在输出的信息中,加号后面的数据其实都是命令串,由sh -x的方式来将...原创 2019-12-11 11:51:07 · 179 阅读 · 0 评论 -
shell script中的循环(loop)
循环的重点在于循环结束的条件,分为不定循环和固定循环。1.while do done ,until do done一般来说,不定循环最常见的就是以下的这两种状态了:while [condition] <==中括号内的状态就是判断式do <==do 是循环的开始! 程序段落 done <==done是循环的结束!while 是“当…时”,所以这种说的是,当条件成...原创 2019-12-11 11:21:10 · 973 阅读 · 0 评论 -
shell script的条件判断式
1.什么是shell script?script就是脚本的意思,shell script就是利用shell的功能所写的一个“程序”,这个程序是使用纯文本文件,将一些shell的语法和命令写在里面,搭配正则表达式,管道命令,数据流重定向等功能,以达到我们所想要的处理目的。就像早期Dos年代的批处理文件一样,最简单的功能就是将许多命令写在一起,让用户很轻易就能够一下子处理复杂的操作。2.为什么要学...原创 2019-12-11 10:47:59 · 227 阅读 · 0 评论 -
文件的格式化与相关处理
1.格式化打印:printfprintf '打印格式'实际内容参数:\a 警告声音输出\b 退格键(backspace)\f 清除屏幕(form feed)\n 输出新的一行\r 就是enter\t 水平的Tab\v 垂直的Tab\xNN NN为两位数的数字,可以转换数字成为字符c语言程序中%ns 那个n是数字,s代表String,即多少个字符%ni n是数字,i代表in...原创 2019-12-10 17:43:23 · 141 阅读 · 0 评论 -
扩展正则表达式
上一篇中,当我们去除空白行与行首为#的行列,使用的是grep -v '$' regular_express.txt | grep 这个需要使用到管道命令来查找两次!那么如果使用扩展正则表达式,我们可以简化为:egrep -v '^$|^#' regular_express.txt 扩展型正则表达式可以通过组功能“|”来进行一次查找!那个在单引号的管道意义为“或or”!这就变得简单了,此外g...原创 2019-12-10 16:28:55 · 580 阅读 · 0 评论 -
基础正则表达式字符和sed工具
1.正则表达式特殊字符归纳RE字符意义与范例^word意义:待查找的字符串(word)在行首 范例:查找行首为#开始的那一行,并列出行号 grep-n ‘^#’ regular_expresss.txtword$意义:待查找的字符串(word)在行尾 范例:查找行尾为!的那一行打印出来,并列出行号 grep-n ‘^!$’ regular_expresss.tx...原创 2019-12-10 15:42:30 · 467 阅读 · 0 评论 -
正则表达式-Linux系统的任督二脉
1.什么是正则表达式正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。2.正则表达式的用途对于系统管理员来说,在系统的数据量特别大的时候,想查看一行有问题的信息...原创 2019-12-10 11:35:31 · 139 阅读 · 0 评论 -
shell中神奇的管道命令(pipe)
管道,首次看到这个名词,我并不能将他和os还有shell联系到一起。很难想象这么机械化的一个词语居然能和编程联系起来,而且他还是shell编程中比较重要的一环。bash命令执行的时候偶输出的数据会出现。那么如果这群数据必须要经过几道手续才能得到我们想要的格式,此时就要需要用到“|”这个界定符号了。管道命令与连续命令是不一样的。简单举个例子:ls -al /etc | less即可利用les...原创 2019-12-06 17:03:51 · 1303 阅读 · 0 评论 -
shell test命令
test命令是用来检查某个条件是否成立,可以测试数值,字符和文件三个方面。1.数值测试参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真2.字符串测试参数说明=等于则为真!=不相等则为真-z 字符串字符串的长度为零则为真...原创 2019-12-06 11:26:23 · 77 阅读 · 0 评论 -
Shell printf 命令
Shell 的另一个输出命令 printf。printf 命令模仿 C 程序库(library)里的 printf() 程序。printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认 printf 不会像 echo ...原创 2019-12-06 10:59:46 · 114 阅读 · 0 评论 -
shell的echo命令
echo指令用于字符串的输出,可以使用echo进行复杂的输出格式控制:1.普通字符串的输出echo "It is a test"#双引号完全可以省略2.显示转义字符echo "\"It is a test\""3.显示变量#!/bin/bashread nameecho "$name is a test"以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:...原创 2019-12-06 10:44:31 · 343 阅读 · 0 评论 -
Shell基本运算符
Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):...原创 2019-12-06 10:04:04 · 135 阅读 · 0 评论 -
vim的保存文件、恢复与打开时的两个小问题
文件存在问题时,一般有以下两个情况:问题1.可能是同时有其他人在编辑使用这个文件。解决方法:找到那个程序或人员,请求他将自己的vim工作结束,然后再继续处理。如果你只要看看的话可选择打开为只读文件,即上述界面的反白部分输入英文“o”即可,就意思是open read-only的参数。问题2.在使用时,被强制中断。解决方法:按下R 就是recover的选项,此时vim会载入.ma...原创 2019-12-05 15:35:22 · 1760 阅读 · 0 评论 -
Vim程序编辑器
1.vi和vimvi:一种基本的文本编辑器,所有UNIX Like系统都会内置,很多的软件编辑接口会主动调用,是老式的文字处理器,不过功能已经很齐全了。vim:可以视为vi的高级版本,具有程序编辑的能力,可以主动以字体颜色或底线等方式来显示一些特殊的信息,辨别语法的正确性,方便程序设计,vim的官方网站自己也说vim是一个“程序开发工具”而不是文字处理软件,因为vim里面加入了很多额外的功能,...原创 2019-12-05 14:56:06 · 148 阅读 · 0 评论 -
Shell参数的传递
我们在执行Shell脚本的时候可以向脚本中传递参数,脚本内获取参数的格式为:$n。 n代表一个数字,1为脚本执行的第一个参数,2为脚本执行的第二个参数… 以此推类。#!/bin/bash#author:kyhuanecho "shell传递的参数实例!";echo “shell执行的文件名:$0";echo "第一个参数:$1";echo "第二个参数:$2";echo "第三个参...原创 2019-12-04 17:27:50 · 159 阅读 · 0 评论 -
shell注释
以 # 开头的行就是注释,会被解释器忽略。通过每一行加一个 # 号设置多行注释,像这样:#--------------------------------------------# 这是一个注释# author:kyhuan# site:www.qinglonghui.com# slogan:学的不仅是技术,更是梦想!#--------------------------------...原创 2019-12-04 14:48:13 · 93 阅读 · 0 评论 -
Shell 数组
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。1.定义数组在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 … 值n)例如:array_name=(value0 value1 va...原创 2019-12-04 14:40:45 · 78 阅读 · 0 评论 -
Shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。1.单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。2....原创 2019-12-04 14:31:25 · 179 阅读 · 0 评论 -
Shell变量
1.定义变量的时候,变量名不加$,比如one_name="hello world" #值得注意的是变量名和等于号之间不能有空格,这是与其他语言的不同之处2.命名规则和其他语言并无较大的差异:1.命名的时候只能使用英文字母,下划线和数字,但是首个字符不能是数字。2.中间不能有空格,可以使用下划线。3.不能使用标点符号,不能使用Bash里面的关键字(可以用help来查询保留的关键字)除了...原创 2019-12-04 14:14:06 · 90 阅读 · 0 评论 -
shell脚本学习
一、Shell介绍Shell是一个用C语言编写的程序,他是用户使用Linux的桥梁,Shell既是一种命令语言,也是一种程序设计语言。Shell是一种应用程序,这个应用程序为用户提供了一个界面,用户通过这个界面访问os内核的服务。二、Shell脚本Shell脚本(Shell script)是一种为Shell编写的脚本程序。通常人们所说的shell其实是Shell脚本,而不是Shell,She...原创 2019-12-04 11:24:17 · 90 阅读 · 0 评论