
Linux Shell
报恩的猫
码农
展开
-
awk命令
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho转载 2015-03-18 13:31:12 · 412 阅读 · 0 评论 -
Shell的RANDOM变量
shell有一个环境变量RANDOM,范围是0--32767如果我们想要产生0-25范围内的数:$(($RANDOM%26))在$(()) 是可以省略取值的$符号的。(All tokens in the expression undergo parameter expansion, string expansion, command substitu-tion, and q转载 2016-08-23 11:12:35 · 8408 阅读 · 1 评论 -
shell的 关联数组 和 普通数组
前言普通数组中判断元素是否存在的时间复杂度一般为O(n),是因为大家一般的做法都是遍历一遍数组看看所要找的数据是否存在。这里介绍一种利用key的唯一性来实现的时间复杂度为O(1)的判断元素是否存在的方法:关联数组。在c语言里这种方法经常使用,这里介绍在shell的语法中我们如何利用关联数组和key值唯一性来提高脚本的执行效率转载 2016-06-12 00:07:34 · 1620 阅读 · 0 评论 -
exec 自定义文件描述符
文件描述符是用于访问文件的一个抽象指针。存取文件离不开被称为“文件描述符”告的特殊数字。0、1和2分别是stdin、stdout和stderr的预留描述符。我们可以使用exec命令创建自定义的描述符。如果你对其他编程语言进行文件编程非常熟悉,你可能已经注意到了文件打开模式。通常来说,会使用3种模式。只读模式。截断模式。追加模式。>操作符用于截断模式的文件写入(数据在转载 2016-06-11 23:47:17 · 1843 阅读 · 1 评论 -
cat <<EOF
(1)cat和EOF简介cat 用于显示文本文件内容,全部输出EOF “end of file”,表示文本结束符 (2)使用用法1.多行导入文件(新建文件或者覆盖文件内容)在cat abcd.txt命令 与下一个输入的EOF行之间的所有文本行都会被当做是stdin数据。root@unbuntu:/# cat abcd.txt转载 2016-06-11 23:41:23 · 9772 阅读 · 0 评论 -
cut命令
cutcut命令可以从一个文本文件或者文本流中提取文本列。cut语法[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符[root@www ~]# cut -c 字符区间 <==用于排列整齐的信息选项与参数:-d :后面接分隔字符。与 -f 一起使用;-f :依据 -d 的分隔字符将一段信息分割转载 2015-03-18 13:22:59 · 468 阅读 · 0 评论 -
Head/Tail命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看文档的结尾,看看下面的范例:## (1)显示readme.txt的前 6 行head -6 readme.txt## (2)显示mail.txt的倒数 25 行tail -25 mail.转载 2015-03-18 13:59:01 · 497 阅读 · 0 评论 -
tr命令-----轻量级sed
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字转载 2015-03-18 13:28:33 · 635 阅读 · 0 评论 -
重定向
在了解重定向之前,我们先来看看linux 的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值。linux启动后,会默认打开3个文件描述符,分别是:标准输入转载 2015-03-18 12:36:51 · 360 阅读 · 0 评论 -
Shell 比较运算符号
linux shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是正规文件时返回真 -g 当由pathname指定的文件或目录存在并转载 2015-03-18 12:16:59 · 800 阅读 · 0 评论 -
Shell 通配符、元字符、转义符
一、linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不用在 操作符上)。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径转载 2015-03-17 21:52:07 · 501 阅读 · 0 评论 -
shell中各种括号的作用()、(())、[]、[[]]、{}
一、小括号,圆括号()1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输转载 2015-03-18 09:42:56 · 457 阅读 · 0 评论 -
shell中双引号、单引号、反引号、反斜线
在执行shell脚本的时候,shell将会对脚本中的行进行解释,然后执行;对于一些特殊处理的句子,我们可以使用引号或者反斜线来避免shell解释执行之。如下,当在命令行中输入:echo *child.sh env_variable father.sh param.sh profile.sh 125017.sh默认会将当前文件夹下的所有文件都打印出来,但我们需要的是输出一个“*”转载 2015-03-18 12:05:24 · 1903 阅读 · 0 评论 -
shell 中数学计算总结
1、错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1,依然悲剧,呵呵 2、正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2,这次没有悲剧 注意: a)经我测试l转载 2015-03-17 21:45:31 · 366 阅读 · 0 评论 -
top与ps区别
一:ps命令以下是 ps 的最简单形式: $ psPID TTY TIME CMD3884 pts/1 00:00:00 bash3955 pts/2 00:00:00 more3956 pts/5 00:00:05 sqlplus• PID 是进程的标识号。 • TTY 是进程所属的终端控制台。转载 2015-03-20 21:35:05 · 709 阅读 · 0 评论 -
sed命令
1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显转载 2015-03-18 13:31:09 · 378 阅读 · 0 评论 -
swap
Swap,即交换区,是从磁盘中划出去一部分空间,作为虚拟内存。众所周知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。 Swap 空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以转载 2015-03-19 20:15:44 · 505 阅读 · 0 评论 -
free命令
相信有许多同学都对free命令中的buffers cached十分不理解,今天笔者就对free命令机器结果做一个详细的剖析。 buffers和cached是从物理内存中划出来一部分当做缓存(内存和硬盘之间)使用。(buffers和cached是在物理内存之上的) 总的物理内存大小为124788 已经使用过的物理内存大小为113432第一行,对于操作系统转载 2015-03-19 19:51:43 · 476 阅读 · 0 评论 -
高效编辑器vim之窗口分割
vim可以在一个界面显示多个不同的文件,或者说可以同时显示一个文件的多个不同地方,还可以并排比较两个文件。这一切都可以通过分割窗口实现。使用同一个文件分割窗口:如果你是在编辑一个好长的代码文件,你想一边编辑,一边看某个函数后结构体的定义,这时你不得不来回的跳转文件位置。这是你可以使用vim窗口分割实现在一个窗口显示一个文件的两个部分,使用命令::split(或:sp)这转载 2016-10-14 10:32:12 · 499 阅读 · 0 评论