OSCP-3:命令行的快乐
作者:互联网
1. Bash环境
1-1 环境变量
1、$PATH:代表环境变量的值,即所有环境变量路径
echo $PATH :输出环境变量到控制台
2、$USER:代表当前用户变量,即指代当前用户名
echo $USER :输出当前用户到控制台
3、$PWD:代表当前目录
4、$HOME:主目录,主目录其实是当前账号目录,~代表根目录(可以理解为磁盘最顶层目录)
/root就代表着root用户的目录
5、$$:指代当前进程的pid,pid即是一个进程的id号,无特殊含义
6、env:这个命令不需要echo打印,直接输出当前控制台所有的环境变量
7、export AAA="/root/AAA":创建环境变量,将AAA这个命令指向root下的AAA这个可执行程序
环境变量具有可继承性或者说是可链接性,比如再创建一个BBB命令:export BBB="$AAA/BBB",这就代表BBB指向了AAA环境变量文件下的BBB
1-2 TAB自动补全
当输入命令首位开始,忘记后面要输入什么,可以敲击键盘TAB键,有匹配的命令则会自动补全到输入点,在CD到某些文件目录时也可用TAB补全文件名或目录名,不做过多介绍。
1-3 Bash历史技巧
history:如当前命令控制台是bash,则可以输入cat ~/.bash_history查看历史使用命令,用键盘上下键也可以切换到上次使用命令,或下一个命令
! :命令行执行!1 :代表当前控制台第一次执行的是什么命令,!2...n同理
ctrl+r:键盘敲击这个命令后,再输入其它命令行命令,会自动帮你寻找最近一次执行这个命令的完整语句,没啥用,kali本身就带有这个功能,输入命令的时候会自动帮你以灰色字体的方式展示最近的完整语句
$HISTSIZE:这个变量用echo输出为最大可记录历史操作数
2. 管道与重定向
三种流名称:STDIN,STDOUT,STDERR
STD=standard,in out err分别指代输入、输出、错误。即三种流名称叫做标准输入流、标准输出流、标准错误流。
grep "1"命令执行后,命令行等待输入内容,此时使用的就是STDIN。当输入的内容包含1,按下回车,命令行会输出包括1的内容,此时的输出就是使用STDOUT。当使用某个命令比如ls 123,但是当前目录下没有123这个文件或者文件夹,报错信息就是使用的STDERR。
操作符:|,>,<
2-1、2、3
重定向至新或已存在文件
echo "123" > abc.txt
echo本身是将内容输出到控制台,加上>后则会将内容输出到后面的abc.txt,如果文件不存在则会创建,不带文件路径则会默认为当前路径。
扩展:>>代表追加,会接着abc.txt的内容往下一行继续输入保存。>则会覆盖掉原有内容。
将文件内容重定向:
< 使用小于号,则是将<右侧的内容当做值传给左边,和>相反。例子如下:
将STDERR保存至文件:
ls 123 2> abc.txt
如果不加2,则报错信息会输出在控制台,加了2之后则把报错信息输入到abc.txt,且不会输出到控制台
2-4
将报错STDERR重定向到STDOUT:
ls 123 2>&1 grep "ls"
这个操作其实就是换个流来展示,换句话说就是换个方式展示,意会一下即可
2-5 管道
|:简单意思为,将左侧的输入内容当做右侧命令的输入
理解这句话即可
我们下次见!
原视频地址:https://www.bilibili.com/video/BV1Cd4y1o75p?spm_id_from=333.999.0.0
原视频UP:BoxHacker (我的大哥哥)
标签:输出,echo,命令,快乐,命令行,控制台,环境变量,输入,OSCP 来源: https://www.cnblogs.com/smallChicken/p/16596790.html