终端工具软件

win系统

受制于 Xshell 的收费,因此在寻思构建一套免费的 ssh 方案。

putty 终端

【便携版】PuTTY

双击即可直接使用。

用它来远程管理 Linux 十分好用,其主要优点如下:

  • 完全免费;
  • 在 Windows 9x/NT/2000 下都能运行的非常好;
  • 支持协议广

用快捷方式实现自动登录

首先创建 putty.exe 的快捷方式到桌面;然后运行 putty,输入 host name、port、saved session’s name,点击保存,假设 session 名为 “qa server”,随后关闭窗口;最后右击 putty 快捷方式,属性,目标,加上如下参数 -load "qa server" -ssh -l {username} -pw {password}

或者这么整也行

1
"C:\Program Files\PuTTY\putty.exe" -load YOUR_SESSNAME -P YOUR_PORT -pw YOUR_PASSWORD -ssh YOUR_USERNAME@YOUR_HOST_NAME

再者看到了 -m 选项的释义:-m file 表示为 read remote command(s) from file

于是就有了自动登录后执行默认的命令:

1
putty [-pw password] [-m file] user@ip_addr

对 putty 乱码的处理

1. 一般为 gbk 和 utf-8 这两种格式常见. 可以先行尝试设置为 utf-8。
2. 如若不生效后. 可再次尝试改为中文字体(GB中文编码)。
3. 打开的配置窗口左边选择 Appearance,在右边点 Font settings 里面的 Change 按钮,选择好中文字体,比如:宋体、新宋体之类。
4. 然后设置 Translation

Translation

5. 最后保存下配置,几乎就能 解决 99% 编码问题了

调整 putty 窗口的宽高

调整宽高

KiTTY 终端【推荐】

使用 KiTTY 替代 putty。

  1. KiTTY 全量包 https://github.com/cyd01/KiTTY/releases

KiTTY 是基于 Putty 的改进版,加入了一些实用特性,可以完美替代 putty。比如记住密码自动连接等,下面是几个常用的设置,记录一下:

  • 编码设置: Window -> Translation -> Remote character set : UTF-8
  • 自动登录设置: Connetcion -> Data -> Auto-login username : root
    Connetcion -> Data -> Auto-login password : password,还可以在 Command 中输入自定义要执行的命令。

进行登录。

1
2
D:\alee\exec\kitty-bin-0.76.0.8\putty.exe -pw mimaxxxx123 root@192.168.18.105
exit

pscp 用于传文件

pscp.exe - PuTTY Secure Copy client
PSCP (PuTTY Secure Copy client)是 PuTTY 提供的文件传输工具,通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2)服务器。

举例:

文件从本地上传到服务器, 格式为 pscp [源文件] [Linux 用户名]@[Linux服务器 IP 地址]:[Linux 服务器目标目录]

将文件从服务器下载到本地,格式为 pscp [Linux用户名]@[Linux服务器 IP 地址]:[Linux 服务器源文件] [本地目标文件夹]

举例:

上传文件

1
D:\alee\exec\kitty-bin-0.76.0.8\kscp.exe -pw mimaxxxx123 %projectDir%\application\target\thingsx.rpm root@192.168.18.105:/root/thingsx-%date%.rpm

下载文件

1
pscp -pw abcddeg YourUserName@YourHostName:/abc/my.log D:\my.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PuTTY Secure Copy client
Release 0.73
Usage: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
pscp [options] -ls [user@]host:filespec
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-p preserve file attributes
-q quiet, don't show statistics
-r copy directories recursively
-v show verbose messages
-load sessname Load settings from saved session
-P port connect to specified port
-l user connect with specified username
-pw passw login with specified password
-1 -2 force use of particular SSH protocol version
-4 -6 force use of IPv4 or IPv6
-C enable compression
-i key private key file for user authentication
-noagent disable use of Pageant
-agent enable use of Pageant
-hostkey aa:bb:cc:...
manually specify a host key (may be repeated)
-batch disable all interactive prompts
-no-sanitise-stderr don't strip control chars from standard error
-proxycmd command
use 'command' as local proxy
-unsafe allow server-side wildcards (DANGEROUS)
-sftp force use of SFTP protocol
-scp force use of SCP protocol
-sshlog file
-sshrawlog file
log protocol details to a file

XShell【付费】

Windows 上最好用的 shell 工具可能要数 XShell , 但 XShell 和 Xftp 是付费软件。

Royal Apps

Royal Apps 下的 Royal TS 和文件管理 也是二合一,界面华丽。

暂不推荐

堡塔 SSH 终端 | 稍微有点卡

【便携版】 MobaXterm 功能全面,界面稍微不是很现代

【只有安装版】国产的 finalshell 集合 shell 和文件管理。

mac 系统

iTerm

iTerm2 是 Terminal 的替代品,也是 iTerm 的继承者。 它适用于 macOS 10.12 或更新版本的 mac 电脑。 iTerm2 将终端带入了现代社会,带来了一些你从来不知道自己一直想要的功能。

官网

下载的是压缩文件,解压后是执行程序文件,你可以直接双击,或者直接将它拖到 Applications 目录下。
或者你可以直接使用 Homebrew 进行安装:

1
brew cask install iterm2

