求分享,有没有你们认为在终端环境中能提升效率的命令或者操作 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
EminemW
V2EX    程序员

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

  •  1
     
  •   EminemW 2021-12-22 21:26:08 +08:00 4365 次点击
    这是一个创建于 1455 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    33 条回复    2021-12-23 20:56:32 +08:00
    rrfeng
        1
    rrfeng  
       2021-12-22 21:29:49 +08:00
    多的很

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

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

    今年的发现,先是看到 https://github.com/marlonrichert/zsh-autocomplete 爽啊,少安了很多 tab
    然后发现作者几个包都挺好用的,znap 插件管理比之前用 zinit light 快了一倍。另外作者对 zsh 了解很深,几个插件的示例配置都给我带了不少新的认识。
    ecnelises
        16
    ecnelises  
       2021-12-22 23:26:37 +08:00   13
    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
        17
    piping  
       2021-12-22 23:31:07 +08:00
    ^replace^text 运行命令,适合修改 typo

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

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

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

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

    ======

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

    jorgebucaran/fisher
    jethrokuan/z
    laughedelic/pisces
    jhillyerd/plugin-git
    jethrokuan/fzf
    cszeus
        24
    cszeus  
       2021-12-23 09:16:01 +08:00
    @ecnelises 学会了
    Hack3rHan
        25
    Hack3rHan  
       2021-12-23 09:34:07 +08:00
    ZSH_THEME="powerlevel10k/powerlevel10k"

    plugins=(
    git
    sudo
    zsh-syntax-highlighting
    zsh-autosuggestions
    )
    类似 fish 的自动建议,语法高亮和双击 ESC 补个 sudo
    lizenghui
        26
    lizenghui  
       2021-12-23 10:37:53 +08:00   1
    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
        27
    jones2000  
       2021-12-23 11:04:27 +08:00
    重启
    dayeye2006199
        28
    dayeye2006199  
       2021-12-23 11:05:36 +08:00
    如果只推荐一条命令,那一定是 Ctrl+R
    cubecube
        29
    cubecube  
       2021-12-23 11:51:47 +08:00
    @Immortal 很多应用无视系统代理的,更别说 http 代理了。
    Immortal
        30
    Immortal  
       2021-12-23 12:31:03 +08:00
    @cubecube #29
    目前没有遇到过...基本终端需要走代理的都是 http 协议相关 下载更新依赖这些
    EminemW
        31
    EminemW  
    OP
       2021-12-23 19:14:59 +08:00
    学到了
    GiantHard
        32
    GiantHard  
       2021-12-23 20:38:44 +08:00
    ```sh
    sudo pacman -S fish
    exec fish
    ```

    换成 fish shell ,极大的提高终端操作效率
    Donahue
        33
    Donahue  
       2021-12-23 20:56:32 +08:00
    screen 在一个终端中打开多个会话,远程 ssh 的时候很好用,需要后台运行的程序就不用 nohup & 了,screen 里开一个会话,然后运行就可以了。
    还可以跟串口通讯,
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3214 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 11:18 PVG 19:18 LAX 03:18 JFK 06:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86