TIP
这些是本篇文章的标签,来发现更多感兴趣的内容吧
科研
生信分析
Linux教程
B站ID:Biomamba-生信基地
来源:BV1hT411F7r7
- Linux服务器的本质:一台配置强大的电脑安装了Linux系统,可以通过网络访问这台终端
- Linux的服务器发型版本:RedHat和Ubuntu
- 服务器的优缺点
- 注:这里的内存指的是机内存储,而不是运行内存;服务器的缺点是要给钱去租用
- 连接到服务器的方式:SSH会话
补充:一个推荐的远程登陆的工具:FinalShell
- 一个关于FinalShell的介绍点这里
- FinalShell与常见的终端(这里是WezTerm)的差别与联系,以及如何选择(回答来自chatgpt)
- FinalShell 和 WezTerm 虽然都是用于远程连接的工具,但它们在功能和设计理念上存在一些关键差异。以下是它们的主要不同点:
1. 图形界面 vs 终端界面
- FinalShell:是一款图形化的远程管理工具,主要面向希望通过图形界面(GUI)操作服务器的用户。它不需要用户深入了解命令行工具的细节,比如 SFTP 文件传输、性能监控等功能都可以通过界面完成,非常直观。
- WezTerm:是一款功能强大的终端模拟器,主要依靠命令行进行操作。没有提供 FinalShell 那种集成的图形化文件传输、性能监控等功能,而是让用户直接在终端环境中执行任务。对于熟悉命令行的用户,WezTerm 提供了非常灵活和可定制的环境。
2. 功能范围
- FinalShell:不仅仅是一个终端工具,它集成了很多运维和管理相关的功能,比如 SSH、SFTP 文件传输、远程桌面、性能监控、网络测试工具等,功能相对丰富,适合需要图形界面操作和进行综合服务器管理的用户。
- WezTerm:专注于终端模拟器的角色,提供了多标签页、多窗口、GPU 加速渲染等高级功能,支持在终端环境下运行 SSH、Mosh 等协议连接远程服务器,主要聚焦于快速、灵活的终端体验。WezTerm 适合那些习惯使用命令行操作、需要高度自定义的用户。
3. 使用场景
- FinalShell:更适合需要管理多个服务器的运维工程师、开发人员。它的图形化界面让用户不需要通过命令行就能完成文件传输、服务器性能监控等任务,降低了操作门槛,提供了一站式管理方案。
- WezTerm:适合命令行爱好者以及需要高效、高度定制的终端用户。它能提供快速响应和灵活的终端操作体验,但不提供如图形化的文件管理、远程桌面等功能。对于那些熟悉 SSH 和 SCP 的用户,WezTerm 可以通过命令行工具实现类似功能。
4. 可定制性
- FinalShell:功能相对固定,提供了很多内置的管理工具,但用户的定制选项较少,更多是面向那些不想进行复杂配置的用户。
- WezTerm:拥有非常高的可定制性,用户可以通过配置文件进行深度定制,包括键绑定、外观、配色方案、性能调优等。它还支持 Lua 脚本,使得高级用户可以实现非常灵活的终端行为。
5. 平台支持
- FinalShell:是跨平台的,支持 Windows、macOS 和 Linux 操作系统,提供一致的图形界面体验。
- WezTerm:同样是跨平台的,支持 macOS、Linux 和 Windows,但它更关注的是终端模拟器的能力,而非综合管理。
总结
- 如果你更喜欢图形界面的工具,FinalShell 会更适合,它可以通过直观的界面帮助你管理远程服务器,提供更丰富的内置功能。
- 如果你习惯在终端中工作,尤其是注重高度自定义和灵活性,那么 WezTerm 会更符合你的需求。它的终端模拟能力和响应速度非常出色,适合命令行操作的工作流。
- 两者的选择取决于你是否更倾向于 GUI 管理还是命令行操作。
补充2:使用命令行将本地文件上传到服务器的几种方式
- 注:展现在这里的方式根据本人的需求进行了定制化,具体表现为文件在上传时会显示进度和网速等信息
方式1:使用rsync命令
- 基本语法:
1
rsync -avz --progress /本地文件或文件夹的路径 用户名@服务器IP:/远程目录路径
- 参数解释:
- -a:归档模式,递归传输并保持文件权限等属性。
- -v:详细模式,输出传输细节。
- -z:压缩传输。
- –progress:显示传输进度,包括网速、已传输数据量和估计的剩余时间。
- 一个让这行命令变得优雅的方法
简化命令Step 1
- 通过ssh-keygen命令生成一对RSA密钥,并把公钥拷贝到服务器上
- 具体的教程有空填坑
- 这里实现的效果:上面的命令可以简化为↓
1
rsync -avz /本地文件或文件夹的路径 用户名@服务器IP:/远程目录路径
简化命令Step 2
- 这步进行的目的是连用户名和服务器IP都不要背,用一个你熟悉的字符串,比如你对服务器的命名(e.g. FlynnServer)去替代
- 编辑SSH配置文件:在要登陆服务器的电脑上,打开或创建 ~/.ssh/config 文件(如果不存在,可以新建一个)。使用以下命令打开文件进行编辑:
1
vim ~/.ssh/config
- 添加配置
1
2
3
4Host myserver # 你熟悉的字符串
HostName # 服务器的IP地址或域名
User # 用户名
IdentityFile ~/.ssh/id_rsa # 私钥路径
- 参数解释
- Host:指定一个你熟悉的字符串,用来代替用户名和 IP。
- HostName:你的服务器的 IP 地址或域名。
- User:登录服务器时的用户名。
- IdentityFile:你的私钥文件路径(通常为 ~/.ssh/id_rsa,如果是其他路径,可以修改)。
- 输入英文的”:wq”,然后按Enter键退出Vim编辑器(友情提示,请手敲”:wq”,复制黏贴在这里不起作用)
- 实现的效果:进一步简化的终端命令
1
rsync -avz /本地文件或文件夹的路径 myserver:/远程目录路径 # 其中的myserver是我们自定义的字符串,比如FlynnServer
方式2:结合pv和scp
- 这里的scp工具负责帮我们上传文件,pv负责显示进度条;需要注意的是,pv工具通常没有自带,所以需要使用对应的命令安装
- pv工具的安装
- 对于Linux系统
1
sudo apt-get install pv
- 对于MacOS(使用Homebrew)
1
brew install pv
- 对于Linux系统
- 结合pv和sch,语法如下
1
pv /本地文件或文件夹的路径 | scp -C -q -l 8192 - username@服务器IP:/远程目录路径
- 让我们用和上面同样的方法,进行一些操作以简化命令,简化后的命令示例如下:
1
pv /本地文件或文件夹的路径 | ssh myserver "cat > /远程目录路径/文件名"