泷羽sec-----shell编程(完结)

声明!

学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

对于shell编程当然还有很多的用法,不过这里把主要的学习了,后面可自己深入学习,比如循环中的其他操作,以及打开文件等操作

脚本互相调用

前言

shell中,与python中一样,像是导入的形式一样,可以加载其他文件中的资源,可以互相调用

实操

脚本间的互相调用

创建一个1.sh

shell 复制代码
vim 1.sh 

echo "hello word"

创建一个2.sh文件

shell 复制代码
vim 2.sh

bash 1.sh    或./1.sh,但是这需要有执行权限

或者这里使用bash执行
使用source使得文件生效
source ./1.sh  //因为1.sh有输出,所以会导致执行echo
这里需要指定路径,./表示当前路径,或者使用绝对路径
如果不加路径,会显示当前目录下的文件和目录,这个可以自己测试
脚本调用变量

创建一个1.sh脚本

shell 复制代码
vim 1.sh

name="dijia"
age=999

这时候再创建2.sh脚本

shell 复制代码
vim 2.sh

source 1.sh
echo "my name is $name and i am $age years old"

解释,这里的source在这里是用于加载文件的作用,类似于python中的importc中的include

因为加载了1.sh,所以1.sh中的变量是可以在2.sh中使用的

重定向

前言

输入重定向和输出重定向

输出重定向是指把前面命令执行的结果重定向到某处

输入重定向是指,把文件中的数据重定向到某处

>是输出重定向,若指定的文件有内容,会覆盖原内容

>>是输出重定向,若指定的文件有内容,会在文件末尾追加内容

<是输入重定向,可以把文件中的内容作为某个命令的参数,或者循环的范围等

实操

输出重定向

shell 复制代码
ls > 1.txt	//把当前目录下的文件或目录重定向到1.txt文件中
cat 1.txt	//验证

who > 1.txt
cat 1.txt

echo "test" > 1.txt
cat 1.txt

echo "555" >> 1.txt
cat 1.txt
shell 复制代码
ls >/dev/null	一般使用ls会有回显,但是重定向到这里,相当于垃圾箱,无回显

这里有一个find命令,可以使得在使用find命令寻找的时候,只显示正确数据,其他的数据不显示

find / -name "nmap" 2>/dev/null

2>/dev/null:这是一个重定向操作。

在 Linux/Unix 系统中,文件描述符

  1. 0通常代表标准输入,
  2. 1代表标准输出,
  3. 2代表标准错误输出。

这里的2>表示将标准错误输出重定向,/dev/null是一个特殊的设备文件,它就像一个 "黑洞",任何写入其中的数据都会被丢弃。所以将标准错误输出重定向到/dev/null,就使得查找过程中产生的如权限不足、文件系统某些部分无法访问等错误信息不会在终端上显示出来,而只会显示符合条件的查找结果(如果有的话)到标准输出(也就是终端屏幕上,如果没有进一步重定向标准输出的话)。

当然如果想要知道哪些错误输出,可以把错误输出到一个文件中,而不是/dev/null

输入重定向

以简单的一个ls命令测试

首先创建一个文件

shell 复制代码
vim dir.txt
/home/kali
/home/var

然后在终端执行ls

ls -l < dir.txt	//注意这里只会把文件第一行的去进行输入,因为命令单条执行,并非循环
这里是在dir.txt的目录下,所以没有其他路径
这里会把dir.txt文件中的内容,传递给ls -l命令,就会显示这些目录下的文件或目录
因为ls -l 后面可以跟着路径来查看指定目录下的文件或目录的
相关推荐
Lueeee.8 分钟前
Linux下的ULN2003驱动板与28BYJ-48步进电机驱动移植
linux·驱动开发
徐子宸9 分钟前
金舟软件-AI对话工具-华为网络数通-网络通信基本概念-20260313-未完待续
安全·web安全·网络安全·安全架构·华为网络数通·金舟软件·ai对话工具
科技林总14 分钟前
【系统分析师】11.5 软件需求文档化
学习
洛菡夕18 分钟前
nginx核心功能
linux·nginx
Acczdy22 分钟前
春秋云境:CVE-2025-64111
安全·网络安全
python零基础入门小白22 分钟前
多智能体强化学习:从基础到实战,掌握协作与竞争的艺术!
人工智能·学习·chatgpt·大模型·产品经理·ai大模型·大模型学习
原来是猿23 分钟前
Linux - 基础IO【下】
linux·运维·服务器
xyd陈宇阳1 小时前
面向网络协议初学者的入门指南
linux·运维·网络协议
Eward-an1 小时前
Gemini认证工具创意开发(技术深度解析)
安全·网络安全·区块链
arvin_xiaoting1 小时前
从 0 到 1:搭建自学习 AI Agent 系统的完整工程指南
人工智能·学习·系统设计·ai agent·lancedb·自学习·openclaw