• 请不要在回答技术问题时复制粘贴 AI 生成的内容
EminemW
V2EX  ›  程序员

求分享,有没有你们认为在终端环境中能提升效率的命令或者操作

  •  1
     
  •   EminemW · Dec 22, 2021 · 5199 views
    This topic created in 1781 days ago, the information mentioned may be changed or developed.

    比如 !! 可以表示上一条命令

    33 replies  •  2021-12-23 20:56:32 +08:00
    rrfeng
    rrfeng
    Dec 22, 2021
    1
    多的很

    今天只推荐一个 ctrl-x ctrl-e
    linglin0924
    linglin0924
    Dec 22, 2021
    2
    proxychains 让命令走代理的神器 ,用来走代理下载一些包非常方便,比如

    proxychains4 npm install
    proxychains4 go get 等等
    jaredyam
    jaredyam
    Dec 22, 2021❤️1
    3
    每次有人问这类问题的时候,底下都会有人说 ctrl + R ,然后就会有很多人说「哇,第一次见,也太好用了」。
    jaredyam
    jaredyam
    Dec 22, 2021
    4
    不过我个人觉得要想做到提高(自己的)效率,还是需要定制化。比如围绕常用 shell snippets 或组合命令创建 alias 和 function ,命名上也不需要很简短,尽量有逻辑即可,使用时直接 zsh tab completion 。
    GM
    GM
    Dec 22, 2021
    5
    ctrl+w
    ctrl+u
    vision1900
    vision1900
    Dec 22, 2021 via Android
    6
    tldr
    ho121
    ho121
    Dec 22, 2021 via Android
    7
    ctrl
    ho121
    ho121
    Dec 22, 2021 via Android
    8
    ctrl+d
    Immortal
    Immortal
    Dec 22, 2021
    9
    @linglin0924 #2
    这个需求直接 export http_proxy 就可以了
    Tink
    Tink
    Dec 22, 2021 via Android
    10
    cd -
    jorneyr
    jorneyr
    Dec 22, 2021
    11
    终端自动补全提示插件 Fig
    sutra
    sutra
    Dec 22, 2021
    12
    上下箭头前缀匹配历史命令。
    Archeb
    Archeb
    Dec 22, 2021
    13
    @jaredyam 哇,第一次见,也太好用了
    mlhadoop
    mlhadoop
    Dec 22, 2021
    14
    autojump
    Volekingsg
    Volekingsg
    Dec 22, 2021 via iPhone
    15
    可能有点点偏题,zsh 相关的。

    今年的发现,先是看到 https://github.com/marlonrichert/zsh-autocomplete 爽啊,少安了很多 tab
    然后发现作者几个包都挺好用的,znap 插件管理比之前用 zinit light 快了一倍。另外作者对 zsh 了解很深,几个插件的示例配置都给我带了不少新的认识。
    ecnelises
    ecnelises
    Dec 22, 2021❤️13
    16
    1. Control+R 这个不多说了
    2. 设置 CDPATH 这个环境变量,当你要 cd 的目的地在当前目录下找不到时,shell 会在 CDPATH 里的目录一个一个找有没有这个子目录,如果有,就跳过去
    3. rm 202{1,2,3}的意思是 rm 2021 2022 2023
    4. 输入 fc 命令,可以让你在一个编辑器里编辑上一条命令,保存退出即是执行
    5. 命令结尾的&和 wait 命令
    6. Control+Z 和 fg
    7. 有正则基础的话,学会 sed/awk 基本的删除、替换、过滤只需要十分钟,更高级的文本操作可以用 perl/ruby 的-e 模式
    8. sort 、find 命令以及 xargs ,懂的都懂
    9. macOS 下可以用 pbcopy 和 pbpaste 操作剪贴板
    10. 会一点 Shell 脚本,哪怕只是循环,有时候生活都可以轻松很多
    11. zsh 里可以用首字母代替目录,比如 cd /U/u/C/A 按 Tab 就可以变成 cd /Users/user/Code/Android
    12. !!执行上一条命令的时候也可以玩替换,比如上一条命令是 gcc -S -O -I./,!!:s/S/c/ 就相当于 gcc -c -O -I./
    13. 除了 cd ,你还能 pushd 和 popd 来进入栈顶的目录
    14. !:n 可以表示上一条命令的第 n 个参数,比如 vim a.txt ,然后 rm !:1 就是 rm a.txt
    15. autojump
    16. ripgrep 和 fuzzyf
    piping
    piping
    Dec 22, 2021
    17
    ^replace^text 运行命令,适合修改 typo

    !$ $_ 代表上一个命令的最后一个参数,适合加快命令输入

    ctrl-z / fg/ bg /jobs 管理后台命令

    ctrl-r 搜索命令 可以替代配置 fzf

    配置 PS1 提示符 输出合适的信息,比如上一个命令运行时间,当前目录,当前后台程序,git 分支 (参考 starship )

    ======

    最后是学会 vim ,`vim -` 可以处理其他程序的 stdout
    kidonng
    kidonng
    Dec 22, 2021 via Android
    18
    终端环境提升效率,从三个不同的层级都可以入手:终端、Shell 、命令行程序
    - 一个功能丰富、特性完备的终端是提升效率和体验的基础,Cmder/ConEmu 、Windows Terminal 、iTerm 、kitty 都在此列(可参考 https://kidonng.notion.site/GPU-04f75ed742e042fdab6beb299f2a73bb )
    - Shell 配置是一个非常私人化的东西,绝大多数插件几乎都只能从形式上提升效率,只有自己知道写什么函数能解决痛点。Shell 本身没什么好选的,御三家以外生态都不太行,选哪个更多取决于自身喜好,而非 POSIX 兼容
    - 命令行程序选择就多了,而且优秀的项目普适性一般也高。Go 和 Rust 几乎占领了所有上了年头的项目的替代品位置,比如 gdu 代替 ncdu 、ripgrep 代替 grep 。具体效率提升取决于能从 awesome list 挖多少宝🐶
    calmzhu
    calmzhu
    Dec 22, 2021
    19
    alias
    function
    tmux
    raycool
    raycool
    Dec 23, 2021
    20
    @jaredyam 哇,第一次见,也太好用了
    qiuyue0
    qiuyue0
    Dec 23, 2021 via Android
    21
    oh-my-zsh 里自带的 z ,和 autojump 一样,不过省去了一步安装的步骤
    qiuyue0
    qiuyue0
    Dec 23, 2021 via Android
    22
    @ecnelises 很实用,学到了
    noqwerty
    noqwerty
    Dec 23, 2021
    23
    喜欢 ZSH autocomplete 的各位可以考虑一下 fish shell ,基本开箱即用,配合 starship ( https://starship.rs/) 和以下几个插件体验非常好:

    jorgebucaran/fisher
    jethrokuan/z
    laughedelic/pisces
    jhillyerd/plugin-git
    jethrokuan/fzf
    cszeus
    cszeus
    Dec 23, 2021
    24
    @ecnelises 学会了
    Hack3rHan
    Hack3rHan
    Dec 23, 2021
    25
    ZSH_THEME="powerlevel10k/powerlevel10k"

    plugins=(
    git
    sudo
    zsh-syntax-highlighting
    zsh-autosuggestions
    )
    类似 fish 的自动建议,语法高亮和双击 ESC 补个 sudo
    lizenghui
    lizenghui
    Dec 23, 2021❤️1
    26
    Ctrl + a:移到行首。
    Ctrl + b:向行首移动一个字符,与左箭头作用相同。
    Ctrl + e:移到行尾。
    Ctrl + f:向行尾移动一个字符,与右箭头作用相同。
    Alt + f:移动到当前单词的词尾。
    Alt + b:移动到当前单词的词首。
    Ctrl + d:删除光标位置的字符( delete )。
    Ctrl + w:删除光标前面的单词。
    Ctrl + t:光标位置的字符与它前面一位的字符交换位置( transpose )。
    Alt + t:光标位置的词与它前面一位的词交换位置( transpose )。
    Alt + l:将光标位置至词尾转为小写( lowercase )。
    Alt + u:将光标位置至词尾转为大写( uppercase )。
    Ctrl + k:剪切光标位置到行尾的文本。
    Ctrl + u:剪切光标位置到行首的文本。
    Alt + d:剪切光标位置到词尾的文本。
    Alt + Backspace:剪切光标位置到词首的文本。
    Ctrl + y:在光标位置粘贴文本。
    jones2000
    jones2000
    Dec 23, 2021
    27
    重启
    dayeye2006199
    dayeye2006199
    Dec 23, 2021
    28
    如果只推荐一条命令,那一定是 Ctrl+R
    cubecube
    cubecube
    Dec 23, 2021
    29
    @Immortal 很多应用无视系统代理的,更别说 http 代理了。
    Immortal
    Immortal
    Dec 23, 2021
    30
    @cubecube #29
    目前没有遇到过...基本终端需要走代理的都是 http 协议相关 下载更新依赖这些
    EminemW
    EminemW
    OP
    Dec 23, 2021
    31
    学到了
    GiantHard
    GiantHard
    Dec 23, 2021
    32
    ```sh
    sudo pacman -S fish
    exec fish
    ```

    换成 fish shell ,极大的提高终端操作效率
    Donahue
    Donahue
    Dec 23, 2021
    33
    screen 在一个终端中打开多个会话,远程 ssh 的时候很好用,需要后台运行的程序就不用 nohup & 了,screen 里开一个会话,然后运行就可以了。
    还可以跟串口通讯,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 17:41 · PVG 01:41 · LAX 09:41 · JFK 12:41
    ♥ Do have faith in what you're doing.