
Shell
猫猫猫猫猫大人
工程师 -> 架构师 -> 全栈工程师 -> 全栈架构师
展开
-
shell浅谈之六字符串和文件处理
一、简介 Bash Shell提供了很多字符串和文件处理的命令。如awk、expr、grep、sed等命令,还有文件的排序、合并和分割等一系列的操作命令。grep、sed和awk内容比较多故单独列出,本文只涉及字符串的处理和部分文本处理命令。二、字符串处理1、expr命令expr引出通用求值表达式,可以实现算术操作、比较操作、字符串操作和逻辑操作等功能。转载 2016-08-26 11:39:39 · 551 阅读 · 0 评论 -
shell浅谈之十一别名、列表及数组
一、简介 Shell中别名可以对命令进行重新命名,方便用户记忆长命名和定制自己熟悉的工作环境;列表是一组命名以逻辑与、逻辑或的关系串在一起,实现脚本程序的逻辑控制;数组是一重点,涉及数组的赋值、操作和字符串的处理,以及利用数组实现堆栈和二维数组等数据结构的存储。二、详解1、别名 对linux命令重新命名,主要考虑到很多linux命令带有冗长的选项转载 2016-08-26 11:46:44 · 4426 阅读 · 0 评论 -
shell实例浅谈之二批量创建文件并重新命名
一、问题 使用for循环批量创建10个文件,从linux-1到linux-10。并将上述文件的前缀改为unix。二、解决1、批量删除文件批量创建命名从linux-1到linux-10的文件。(1)方法一:常规方法[cpp] view plain copy #使用for循环批量创建10个文件 linux-1到linux-转载 2016-08-26 11:47:10 · 1426 阅读 · 0 评论 -
shell浅谈之十二shell调试及主题
一、简介 Shell中不存在调试器,对脚本中产生的语法错误只会产生模糊的错误提示信息。shell中也经常存在隐涩的逻辑错误,使得脚本无法按照程序员的意愿运行。因此shell脚本的调试有了很大的难度。好的编程风格和习惯也是为了减小调试程序的难度。二、详解1、Shell调试技术 Shell脚本调试就是发现引发脚本错误的原因以及在脚本源代码中定位发生转载 2016-08-26 11:48:26 · 3032 阅读 · 2 评论 -
shell变量替换:=、=、:-、-、:?、?、:+、+句法
linux bash shell变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法 变量替换和变量默认值设置是紧密相关的。 参数扩张是将类似于变量的参数用它的值来替换。例如以"echo $VAR"的形式调用一个简单的变量。此外还有更多的特性可以访问。这个句法还包含一些没有扩展的特性,虽然这些特性自身很有意义。首先,这类特性执行默认变量赋值。转载 2016-08-26 11:49:55 · 1325 阅读 · 0 评论 -
linux shell下除了某个文件外的其他文件全部删除的命令
Linux反选删除文件最简单的方法是# shopt -s extglob (打开extglob模式)# rm -fr !(file1) 如果是多个要排除的,可以这样:# rm -rf !(file1|file2) Linuxrm删除指定文件外的其他文件方法汇总一、Linux下删除文件和文件夹常用命令如下: 删除文件: rm file删除文转载 2016-08-26 11:50:45 · 11246 阅读 · 0 评论 -
Shell总结(整理)
一、简介 Shell各方面的编程内容总结下来并不断更新,以便以后使用时查询。二、详解1、Shell输出不换行 实现类echo的简单硬输出,不自动加换行符。[html] view plain copy #将脚本接收的参数作为一个串($@或$*)处理,并去掉尾部可能存在的换行符(\n) #!/bin/bash ec转载 2016-08-26 11:51:30 · 531 阅读 · 0 评论 -
shell中各种括号的作用()、(())、[]、[[]]、{}
$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个。$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)$- 显示shell使用的当前选项转载 2016-08-26 11:28:11 · 616 阅读 · 0 评论 -
shell浅谈之二运算符和IF条件判断
一、简介 Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断、运算符和一些退出状态对后面的学习有很重要的影响。shell有一个内部命令test经常用于对判断语句进行测试一种或几种状态的条件是否成立。二、详解1、测试和运算符(1)Linux的shell中的测试命令,用于测试某种条件或某几种条件是否真实存在。测试命令是判断语句和转载 2016-08-26 11:33:43 · 955 阅读 · 0 评论 -
shell-----sed命令详解
Table of Contents1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本1. Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一转载 2016-08-15 11:28:01 · 290 阅读 · 0 评论 -
shell实例浅谈之一判断是可执行文件并存在PATH路径中
一、问题 判断一个文件是否是可执行文件,并且判断能否在系统PATH路径中找到。第一种情况:可执行且找到返回0,第二种情况没找到或者不可执行返回1,第三种情况可执行但没找到或没找到返回2。若有需求还可以细分。二、解决1、shell脚本新建checkxfilepath.sh文件,chmod +x checkxfilepath.sh,然后执行。[cp转载 2016-08-26 11:45:52 · 2494 阅读 · 1 评论 -
shell浅谈之十函数
一、简介 Linux Shell编程中也会使用到函数,函数可以把大的命令集合分解成若干较小的任务,也避免重复编写相同的代码。在Shell中,所有的函数定义都是平行的,即不允许在函数体内再定义其他的函数,但允许函数之间相互调用。函数又涉及到很多基本使用:函数参数调用、函数返回值、局部变量及全局变量、函数间的相互调用和函数递归调用。二、详解1、函数的定义(1转载 2016-08-26 11:45:15 · 1116 阅读 · 0 评论 -
shell浅谈之九子shell与进程处理
一、简介 Linux是一种用户控制的多作业操作系统,系统允许多个系统用户同时提交作业,而一个系统用户又可能用多个shell登录,每个系统用户可以用一个shell提交多个作业。了解Bash Shell在多作业管理和进程处理方面的命名和机制有助于理解多用户、多作业的系统。二、详解1、子Shell(1)父子Shell是相对的,它描述了两个Shell进程的fork转载 2016-08-26 11:44:29 · 1052 阅读 · 0 评论 -
shell浅谈之四正则表达式
一、简介 Shell中很多工具和命令普遍使用到了正则表达式,了解基本的正则表达式和扩展正则表达式中元字符的意义和用法对熟练使用Shell编程很有好处。 正则表达式RE(Regular Expression)是由一串字符和元字符构成的字符串,主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。用于数据流处理完成数据过滤 。二、详解PO转载 2016-08-26 11:37:48 · 747 阅读 · 0 评论 -
shell浅谈之七文本处理工具grep、sed、awk
一、简介 Bash Shell提供了功能强大的文件处理工具:sed(流编辑器stream editor)和awk,都可使用正则表达式进行模式匹配。而grep又有助于理解sed和awk。二、grep命令 grep(Globel search Regular Expression and Print out the line)全面搜索正则表达式并把行打印出来转载 2016-08-26 11:40:31 · 854 阅读 · 0 评论 -
shell中$0,$?,$!等的特殊用法
变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值) 成功为0$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1"原创 2016-08-24 17:08:15 · 555 阅读 · 0 评论 -
printf("\033[ 颜色特效控制
[cpp] view plain copy print?"code" class="cpp">颜色特效控制: printf("\033[1;33m Hello World. \033[0m \n"); 颜色如下: none = "\033[0m" black = "\033[0;30m" dark_gray = "\033[转载 2016-08-24 18:39:15 · 8498 阅读 · 0 评论 -
find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释:-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。使用find原创 2016-08-26 10:04:58 · 263 阅读 · 0 评论 -
shell浅谈之三for、while、until循环
一、简介 Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。while循环和for循环属于“当型循环”,而until属于“直到型循环”。循环控制符:break和continue控制流程转向。二、详解1、for循环(1)for循环有三种结构:一种是列表for循环,第二种是不带列表for转载 2016-08-26 11:32:23 · 1346 阅读 · 0 评论 -
shell浅谈之一变量和引用
一、简介 变量是脚本语言的核心,shell脚本又是无类型的。变量本质上存储数据的一个或多个计算机内存地址,分为本地变量(用户当前shell生命期使用,随shell进程的消亡而无效,类似局部变量)、环境变量(适用于所有由登录进程所产生的子进程)和位置参数(向shell脚本传递参数,只读)。而shell使用变量就需要引用,它们密切相关。二、详解1、变量赋值转载 2016-08-26 11:34:56 · 7445 阅读 · 0 评论 -
shell浅谈之五文本处理工具Vim
一、简介 Vim是一个类似于Vi的文本编辑器,在Vi的基础上增加了很多新的特性。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的编辑器。二、详解1、vim操作(1)文本编辑器分为:行编辑器如sed(流编辑器)等和全屏幕编辑器如emacs、vi、vim(支持高亮、插件等高级功能)等。转载 2016-08-26 11:38:49 · 628 阅读 · 0 评论 -
shell浅谈之八I/O重定向
一、简介 I/O重定向用于捕获一个文件、命令、程序或脚本甚至代码块的输出,然后把捕获到的输出作为输入发送给另外一个文件、命令、程序或脚本等。I/O重定向最常用的方法是管道(管道符"|")。二、详解1、管道(1)管道技术是Linux间的一种通信技术,利用先进先出排队模型来指挥进程间的通信(可当作连接两个实体的一个单向连接器)。Linux管道可用于应用程序之间转载 2016-08-26 11:43:43 · 856 阅读 · 0 评论 -
linux在shell中获取时间
获得当天的日期date +%Y-%m-%d输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d)有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期date -d next-day +%Y%m%d获取昨天的日期date -d last-day +%Y%m%d获取上个月的转载 2016-09-07 16:12:49 · 1447 阅读 · 0 评论