Post

Tool

Tool

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_rsaid_rsa.pub文件

  • -t: 指定算法,包括dsa ecdsa ecdsa-sk,ed25519 ed25519-sk rsa(推荐用 ed25519)
  • -b: 指定密钥长度。对 ed25519 不需要 -b

密钥默认保存在 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)

1
ssh-add ~/.ssh/id_rsa

添加到ssh代理后,ssh相关操作及可实现免密

1
ssh-add -l
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

启动会话

1
screen
1
screen -S session_name

常用快捷键

  • ctrl+a+c 创建一个新的screen窗口
  • ctrl+a+n 切换到下一个screen窗口
  • ctrl+a+p 切换到上一个screen窗口
  • ctrl+a 列出所有的screen窗口
  • ctrl+a+d 分离当前的screen会话

重连会话

1
screen -ls
1
screen -r session_name
1
screen -r -d session_name
1
screen -x 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(使生成程序可被 rootsetuid 方式调用)。默认关闭 谨慎使用
    • -U 生成不可跟踪的二进制,尝试阻止 strace / ptrace / truss 等工具跟踪进程
  • [variables]
    • CC 指定 C 编译器(默认 gcc
    • CFLAGS 传递给编译器的标志,如优化级别或调试信息
    • LDFLAGS 链接器标志,如静态链接所需标志
1
shc -f script.sh
1
shc -r -f script.sh
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 操作系统(诸如 LinuxmacOSBSD 等)上运行 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
This post is licensed under CC BY 4.0 by the author.