免责声明
学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
泷羽sec官网:https://longyusec.com/
泷羽sec B站地址:https://space.bilibili.com/350329294
泷羽sec帮会:https://wiki.freebuf.com/front/societyFront?invitation_code=5a2005d9&society_id=239&source_data=2
shell脚本之间的调用
脚本之间的调用是一个一个文件之间的引用,与函数的调用不同
文件调用有两种方式,第一种"."调用,第二种“source"调用
第一种”."调用
例如:有1.sh文件代码,现在要在2.sh文件中使用1.sh文件
代码演示
创造1.sh
echo "hello world"
创造2.sh
. 1.sh #对1.sh文件调用
图片示例
第二种“source"调用
source调用:是把.替换成为source
演示
创造1.sh
name="longyu"
age=18
#定义两个变量
创造2.sh
source 1.sh #对1.sh文件调用,并调用$name和$age变量
echo " your name is $name ,your age is $age years old "
# bash 运行2.sh
图片示例
重定向
重定向基础概念
在 Kali Linux(以及其他类 Unix 系统)的命令行环境下,重定向是一种用于改变命令输入输出方向的机制。它允许用户将命令的标准输出(stdout)、标准错误输出(stderr)发送到文件、设备或者作为另一个命令的输入。
标准输出重定向(>和>>)
覆盖输出(>)
语法:command > file。例如,ls -l > file_list.txt。这个命令会执行ls -l(列出详细文件信息)操作,然后将输出结果覆盖写入到file_list.txt文件中。如果file_list.txt不存在,系统会创建它;如果已经存在,原来的内容会被新的输出内容完全替换。
追加输出(>>)
语法:command >> file。例如,echo "New line" >> log.txt。这个命令会将 “New line” 这一行内容追加到log.txt文件的末尾。如果log.txt不存在,系统会创建它。
标准错误输出重定向(2>和2>>)
覆盖错误输出(2>)
语法:command 2> error_file。例如,在运行一个可能会出错的命令gcc -o program program.c 2> compile_errors.txt时,如果编译过程中出现错误,这些错误信息会被覆盖写入到compile_errors.txt文件中,而不是在屏幕上显示。
追加错误输出(2>>)
语法:command 2>> error_file。与2>类似,不过是将错误信息追加到error_file文件中。例如,find / -name "nonexistent_file" 2>> search_errors.txt,当find命令找不到指定文件时,错误信息会被逐次追加到search_errors.txt文件中。
输入重定向(<)
语法:command < input_file。例如,sort < data.txt。这个命令会将data.txt文件中的内容作为sort命令的输入,然后对这些内容进行排序并将结果输出到屏幕上。这在处理大量数据时非常有用,可以先将数据存储在文件中,然后通过输入重定向将其提供给需要的命令。
注意:
(>)重定向会将原先文件所有内容进行删除,然后进行输入,重定向应确保文件为空
(>>)日常常用追加重定向,输入追加在文件的后面,不会对原有文件进行删改
输出重定向
代码演示
ls > 1.txt #目录重定向输出到1.txt
who >2.txt #用户重定向输出到2.txt
who >>1.txt #将用户信息追加到1.txt
图片演示
输入重定向
代码演示
#回到我们最初的1.txt,只有三个目录
ls -l <1.txt #读取1.txt中文件信息
图片演示
文件描述符
0 1 2
- 0:标准输入
- 1:标准输出
- 2:错误输出
注意:文件描述符参数,需与重定向符号紧密相连,中间不含有空格
例子:
ls >1.txt 2> 3.txt
代码解释:
ls > 1.txt :将目录重定向到1.txt文件
2 >3.txt :创造3.txt文件,如果有错误输出,报错信息会显示在3.txt,否则3.txt文件空白
制造错误,查看错误输出
coo > 1.txt 2>5.txt
代码解释
coo > 1.txt : coo命令不存在,无法重定向到1.txt,会产生报错信息
2 > 5.txt : 将错误信息重定向到5.txt
图片演示
实践是检验真理的唯一标准,请大家积极实践
请大家指出的我问题和需要完善的地方,咱们共同进步
清风.春不晚与诸君共勉,共创辉煌篇章