zoukankan      html  css  js  c++  java
  • 我的生产力工具推荐-终端01篇

    俗话说工欲善其事,必先利其器。从本文开始,在分享技术文章的同时,打算加入一个新的主题,关于我的办公(个人)电脑(生产力工具)的相关配置分享

    希望能帮到大家~

    1、关于电脑

    如果你和我从事一样的职业(such as a developers or about Linux),如果电脑是你的另一半,而且还在使用Windows的话,强烈建议尝试使用类Unix系统,主要有以下三个途径(来自我的亲测经历)

    a、给自己的电脑安装DeepinUbuntu等桌面版Linux操作系统,缺点是安装操作系统后,相关应用的软件包很少很难找

    b、攒cuán一台配置稍好点的主机,安装黑苹果,缺点是驱动问题很难解决。就算安装好了,一旦系统升级或因为某些原因导致诸多驱动不可用

    c、攒zǎn钱换一台Mac,时至今日,Mac的价格其实也不贵,得益于其强大的操作系统、生态周边以及应用商店,从我个人使用来看,带给我的 “快乐” 比Windows不要太多

    大四实习的那一年里,终于攒钱换上了梦寐以求的MBP,作为人生的第二台电脑,得到的那一刻无比兴奋,可能这就是一个对电子产品无比热爱的男孩的快乐吧~

    我的电脑型号是MacBook Pro (15-inch, 2018)(A1990)

    除此外还淘有一台Mac mini (Late 2012)

    电脑细节我就不多做介绍了,回归正题,还是讲讲如何优化电脑各种配置

    2、终端介绍

    作为一个长期使用终端(依赖患者)的 “工具” 人,拥有一个强大的终端工具是很有必要的,和linux操作系统的软件包管理工具yumdebapt一样,在Mac上用的最为普遍的是Homebrew,其次还有python的包管理工具pip,除了自带的终端外,终端软件可以选择iTerm2SecureCRTRoyal TSXTermius等等,我用的较多的终端软件是iTerm2SecureCRT,关于包管理工具Homebrewpip的安装使用和终端软件iTerm2的使用配置技巧这里也就不多介绍了,网络上有很多很多文章供参考

    3、终端工具推荐

    到这里才是本文的正题,用上了方便的Homebrew以及配置酷炫的iTerm2后,可以借助以下增强工具来提高生产力,部分终端工具同样可以安装在服务器Linux操作系统上

    3.1 fzf-模糊查找

    fzf可以用来查找任何列表内容、文件、历史命令、本机绑定的host、进程、Git分支、进程等。所有的命令行工具可以生成列表输出的都可以再通过管道pipefzf上进行搜索和查找

    安装命令

    brew install fzf
    

    安装完后还需要安装键盘映射和模糊提示

    $(brew --prefix)/opt/fzf/install
    

    两大用法:ctrl + t查找目录下的条目、ctrl +r优化历史记录选择

    目前我使用最多的是利用其进行历史记录的模糊查找,比传统的ctrl+r显示效果更好,效果如下

    3.2 autojump-快速跳转

    autojump提供了一种快速进行文件目录导航的方式。其效果就是实现目录间快速跳转,想去哪个目录直接j+ 目录名(甚至不用输全),不用频繁的cd

    安装命令

    brew install autojump
    

    修改 ~/.zshrc 文件,添加到plugins配置列表并在尾部追加如下内容,配置完后source生效

    plugins=(
      git
      autojump
    )
    
    ...
    
    [ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
    

    用法很简单,想要跳转到哪个目录下直接使用j + 目录名跳转,甚至可以模糊输入,前提是有通过cd进入过这个目录,例如从任何目录跳转进入到git-workspace目录下

    j git-workspace
    或者模糊跳转
    j git
    

    3.3 tmate-终端远程

    这个工具可以认为是终端版本teamviewer,在有网络的情况下远程终端连接并监视或操作

    安装命令

    brew install tmate
    

    使用方法,例如要从A机器远程到B机器,在B机器上安装并运行tmate启动

    # tmate
    Tip: if you wish to use tmate only for remote access, run: tmate -F                  [0/0]
    To see the following messages again, run in a tmate session: tmate show-messages
    Press <q> or <ctrl-c> to continue
    ---------------------------------------------------------------------
    Connecting to ssh.tmate.io...
    Note: clear your terminal before sharing readonly access
    web session read only: https://tmate.io/t/ro-xmVWpRRN6GGJrR4zWLMKrSt7T
    ssh session read only: ssh ro-xmVWpRRN6GGJrR4zWLMKrSt7T@sfo2.tmate.io
    web session: https://tmate.io/t/3PwVRseDmXpG74X43EQG9hBYq
    ssh session: ssh 3PwVRseDmXpG74X43EQG9hBYq@sfo2.tmate.io
    
    [tmate] ssh session: ssh 3PwVRseDmXpG74X43EQG9hBYq@sfo2.tmate.io
    

    然后在A上就可以通过上面四种方式连接到B机器:web会话和ssh会话,分为只读和读写两种

    具体原理可以查看官方文档

    3.4 hadolint-对Dockerfile语法检查

    Hadolint可以帮助进行Dockerfile语法检查,实现的是Dockerfile linter,其实现依据来自于Docker官网推荐的Dockerfile最佳实践

    安装命令

    brew install hadolint
    

    使用

    hadolint node.Dockerfile
    node.Dockerfile:21 DL3007 Using latest is prone to errors if the image will ever update. Pin the version explicitly to a release tag
    # 提示说镜像的tag使用latest不是最佳的,因为一旦镜像升级,下次再拉取的latest镜像可能就不是当前的版本了,应该明确具体的版本号
    

    3.5 speedtest-测网速

    speedtest是一个测网速的工具,其也有图形化工具

    安装命令

    brew tap teamookla/speedtest
    brew update
    brew install speedtest --force
    

    使用

    # speedtest
    
       Speedtest by Ookla
    
         Server: Beijing Unicom - Beijing (id = 5145)
            ISP: China Unicom Beijing
        Latency:     3.57 ms   (0.88 ms jitter)
       Download:    93.43 Mbps (data used: 44.5 MB)
         Upload:    93.37 Mbps (data used: 42.2 MB)
    Packet Loss:     0.0%
     Result URL: https://www.speedtest.net/result/c/aa6513eb-a9b3-466b-8edd-92f73c59267f
    

    此外还有一个用python脚本实现的,项目地址https://github.com/sivel/speedtest-cli,作用同样是测试网速,将此脚本下载并放到本地的bin目录下添加执行权限即可使用

    # speedtest-cli
    Retrieving speedtest.net configuration...
    Testing from China Unicom Beijing (114.246.34.169)...
    Retrieving speedtest.net server list...
    Selecting best server based on ping...
    Hosted by Beijing Broadband Network (Beijing) [1.72 km]: 4.659 ms
    Testing download speed................................................................................
    Download: 93.27 Mbit/s
    Testing upload speed................................................................................................
    Upload: 93.64 Mbit/s
    

    3.6 glances-实时监控

    类似于mac自带的活动监视器,以客户端/服务器端模式运行,远程监控可以通过终端、Web接口或API(XML-RPC和RESTful)来实现。除此之外,数据还可以导出至文件或外部数据库中。

    采用Python开发,并使用了外部库来从目标系统收集数据。该工具基于开源架构实现,开发者可以根据自己的需求来增加新的插件或导出模块,可以监控的信息如下

    • CPU 使用率
    • 内存使用情况
    • 内核统计信息和运行队列信息
    • 磁盘 I/O 速度、传输和读/写比率
    • 文件系统中的可用空间
    • 磁盘适配器
    • 网络 I/O 速度、传输和读/写比率
    • 页面空间和页面速度
    • 消耗资源最多的进程
    • 计算机信息和系统资源

    安装命令

    brew install glances
    

    效果如下

    3.7 lrzsz-终端上传下载

    lrzsz是一款在linux里可代替ftp上传和下载的程序,可以直接在终端进行文件上传下载,其传输协议是ZModem协议

    安装命令

    brew install lrzsz
    

    iTerm2上配置和使用lrzsz可以参考我之前的文章Mac下iTerm2配置lrzsz功能

    3.8 neovim-增强版vim

    neovim是一个增强版本的vim编辑器,其特性有异步任务和socket、内建terminal26位真彩色支持、浮动窗口等

    安装命令

    brew install neovim
    

    iTerm2上配置和使用可以参考Mac电脑iterm中配置neovim入门与实践

    4、小结

    以上工具都极大提高了我日常工作和学习的效率,由于篇幅和时间关系,只列出了我对这些工具的常用用法,详细内容可以参考工具开源地址

    本文只推荐了一部分,后面有机会再继续 ~

  • 相关阅读:
    互联网时代,80后新时代的管理者
    使用YUI Compressor压缩CSS/JS
    使用最优方法来加速运行你的网站
    随笔 微笑
    首款LGA775平台离子迷你主板登场
    CSS调试技巧五则,兼谈“提问的艺术”
    SharpDevelop 编辑器
    穿越防火墙 让远程桌面自由连接
    开源的搜索引擎工具包和Web搜索引擎系统
    Javascript工具 使用JS Minifier过滤JS文件
  • 原文地址:https://www.cnblogs.com/ssgeek/p/14624797.html
Copyright © 2011-2022 走看看