function pick<T, U extends keyof T>(data: T, keys: U[]): { [K in U]: T[K] } { const obj: any = {}; for (const key of keys) { obj[key] = data[key]; } return obj; } const user = { name: 'Tom', age: 19, }; pick(user, ['name', 'age']);
scp远程复制
注:如果使用 root 用户,需要配置sshd_config文件 打开root远程登录
ListenAddress 改为 0.0.0.0 或 ip地址
PermitRootLogin 改为 yes
使用 systemctl restart sshd 重启
一、 从 本地 复制到 远程
1. 复制文件
(1.)不修改文件名
scp local_file remote_username@remote_ip:remote_folder
(2.)修改文件名
scp local_file remote_username@remote_ip:remote_file
2. 复制目录
scp -r local_folder remote_username@remote_ip:remote_folder
二、从 远程 复制到 本地
1. 从 复制文件
(1.)不修改文件名
scp remote_username@remote_ip:remote_folder local_file
(2.)修改文件名
scp remote_username@remote_ip:remote_file local_file
2. 复制目录
scp -r remote_username@remote_ip:remote_folder local_folder