
Shell
Jaymeng8848
攀爬每一个巨人,站在他们肩膀上看一看
展开
-
Shell 反引号、$() 和 ${} 的区别
1.反引号与 $() 用于命令替换反引号和$()的作用相同,用于命令替换(command substitution),即完成引用命令的执行,将其结果替换出来,与变量替换差不多。比如:echo `date '--date=1 hour ago' +%Y-%m-%d-%H`#或者echo $(date '--date=1 hour ago' +%Y-%m-%d-%H)输出结果是相同的:2019-02-02-09。在编写 Shell 脚本时建议使用KaTeX parse error: Can't转载 2020-09-02 19:09:43 · 826 阅读 · 0 评论 -
Shell 双引号和单引号的区别
1.字符串变量定义的三种方式Shell在使用的过程中,经常会使双引号或者单引号将字符串括起来,也可以不使用引号来定义字符串变量。示例如下:str1="testString" #双引号str2='testString' #单引号str3=testString #无引号因此字符串变量的定义有三种方式,分别是双引号、单引号和无引号。这三种方式有什么区别呢?单引号和双引号又有什么区别呢?2.单引号单引号定义字符串所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么转载 2020-09-02 16:31:54 · 2208 阅读 · 0 评论 -
Shell 脚本调用另一个脚本的三种方法
假如有脚本 first.sh:#!/bin/bash#------------------#@file:first.sh#------------------echo 'your are in first file'如何在其它Shell脚本中调用first.sh呢?主要有三种方法:source、点号以及sh命令。1.source#!/bin/bash#---------------#@file:second.sh#---------------echo 'your are in转载 2020-09-02 16:26:37 · 1940 阅读 · 0 评论 -
Shell 函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。1.Shell 函数的定义格式可以带 function 关键字使用 function fun_name() 来定义,也可以直接给出函数名 fun_name() 定义。不能带任何参数,函数名必须唯一,使时可以传递参数,使用$1,2,...,2,...,2,...,* ,$@来获取参数。建议使用 function 关键字来定义函数,便于阅读。定义格转载 2020-09-02 16:12:30 · 245 阅读 · 0 评论 -
shell中ctrl+c、z、d、\、s、q、l的含义
shell中ctrl+c、z、d、\、s、q、l的含义ctrl-c: 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序;ctrl-z: 发送 SIGTSTP信号给前台进程组中的所有进程,常用于挂起一个进程;ctrl-d: 不是发送信号,而是表示一个特殊的二进制值,表示 EOF,作用相当于在终端中输入exit后回车;ctrl-\: 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件;ctrl-s: 中断控制台原创 2020-08-21 08:18:46 · 4167 阅读 · 0 评论 -
shell中a~z的含义:
shell中a~z的含义:[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。 [ -h FILE ]原创 2020-08-20 19:56:53 · 2265 阅读 · 0 评论 -
Shell脚本编程--nc命令使用详解
linux nc命令使用详解功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g<网关…>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v…][-w<超时秒数>][主机名称][通信端口…]参 数:-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。-h转载 2020-08-20 19:37:03 · 4648 阅读 · 0 评论 -
Shell脚本编程--curl命令详解
用途说明curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。常用参数-b/–cookie <nam转载 2020-08-20 19:35:43 · 12984 阅读 · 0 评论 -
Shell脚本编程--netstat命令
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为[root@localhost ~]# netstatActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Fo转载 2020-08-20 19:28:54 · 1092 阅读 · 0 评论 -
Shell脚本编程--Head/Tail命令详解
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾,看看下面的范例:(1)displays the first 6 lines of a filehead -6 readme.txt(2)displays the last 25 lines of a filetail -25 mail.txt范例一是显示档案的前 6 行,范例二则是显示档案最后的 25 行。而下面的范别转载 2020-08-20 19:24:17 · 994 阅读 · 0 评论 -
Shell脚本编程--函数返回值
Shell函数返回值,常用的两种方式:return,echo1) return 语句shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回。示例:#!/bin/shfunction test(){echo “arg1 = $1”if [ $1 = “1” ] ;thenreturn 1elsereturn 0fi}echoecho “test 1”test 1echo $? # print return resultechoecho转载 2020-08-20 19:20:24 · 2096 阅读 · 0 评论 -
Linux Shell脚本编程--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;(3)支持代理服务器;转载 2020-08-20 19:18:49 · 1850 阅读 · 0 评论 -
Shell脚本编程--grep命令详解
grep简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是转载 2020-08-20 19:16:30 · 851 阅读 · 0 评论 -
Shell脚本编程--sed命令详解
简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。sed使用参数[root@www ~]# sed [-nefr] [动作]选项与参数:-n :使用安静(silent)模式转载 2020-08-19 08:05:57 · 787 阅读 · 0 评论 -
Shell脚本编程--Uniq命令
uniquniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。uniq语法[root@www ~]# uniq [-icu]选项与参数:-i :忽略大小写字符的不同;-c :进行计数-u :只显示唯一的行testfile的内容如下cat testfilehelloworldfriendhelloworldhello直接删除未经排序的文件,将会发现没有任何行被删除#uniq testfil转载 2020-08-18 09:16:39 · 296 阅读 · 0 评论 -
Shell 编程知识点集锦
1.Shell 脚本加分号和不加分号的区别Shell 脚本是按行分隔每一条 Shell 语句。如果每一条shell语句写在单独一行,此时可以加分号,也可以不加,没有什么区别。如果多条 Shell 写在同一行,那么此时需一定要用分号将不用语句分隔开来。2.>/dev/null 2>&1 这句话的含义及使用的意义输出/输入重导向 >> < << :> &> 2&> 2<>>&a转载 2020-08-18 09:00:55 · 337 阅读 · 0 评论 -
Shell脚本编程--wc命令
wc统计文件里面有多少单词,多少行,多少字符。wc语法[root@www ~]# wc [-lwm]选项与参数:-l :仅列出行;-w :仅列出多少字(英文单字);-m :多少字符;默认使用wc统计/etc/passwd#wc /etc/passwd40 45 1719 /etc/passwd40是行数,45是单词数,1719是字节数wc的命令比较简单使用,每个参数使用如下:#wc -l /etc/passwd #统计行数,在对记录数时,很常用40 /etc/pas转载 2020-08-18 08:08:31 · 2547 阅读 · 0 评论 -
Shell脚本编程--cut命令
cutcut命令可以从一个文本文件或者文本流中提取文本列。cut语法[root@www ~]# cut -d’分隔字符’ -f fields <==用于有特定分隔字符[root@www ~]# cut -c 字符区间 <==用于排列整齐的信息选项与参数:-d :后面接分隔字符。与 -f 一起使用;-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;-c :以字符 (characters) 的单位取出固定字符区间;PATH原创 2020-08-18 08:07:45 · 745 阅读 · 0 评论 -
tee命令
用途说明在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >a.txt,这时我们就不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中常用参数格式:tee只输出到标准输出,因为没有指定文件。格式:tee file输出到标准输出的同时,保存到文件file中。如果文件不存在,则创建;如果已经存在,则覆盖之。(If a file being written to do原创 2020-08-18 08:07:32 · 532 阅读 · 0 评论 -
Shell 特殊字符大全
1.Shell 简介Shell 是类 Unix 操作系统的命令解析器,用于解释执行用户输入的一连串命令,它类似于 DOS 下的 command.com 和后来 Windows 的 cmd.exe。同时 Shell 也是一种程序设计语言。作为命令解释型的脚本语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它预定义了各种环境变量,保留了一些关键字以及一些特殊字符的含义,并提供了许多在高级语言中才具有的控制结构,包括循环和分支判断。这里再简要地介绍一下 S转载 2020-08-18 08:09:15 · 3691 阅读 · 0 评论 -
return与exit区别
1.exit 命令exit 命令是 Shell 内建命令,用于退出当前 Shell 进程。使用格式如下:exit [N]可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正常退出,非零表示异常退出。如果状态码是 0-255 之外的数值,则会被强制转换为 uint8_t 类型的数值,比如 -1 会被转换为 255,256 会发生类型宽度截断,被转换为 0。状态码 N 可以不指定,默认是上一条命令的退出码。关于状态码值的定义尚未有统一的标准,但是结束程序时随意的指定一个状态码是转载 2020-08-18 08:09:30 · 493 阅读 · 0 评论 -
xargs命令详解
Linux xargs命令1.功能:xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作为分隔符,所以有一些文件名或者其他意义的名词内含有空格的时候,xargs可能会误判。简单来说,xargs是给其他命令传递参数的一个过滤器,是构建单行命令的重要组件之一。之所以要用到xargs,是因为由于很多命令不支持使用管道|来传递参数,例如:find /sbin -perm +700 |ls -l //这个命令是错误,因为标准原创 2020-08-18 08:07:18 · 2661 阅读 · 0 评论 -
Linux Shell脚本编程--awk命令详解
简单使用:awk :对于文件中一行行的独处来执行操作 。awk -F :’{print $1,$4}’ :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 。详细介绍:AWK命令介绍awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息1. 调用awk:第一种命令行方式,如:awk [-Field-separator] 'commands' input-file(s)这里comm转载 2020-08-17 09:00:06 · 1138 阅读 · 0 评论 -
Linux Shell脚本编程--scp命令详解
Linux Shell脚本编程--scp命令详解命令:scp不同的Linux之间copy文件常用有3种方法:第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。第三种就是利用scp命令来进行文件复制。scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上转载 2020-08-16 11:41:12 · 1791 阅读 · 0 评论