Useful commands

本文收集一些有用的命令。

ssh

基本命令

1
ssh user@host -p port

包含跳板机

1
2
ssh -J jumper_user@jumper_host:jumper_port user@host -p port
ssh -o "ProxyJump jumper_username@jumper_ip:jumper_port" user@host -p port

authorized_keys

在服务器 ~/.ssh/authorized_keys 中存放客户端公钥,则客户可免密登录。

config

~/.ssh/config 是配置文件,可配置常用连接的属性。

scp

1
2
3
scp -P port username@host1:file1 username@host2:file2
# 包含跳板机
scp -P port -o 'ProxyJump jumper_username@jumper_ip:jumper_port' username@host1:file1 username@host2:file2

wake on lan

1
wolcmd [mac address] [ip address] [subnet mask] [port number]

git

列出 git 的所有 blob 对象,按从小到大排序(参考资料):

1
2
3
4
5
6
git rev-list --objects --all |
git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
sed -n 's/^blob //p' |
sort --numeric-sort --key=2 |
cut -c 1-12,41- |
$(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest

注:macOS 没有 numfmt,可以去掉最后一行或者 brew install coreutils.

screen

1
2
3
4
5
6
7
8
# 创建新的 screen 会话
screen -S session_name
# 显示当前所有的 screen 会话
screen -ls
# attach 指定 screen 会话
screen -r session_name
# detach 指定 screen 会话
screen -d session_name

Ctrl+a 系列:先按 Ctrl+a,松开后按以下按键:

  • d:detach 当前对话
  • k:kill 当前对话

tmux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 开启新 session(并命名)
tmux
tmux new -s <session-name>
# 显示所有session
tmux ls
# 使用 session 编号或名称接入
tmux attach -t 0
tmux attach -t <session-name>
tmux a -t <session-name>
# 使用 session 编号或名称 kill
tmux kill-session -t 0
tmux kill-session -t <session-name>
# 使用 session 编号或名称切换
tmux switch -t 0
tmux switch -t <session-name>
# 重命名 session
tmux rename-session -t <old-name> <new-name>

Ctrl+b 系列:先按 Ctrl+b,松开后按以下按键:

  • s:选择需要跳转的 session 会话

  • $:重命名当前会话

  • d:断开当前 session

  • c:在当前 session 中多加一个 window

  • w:在一个 session 中的多个 window 中作出选择

  • x:关闭当前 session 中的当前 window

  • [:进入 tmux 翻屏模式, 实现上下翻页;进入翻屏模式后 PgUp PgDn 实现上下翻页(mac 可以用 fn + ↑ ↓ 实现上下翻页);q 退出翻屏模式

  • !:关闭一个 session 中所有窗口

  • %:将当前窗口分成左右两分

  • ":将当前窗口分成上下两分

  • 方向键 :让光标在不同的窗口中跳转

  • 按住 Ctrl+b 不放,同时按住方向键,可以调节光标所在窗口的大小


Useful commands
https://xyfjason.github.io/blog-main/2022/02/28/Useful-commands/
作者
xyfJASON
发布于
2022年2月28日
许可协议