Linux 命令行使用全解析
1. 多壳层结构与命令执行机制
在 Linux 中,每个 shell 就像是一层嵌套的结构。当从一个 shell 启动另一个新的 shell 时,前一个 shell 并不会终止,而是会在后台等待。例如,从 bash 启动 zsh 后,bash 会在后台待命,当退出 zsh 时,就会回到 bash 环境。
当在 shell 中运行命令或进程时,也是类似的机制。命令会在自己的会话中运行,父 shell 会等待子命令执行完毕,控制权返回后,才会继续处理后续的命令。
不过,这种等待机制可以通过在命令末尾添加 & 符号来改变。添加 & 后,命令会在后台运行,用户可以继续与 shell 交互,脚本也能继续处理其他命令。但需要注意的是,只有那些不需要进一步人工交互或输出到标准输出(STDOUT)的命令才适合在后台运行。如果后续命令需要该命令的结果,而后台任务可能还未完成,就不适合将其放在后台运行。
实际上,由于 Linux 为系统管理员和用户提供了多种选择,将程序移到后台运行的需求并不多。可以通过在桌面打开新的终端模拟器、在 screen 会话中启动另一个终端模拟器,或者切换到可用的虚拟控制台来实现类似功能。不过,在脚本中启动程序时,这种后台运行的能力可能会更有用。
如果想更改默认的 shell,可以使用 chsh 命令,这样每次登录并启动新的终端会话时,都会使用新的 shell。
2. 安全外壳(SSH)
SSH 并非真正意义上的 shell, ssh
超级会员免费看
订阅专栏 解锁全文
950

被折叠的 条评论
为什么被折叠?



