Linux 常用工具
ssh
ssh命令用于通过SSH协议连接到远程主机,实现远程登录和执行命令
配置ssh
1
| sudo apt-get install -y ssh
|
1
| ssh-keygen -t rsa -b 4096 -C "emial@examle.com"
|
""内为邮箱地址,运行成功后会在~/.ssh中生成id_rsa和id_rsa.pub文件
- -t: 指定算法,包括
dsa ecdsa ecdsa-sk,ed25519 ed25519-sk rsa(推荐用 ed25519) - -b: 指定密钥长度。对
ed25519 不需要 -b
密钥默认保存在 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)
添加到ssh代理后,ssh相关操作及可实现免密
1
| ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-host
|
如果 ssh-copy-id 不可用,可以手动追加公钥到远程 ~/.ssh/authorized_keys
远程连接
1
| ssh [options] [user]@[hostname] [command]
|
参数说明
- [options]
-l 指定登录的用户-p 指定连接到远程主机的端口号,默认22-v 显示调试信息-X 启用X11转发
- [user] 远程主机的用户名
- [hostname]远程主机的主机名或IP地址
- [command] 在远程主机上执行的命令
scp
scp基于ssh,用于在本地与远端之间复制文件或目录
1
| scp [options] [source] [user@hostname]:[target]
|
参数说明
- [options]
-r 递归复制整个目录-P 指定远程主机的端口号,默认22-p 保留文件的修改时间、访问时间和权限-v 显示的调试信息-C 启用压缩-l 限定使用的带宽,以Kbit为单位
- [source] 复制的文件
- [user] 远程主机的用户名
- [hostname] 远程主机的主机名或IP地址
- [target] 远程主机的路径
1
| scp /path/to/localfile user@remote:/path/to/dest/
|
1
| scp user@remote:/path/to/remotefile /local/dest/
|
1
| scp -r -P 7897 project_dir user@remote:/home/user/
|
screen
screen用于多重视窗管理程序,能都在一个终端窗口中创建多个虚拟终端会话,并且在ssh断开连接或关闭终端后保持会话继续运行
1
| sudo apt-get install -y screen
|
启动会话
常用快捷键
ctrl+a+c 创建一个新的screen窗口ctrl+a+n 切换到下一个screen窗口ctrl+a+p 切换到上一个screen窗口ctrl+a 列出所有的screen窗口ctrl+a+d 分离当前的screen会话
重连会话
1
| screen -r -d session_name
|
shc
shc 是一个用于加密 shell 脚本的工具,它可以将脚本转换为二进制可执行文件,以保护脚本内容不被轻易查看
1
| sudo apt-get install shc
|
1
| [variables] shc [options] script
|
参数说明
- [options]
- -f 指定要加密的脚本文件名。必须提供
- -v 详细模式,输出更多的编译信息
- -r 放松安全限制,生成的二进制文件可以在相同操作系统的不同版本上执行
- -e 设置脚本的过期日期,格式为
dd/mm/yyyy - -m 设置脚本过期时显示的消息
- -o 指定输出的二进制文件名
- -z 压缩生成的二进制文件,减小体积
- -d 生成调试版本,包含更多错误信息
- -S 打开
setuid(使生成程序可被 root 以 setuid 方式调用)。默认关闭 谨慎使用 - -U 生成不可跟踪的二进制,尝试阻止
strace / ptrace / truss 等工具跟踪进程
- [variables]
- CC 指定
C 编译器(默认 gcc) - CFLAGS 传递给编译器的标志,如优化级别或调试信息
- LDFLAGS 链接器标志,如静态链接所需标志
1
| shc -f script.sh -o myprog -v
|
1
| CC=gcc CFLAGS="-O2 -pipe" LDFLAGS="-static" shc -f script.sh -o script_static
|
wine
Wine 是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层
安装
1
2
| sudo mkdir -pm755 /etc/apt/keyrings
wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key -
|
1
| sudo dpkg --add-architecture i386
|
1
| sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -c | awk '{print $2}')/winehq-$(lsb_release -c | awk '{print $2}').sources
|
1
2
| sudo apt update
sudo apt install --install-recommends winehq-stable
|
配置
1
| sudo apt install winetricks
|
补全缺失字体
1
2
| winetricks allfonts corefonts cjkfonts
wineboot --update
|