![](https://img-blog.csdnimg.cn/direct/43455524c2d54afeba1a91f3f594dc5a.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
shell
文章平均质量分 72
shell脚本学习
It塔塔开
万丈高楼平地起,勿在浮沙筑高台。
展开
-
删除账户相关信息
由于ls 不支持管道,所以通过xargs将 echo 输出 fileout、loop.sh、sedout传给了 ls。下面开始处理属于用户的正在运行的进程。之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令。xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令.3、最后将pid列表通过xargs传给kill命令。1、先通过 ps -u 命令查找属于用户的进程。2、将ps 的结果传给gawk,解析出pid。原创 2024-07-04 23:06:08 · 359 阅读 · 0 评论 -
git初识
客户端和服务端一样,先安装git,然后创建一个目录,在目录下执行 git init (不需要传参数)。成功后会在本地生成一个和仓库同名的目录,我们要将需要上传的文件放到这个目录里。远程仓库路径:home/ubuntu/gitrepo/runoob.git。新增用户git,将给runoob.git的所属改成git。git clone 用户名@服务器ip:仓库路径。向远程仓库推送文件前,需要先配置远程仓库地址。2、然后将暂存区的文件上传到本地仓库。3、将本地仓库的文件推送到远程仓库。仓库所属用户:git。原创 2024-07-04 23:04:46 · 558 阅读 · 0 评论 -
SHELL脚本学习——自动备份
tar {operation} [options…在archive目录下生成了文件20240701.tar.gz。tar有一条警告信息,指出它删除了路径中的斜杠。,这意味着将绝对路径改成了相对路径。-z 通过gzip指令处理备份文件。时间表使用方法请参考。定时执行程序 可使用。原创 2024-07-01 21:55:45 · 259 阅读 · 0 评论 -
SHELL脚本学习(十四)gawk进阶
gawk的自定义变量由任意个字母、数字和下划线组成,但不能以数字开头。gawk自定义变量区分大小写。可以用赋值语句定义数组变量。格式如下;var:数组变量名index:索引element:索引对应的值格式:statements。原创 2024-07-01 21:52:37 · 887 阅读 · 0 评论 -
SHELL脚本学习(十三)初识 gawk 编辑器
gawk提供了一种编程语言,而不仅仅是编辑器命令。定义变量保存数据使用算数和字符串运算符处理数据使用结构化编程概念 为数据处理添加处理逻辑提取文件中的数据并将其重新排列组合,最后生成格式化报告。原创 2024-06-28 22:59:10 · 445 阅读 · 0 评论 -
SHELL脚本学习(十二)sed进阶
sed 编辑器的基础命令都是对一行文本进行操作。如果要处理的数据分布在多行中,sed基础命令是没办法处理的。幸运的是,sed编辑器的设计人员已经考虑了这个问题的解决方案。sed编辑器提供了3个处理多行文本的特殊命令。命令描述N加入数据流的下一行,创建一个多行组进行处理D删除多行组中的一行P打印多行组中的一行。原创 2024-06-28 22:58:29 · 834 阅读 · 0 评论 -
SHELL脚本学习(十一)正则表达式
除了定义自己的字符组,BRE(basic regular expression 基础正则表达式)还提供了一些特殊字符组。在字符组前加上脱字符即为排除型字符组。排除型字符组的语义正好和字符组相反,不匹配字符组内的任一字符。用于定义字符组,字符组内的任一字符匹配,即为匹配。可以单连字符(-)表示区间。即 起始字符-结束字符。特殊字符组的使用方式和普通字符组一样。)能够匹配除换行符之外的所有字符。,表示该字符必须匹配0次或多次。美元符号($)指出行尾位置。原创 2024-06-21 19:40:58 · 1181 阅读 · 0 评论 -
SHELL脚本学习(十)初识 sed编辑器
默认情况下sed会将指定的命令应用于STDIN输入流中。因此,可以直接将数据通过管道传给sed编辑器进行处理。s:替换命令。会用第二个字符串(orange)替换第一个字符串(apple)。原创 2024-06-21 13:01:58 · 931 阅读 · 0 评论 -
SHELL脚本学习(九)函数
如果在脚本主体定义了一个全局变量,那么就可以在函数中读取它的值。类似的,在函数内部定义全局变量,在脚本主体也可以访问它的值。要解决这个问题,必须先将数组拆分成多个数组元素,然后将这些数组元素当作参数传递。该函数的退出状态码是2,因为函数最后一个命令执行失败了。正如将命令的输出保存到shell变量一样,也可以将函数的输出保存到shell变量中。默认情况下,函数的退出状态码是函数最后一个命令返回的状态码。语句按正确顺序输出数组的各个元素,然后脚本再将数组元素组装成新的数组。函数向脚本返回数组也采用相似的方法。原创 2024-06-13 23:15:58 · 772 阅读 · 0 评论 -
SHELL脚本学习(八)实战演练
2、输入数据3、shell脚本4、结果二、捕获脚本信号,并将脚本置于后台运行1、预期效果格式:在后台执行 command,并忽略信号signals原创 2024-06-13 15:43:19 · 252 阅读 · 0 评论 -
SHELL脚本学习(七) 脚本控制(2)
nice命令阻止普通用户提升命令的优先级,但是即便提高优先级的操作没有成功,也不影响命令的执行。cron在后台运行,并会检查一个特殊的表(cron时间表),从中获知需要执行的作业。如果指定的时间已经过去,at命令会在第二天的同一时间执行指定的作业。要想让任务以更低优先级运行,只需用nice命令的-n选项指定新的优先级。在linux系统中由shell启动的进程默认优先级是相同的。如果对于时间的精确性要求不高,则可以使用预配置的cron脚本目录。renice 命令可以修改系统中已运行的命令的优先级。原创 2024-06-13 12:07:35 · 736 阅读 · 0 评论 -
SHELL脚本学习(七) 脚本控制
shell将运行的各个进程称为作业,并为其分配在当前shell内唯一的作业号。有时候即便是退出了终端会话,也想在终端会话中启动shell脚本,让脚本一直以后台模式运行到结束。由于nohup命令会解除终端和进程的关联,因此不再同STDOUT和STDERR绑定在一起。要想在脚本中的不同位置进行不同的信号捕获处理,只需重新使用带有新选项的trap命令即可。想要移除信号,在trap命令与希望恢复默认行为的信号列表之间加上连字符(–)即可。除了在shell脚本中捕获信号,也可以在shell脚本退出时捕获信号。原创 2024-06-12 22:49:09 · 1066 阅读 · 0 评论 -
SHELL脚本学习(六) 呈现数据
输入重定向、输出重定向、STDIN、STDOUT、STDERR、tee原创 2024-06-12 22:40:30 · 921 阅读 · 0 评论 -
SHELL脚本学习(五)用户输入
read命令介绍原创 2024-06-07 20:16:48 · 245 阅读 · 0 评论 -
SHELL脚本学习(四)命令行参数和选项
getopt命令、getopts命令、shift命令、位置参数等。。。原创 2024-06-07 20:12:52 · 463 阅读 · 0 评论 -
SHELL脚本学习(三)更多的结构化命令
for语句,while语句,until语句,重定向循环的输出原创 2024-06-05 17:34:34 · 293 阅读 · 0 评论 -
SHELL脚本学习(二)结构化命令
if-then语句、test命令、复合条件测试,使用双方括号和双括号,case命令原创 2024-06-05 17:31:43 · 555 阅读 · 0 评论 -
SHELL脚本学习(一)
输出所有数据 echo ${my_array[*]}shell脚本第一行:说明使用的是哪个shell。管道负责将一个命令的输入传送到另一个命令的输入。`` 和 $() 将命令的返回值复制给变量。要将数学运算赋值给变量,可以使用$和[];查看bash的路径:which bash。如果不想覆盖文件的内容可以使用“"负责将文件的内容重定向到命令。浮点数运算可以使用bc命令。原创 2024-05-31 12:59:37 · 376 阅读 · 0 评论 -
记录几个常用的命令
12、grep [option] 匹配模式 [file] : 查询包含匹配模式的行(支持正则表达)1、创建由file1和file2组成的压缩包,生成的文件名为file.tar。11、sort 文件名 : 排序指定文件中的数据,默认按字符串比较。4、mv: 将文件和目录移动到另外一个位置,或重命名。-i : 如果目标文件已存在,询问是否覆盖。2、列出file.tar中包含的文件。-e: 匹配模式: 多个匹配模式。3、提取file.tar中的文件。计算文件的行数,单词数,字节数。原创 2024-05-31 12:57:35 · 178 阅读 · 0 评论