正在读书这关于自动登录树莓派的文章,他们说使用这个命令:
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
浏览完手册后,我发现这-f
意味着没有身份验证,这pi
就是用户,但是什么是
tty1 </dev/tty1 >/dev/tty1 2>&1
做?
我假设 tty1 是登录的终端或其他东西,但以下参数也令人困惑。
为什么有尖括号</dev/tty1 >
?他们正在做一些奇怪的重定向吗?
如果有人能将其分解,我将非常感激。我不喜欢使用我不熟悉的命令。
答案1
这些用于输入/输出重定向。命令行程序将其结果显示到标准输出。默认情况下,标准输出将其内容定向到显示器。但是当我们需要将标准输出重定向到文件时,>
就会使用该字符。
命令可以接受来自标准输入的输入。通常我们从键盘进行输入,与标准输出具有相同的逻辑,它可以被重定向。要从文件而不是键盘重定向标准输入,<
请使用该字符。
答案2
我无法找到第一个tty1
应该做什么,因为我可以找到的登录手册页没有提到除用户名之外的任何位置参数,该参数已经指定。然而,该行的其余部分都处理输入输出重定向,请参见(此处)[http://www.tldp.org/LDP/abs/html/io-redirection.html]简短的例子。基本上:
< /dev/tty1
将标准输入从设备节点重定向到登录程序tty1
。
> /dev/tty1
将标准输出重定向到相同的
2&>1
表示将标准错误(文件描述符 nr 2)定向到标准输出(文件描述符 nr 1),因此也将其发送到 tty1。
有关虚拟终端 (ttys) 的更多信息,请参阅http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html