安装好之后,需要把 Zsh 设置为当前用户的默认 Shell(这样新建标签的时候才会使用 Zsh):

  • 将一个选项卡划分为多个窗格,每个窗格显示不同的会话。 您可以垂直和水平切片,并创建任何数量的窗格在任何可以想象的安排。 请注意,非活动窗格稍微变暗,因此很容易看到哪些窗格是活动的。
    image

  • 注册一个热键,当您在另一个应用程序中时,它会将 iTerm2 带到前台。 一个终端总是离键盘一步之遥。 您可以选择让热键打开一个专用窗口。

  • Iterm2 具有强大的页面查找功能。 用户界面不会碍事。 所有匹配都会立即突出显示。 甚至还提供了正则表达式支持!
    image

iTerm2 快速隐藏和显示

这个功能也非常使用,就是通过快捷键,可以快速的隐藏和打开 iTerm 2,示例配置(Commond + .):

image

启用 zsh

通过在终端中运行以下命令之一,可以安装 Oh my zsh。 您可以通过命令行使用 curl 或 wget 来安装它。

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

或者

1
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装好之后,需要把 Zsh 设置为当前用户的默认 Shell(这样新建标签的时候才会使用 Zsh):
To update your account to use zsh, please run chsh -s /bin/zsh.

You’ll need to remove /Users/用户XXX/.oh-my-zsh if you want to reinstall.

换主题
打开 ~/.zshrc。oh my zsh提供了数十种主题,相关文件在~/.oh-my-zsh/themes下。
若要使用不同的主题,只需更改值以匹配所需主题的名称。 例如:

vim ~/.zshrc编辑

1
2
ZSH_THEME="agnoster" # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster

如果你感觉精力充沛,你可以让计算机在你每次打开一个新的终端窗口时为你随机选择一个。

1
ZSH_THEME="random" # (...please let it be pie... please be some pie..)

如果你想从你最喜欢的主题列表中随机选择主题:

1
2
3
4
ZSH_THEME_RANDOM_CANDIDATES=(
"robbyrussell"
"agnoster"
)

注意每次添加插件以后,都要进行source .zshrc一下,让这些插件运行起来。

Enabling Plugins 启用插件

一旦你发现一个插件(或者几个) ,你想用 Oh My Zsh,你需要在。 Zshrc 文件。 您将在 $HOME 目录中找到 zshrc 文件。 用你最喜欢的文本编辑器打开它,你会看到一个地方列出所有你想要加载的插件。
$ZSH/plugins: oh-my-zsh 官方插件目录,该目录已经预装了很多实用的插件,只不过没激活而已;
$ZSH_CUSTOM/plugins: oh-my-zsh 第三方插件目录;

1
vi ~/.zshrc

For example, this might begin to look like this:

1
2
3
4
5
6
7
8
9
plugins=(
git
bundler
dotenv
osx
rake
rbenv
ruby
)

Note that the plugins are separated by whitespace. Do not use commas between them.
请注意,这些插件是用空格分隔的。 不要在它们之间使用逗号。

git 插件

https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git

The git plugin provides many aliases and a few useful functions.

To use it, add git to the plugins array in your zshrc file:

1
plugins=(... git)
web-search plugin

This plugin adds aliases for searching with Google, Wiki, Bing, YouTube and other popular services.

Open your ~/.zshrc file and enable the web-search plugin:

1
plugins=( ... web-search)

Usage 用法

You can use the web-search plugin in these two forms:

  • web_search <context> <term> [more terms if you want]
  • <context> <term> [more terms if you want]

For example, these two are equivalent:

1
2
3
web_search google oh-my-zsh

google oh-my-zsh

Available search contexts are:

Context URL
bing https://www.bing.com/search?q=
google https://www.google.com/search?q=
yahoo https://search.yahoo.com/search?p=
ddg or duckduckgo https://www.duckduckgo.com/?q=
sp or startpage https://www.startpage.com/do/search?q=
yandex https://yandex.ru/yandsearch?text=
github https://github.com/search?q=
baidu https://www.baidu.com/s?wd=
ecosia https://www.ecosia.org/search?q=
goodreads https://www.goodreads.com/search?q=
qwant https://www.qwant.com/?q=
givero https://www.givero.com/search?q=
stackoverflow https://stackoverflow.com/search?q=
高亮插件
1
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

然后编辑配置文件,$ vim ~/.zshrc 添加以下内容:

1
source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
zsh-autosuggestions
1
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):

1
plugins=(zsh-autosuggestions)
1
2
# hightlight 插件前景色, 背景色, 字体配置
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#BABABA,bg=#66666A,bold,underline"

在 zsh 中使用 Powerlevel9k 主题

1
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

You then need to select this theme in your ~/.zshrc:

1
ZSH_THEME="powerlevel9k/powerlevel9k"

原版配色我很不喜欢, 蓝色和绿色太纯正. 可以自己换一些配色

image

如果出现乱码, 说明需要安装 Powerline字体
mac 下的直接执行命令 或者根据提供的 GitHub 地址手动下载并安装也行

1
cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

启用该字体
After installing nerd-fonts and configuring your terminal emulator to use one, configure Powerlevel9k by putting the following in your ~/.zshrc:

尼玛不管source ~/.zshrc还是重启终端还是未生效, 结果需要在 iTerm2 中设置一下就搞定了。

image

去掉左侧默认的命令提示符为 user@userdemackbookPro,这样的提示符配合 powerlevel9k 主题太过冗长,如果想去除,则需要继续修改 ~/.zshrc 配置文件。

android 系统

一般用不到。

相关网址

27 Best SSH clients for Windows as of 2021 - Slant https://www.slant.co/topics/149/~best-ssh-clients-for-windows#21

参考

https://github.com/Powerlevel9k/powerlevel9k