命令与脚本:终端、会话与日常操作 · 选择 Shell、终端与会话管理器
命令与脚本:终端、会话与日常操作
选择 Shell、终端与会话管理器
先分清解释命令的 Shell、承载窗口的终端模拟器和保存多个会话的复用器,再查各自启动及配置示例。
bash · Bourne-Again SHell,兼容 sh 的命令行解释器
另请参阅:
zsh,!。 更多信息:https://www.gnu.org/software/bash/manual/bash.html#Invoking-Bash。
- 启动交互式 shell:
bash
bash- 启动一个不加载启动配置的交互式的 shell 会话:
bash
bash --norc- 执行命令:
bash
bash -c "{{echo '已执行bash命令'}}"- 执行脚本文件:
bash
bash {{路径/到/脚本文件.sh}}- 执行脚本文件,并将所有执行过的命令输出到终端:
bash
bash -x {{路径/到/脚本文件.sh}}- 执行脚本,遇到满足 errexit 条件的失败时退出(if 测试、&&/|| 等上下文有例外,并非所有非零状态都会退出):
bash
bash -e {{路径/到/脚本文件.sh}}- 从
stdin执行指定的命令:
bash
{{echo "echo '已执行bash命令'"}} | bash- 启动一个限制的 shell 会话:
bash
bash {{[-r|--restricted]}}zsh · Z SHell,提供多种扩展与兼容模式的命令行解释器
另请参阅:
bash,!,^。 更多信息:https://zsh.sourceforge.io/Doc/Release/Invocation.html#Invocation。
- 启动交互式解释器:
bash
zsh- 执行指定的命令:
bash
zsh -c "{{echo '已执行zsh命令'}}"- 执行指定的脚本:
bash
zsh {{路径/到/脚本.zsh}}- 不执行指定的脚本,只检查其语法错误:
bash
zsh --no-exec {{路径/到/脚本.zsh}}- 执行来自
stdin的命令:
bash
{{echo "echo '已执行zsh命令'"}} | zsh- 执行指定的脚本,并打印出每一个将要执行的命令:
bash
zsh --xtrace {{路径/到/脚本.zsh}}- 启动详细模式的交互式解释器,会打印出每一个将要执行的命令:
bash
zsh --verbose- 在
zsh里执行指定的命令,但禁用 glob 模式:
bash
noglob {{命令}}fish · The Friendly Interactive SHell, 一个设计为用户友好的命令行解释器
- 启动交互式 shell 会话:
bash
fish- 启动不加载启动配置的交互式 shell 会话:
bash
fish {{[-N|--no-config]}}- 执行特定命令:
bash
fish {{[-c|--command]}} "{{echo 'fish is executed'}}"- 执行特定脚本:
bash
fish {{路径/到/脚本.fish}}- 检查特定脚本是否有语法错误:
bash
fish {{[-n|--no-execute]}} {{路径/到/脚本.fish}}- 从
stdin执行特定命令:
bash
{{echo "echo 'fish is executed'"}} | fish- 在专用模式下启动交互式 shell 会话,其中 shell 不会访问旧历史记录或保存新历史记录:
bash
fish {{[-P|--private]}}- 定义并导出一个在 shell 重启后持续存在的环境变量(内置):
bash
set {{[-U|--universal]}} {{[-x|--export]}} {{变量名}} {{变量值}}powershell · 此命令可能会被误认为是 PowerShell 的跨平台版本(以前称为 PowerShell Core),后者使用 pwsh 而不是 powershell
Windows 中原始的
powershell命令仍然可用于使用传统的 Windows PowerShell 版本(5.1 及以下版本)。 更多信息:https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_pwsh。
- 查看最新的跨平台版本 PowerShell(版本 6 及以上)的命令文档:
bash
tldr pwsh- 查看传统 Windows PowerShell(版本 5.1 及以下)的命令文档:
bash
tldr powershell {{[-p|--platform]}} windowsalacritty · 跨平台、GPU 加速的终端模拟器
- 启动新的 Alacritty 进程并创建窗口:
bash
alacritty- 启动 Alacritty 守护进程(不创建窗口):
bash
alacritty --daemon- 使用已运行的 Alacritty 进程创建新窗口:
bash
alacritty msg create-window- 在指定目录启动 shell(也可配合
alacritty msg create-window使用):
bash
alacritty --working-directory {{路径/到/目录}}- 执行([e]xecute)命令到新 Alacritty 窗口(也可配合
alacritty msg create-window使用):
bash
alacritty -e {{命令}}- 使用替代配置文件(默认使用
$XDG_CONFIG_HOME/alacritty/alacritty.toml):
bash
alacritty --config-file {{路径/到/配置.toml}}- 启用实时配置重载运行(也可在
alacritty.toml中默认启用):
bash
alacritty --live-config-reload --config-file {{路径/到/配置.toml}}ghostty · 一款快速、功能丰富、跨平台,使用原生 UI 和 GPU 加速的终端模拟器
提示:所有配置文件的选项皆可在命令行使用(使用
--option=argument)。 更多信息:https://ghostty.org/docs/config/reference。
- 打开新的 Ghostty 窗口(不支持 macOS):
bash
ghostty- 在新打开的 Ghostty 窗口运行指定命令(不支持 macOS):
bash
ghostty -e {{命令}}- 列出所有默认和已配置的快捷键:
bash
ghostty +list-keybinds- 列出所有操作(即可以通过快捷键触发的操作):
bash
ghostty +list-actions- 浏览互动式主题列表:
bash
ghostty +list-themes- 打印默认配置(包括注释):
bash
ghostty +show-config --default --docstmux · 终端复用器
支持包含窗口、窗格等的多个会话。 另请参阅:
zellij,screen,herdr。 更多信息:https://github.com/tmux/tmux。
- 启动一个新会话:
bash
tmux- 启动一个指定名称的新会话([s]ession):
bash
tmux {{[new|new-session]}} -s {{name}}- 列出现有会话:
bash
tmux {{[ls|list-sessions]}}- 连接到最近使用的会话:
bash
tmux {{[a|attach]}}- 从当前 tmux 会话断开连接:
bash
<Ctrl b><d>- 创建一个新窗口(在 tmux 会话中):
bash
<Ctrl b><c>- 在会话和窗口之间切换(在 tmux 会话中):
bash
<Ctrl b><w>- 终止指定目标会话([t]arget):
bash
tmux kill-session -t {{name}}zellij · 带有内置功能的终端复用器
另请参阅:
tmux,screen,herdr。 更多信息:https://zellij.dev/documentation/。
- 启动一个新的命名会话:
bash
zellij {{[-s|--session]}} {{名称}}- 列出现有会话:
bash
zellij {{[ls|list-sessions]}}- 附加到最近使用的会话:
bash
zellij {{[a|attach]}}- 打开一个新窗格(在 zellij 会话中):
bash
<Alt n>- 从当前会话分离(在 zellij 会话中):
bash
<Ctrl o><d>abduco · 终端会话管理器
- 列出会话:
bash
abduco- 附加到一个会话,如果不存在则新建它:
bash
abduco -A {{会话名}} {{终端}}- 使用
dvtm附加到一个会话,如果不存在则新建它:
bash
abduco -A {{会话名}}- 从一个会话中分离:
bash
<Ctrl \>- 以只读模式附加到一个会话:
bash
abduco -Ar {{会话名}}继续阅读
- 文件与文本处理完整实践与解答
- 文件与文本处理上手与对象
- 文件与文本处理任务与配置