天天看点

反弹shell - 文件描述符与重定向

0x01 文件描述符

文件描述符有以下三种:

  1. 标准输入:standard input 0 (默认设备键盘)
  2. 标准输出:standard output 1(默认设备显示器)
  3. 错误输出:error output 2(默认设备显示器)

0x02 重定向

重定向主要分为两种:

  1. 输入重定向 <、<<
  2. 输出重定向 >、>>

输入重定向

格式: [n]< word
[guest@localhost ~]$ cat 0< test 
AAA
BBB
CCC
[guest@localhost ~]$ cat < test 
AAA
BBB
CCC
[guest@localhost ~]$ < test cat
AAA
BBB
CCC      

注意[n]与<之间没有空格,如果n省略就是0(标准输入)

输出重定向

格式: [n]> word
[guest@localhost ~]$ echo DDD > test 
[guest@localhost ~]$ cat test 
DDD
[guest@localhost ~]$ echo EEE >> test 
[guest@localhost ~]$ cat test 
DDD
EEE      

输出重定向 >,相当于是 1> ,输入重定向 <,就相当于是 0<,如果要使用错误输出的话,就必须写成 2>

如果要将结果和错误输出一起输出到一个文件中时,需要在正常输入的命令结尾加上 2>&1 就可以实现了,这个语句可以理解为将错误输出与标准输出一致,将他们输出到一个文件中。