在 Emacs 中实现 VSCode 的 terminal 快捷键功能

VSCode 有一个比较方便的快捷键:Ctrl-` ,可以一键拉起 terminal 。

这里在 Emacs 中模拟一下这个功能,而且还是增强版本,可以在不同文件中拉 起不同的 terminal,拉起的 terminal 路径和当前文件的目录一致。

常用命令行工具

记录一些常用的命令行工具,方便随时取用。

git throught ssh

1
git remote add origin ssh://user@my.git.svr/path/to/repo

通过 crontab 实现开机自启动

# 每次系统重启时,都会运行 ss.sh
@reboot ss.sh

xxd 十六进制(二进制) dump

xxd
以十六进制形式 dump 文件内容
xxd -b
以二进制形式 dump 文件内容
xxd -r
从 dump 内容还原出原始文件,例如 xxd file | xxd -rcat file 的输出是一致的

uniq 过滤、报告相同行

uniq
相同行仅打印一次
uniq -c
行首插入该行重复出现的次数
uniq -d
仅输出相同行
uniq -u
仅输出不同行

查看网络端口监听情况

1
netstat -tunlp

查看 CPU 总核心数

1
grep -c 'model name' /proc/cpuinfo

find printable strings 查找二进制文件中的字符串

例如查看 /bin 目录下的程序可能会创建哪些临时文件:

网络安全 Network Security

踩点

DNS zone transfer 区域传送

https://digi.ninja/projects/zonetransferme.php

https://www.mi1k7ea.com/2021/04/03/浅析DNS域传送漏洞/

1
dig axfr @nsztm1.digi.ninja zonetransfer.me

网络拓扑

1
2
3
4
5
6
7
8
traceroute

# -I: ICMP, -U: UDP, -T: TCP
traceroute -I

# tells the network to route the packet through the specified gateway 
# (most routers have disabled source  routing  for  security reasons).
traceroute -g 10.10.10.5

ping 一般默认走 ICMP 协议。

ICMP(Internet Control Message Protocol,互联网控制协议)是网络层协议,但是它不像 IP 协议和 ARP 协议一样直接传递给数据链路层,而是先封装成 IP 数据包然后再传递给数据链路层。所以在 IP 数据包中如果协议类型字段的值是 1 的话,就表示 IP 数据是 ICMP 报文。IP 数据包就是靠这个协议类型字段来区分不同的数据包的。

Linux Tips

记录一些常用的命令行工具,方便随时取用。

包管理

Ubuntu/Debian 上查看一个包的安装了哪些文件,安装到哪里了:

  1. 先用 dpkg -l | grep vim 找到要查看的包的完整包名;
  2. 再通过包名查看安装的文件: dpkg -L neovim

小技巧

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 更好的 export 环境变量的方法,避免将敏感信息暴露在命令行历史记录中
export XXX_KEY=$(cat)

# macOS 访问剪贴板,将文本写入剪贴板
echo hello | pbcopy

# macOS 读取剪贴板
pbpaste

# 生成一个 32 字节的 url safe 的 secret key
python3 -c 'import secrets; print(secrets.token_urlsafe(32))'

# 生成一个 32 字节的 hex secret key
python3 -c 'import secrets; print(secrets.token_hex(32))'

Filesystem

losetup

1
2
3
4
5
6
7
8
# bind the file test.img to loop device /dev/loop0
losetup /dev/loop0 test.img

mkfs.ext4 /dev/loop0
mount -o discard /dev/loop0 /mnt

# list all loop devices
losetup -la

Network

Network Tools 网络工具箱