一、 什么是SSH?
SSH全称Secure Shell,中文翻译为安全外壳,它是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。SSH 协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。
SSH 是(C/S架构)由服务器和客户端组成,为建立安全的 SSH 通道,双方需要先建立 TCP 连接,然后协商使用的版本号和各类算法,并生成相同的会话密钥用于后续的对称加密。在完成用户认证后,双方即可建立会话进行数据交互。
远程连接的好处就是,如果你使用的是远程办公,你可以通过SSH远程连接开发机,这样就可以在本地进行开发。而且如果你需要跑一些本地的代码,又没有环境,那么远程连接就非常有必要了。
配置SSH密钥
二、什么是端口映射?
端口映射是一种网络技术,它可以将中的任意端口映射到内网中的相应端口,实现内网与之间的通信。通过端口映射,可以在访问内网中的服务或应用,实现跨越网络的便捷通信。
->在Web IDE的终端中运行了一个hello_world.py
如果不进行端口映射,则本地IP无法访问
例如:ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
下面给大家介绍一下命令各部分的含义:
-p 37367:是指定 SSH 连接的端口为 37367,这个前面提到过。root@ssh.intern-ai.org.cn:表示要以 root 用户身份连接到 ssh.intern-ai.org.cn 这个主机。-CNg:
-C 通常用于启用压缩。-N 表示不执行远程命令,仅建立连接用于端口转发等。-g 允许远程主机连接到本地转发的端口。
-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}:这是设置本地端口转发,将本地机器的指定端口(由 {本地机器_PORT} 表示)转发到远程主机(这里即 ssh.intern-ai.org.cn)的 127.0.0.1 (即本地回环地址)和指定的开发机端口(由 {开发机_PORT} 表示)。-o StrictHostKeyChecking=no:关闭严格的主机密钥检查,这样可以避免第一次连接时因为未知主机密钥而产生的提示或错误。
当你运行一个web demo的时候,就可以使用这个命令进行端口映射。
三、Linux基础命令
1. find
find命令是Linux系统中一个强大的文件搜索工具,它可以在指定的目录及其子目录中查找符合条件的文件或目录,并执行相应的操作。
以下是find命令的一些常见用法:
2. 常见的文件管理操作包括:
- 创建文件:可以使用
touch 命令创建空文件。 - 创建目录:使用
mkdir 命令。 - 目录切换:使用
cd命令。 - 显示所在目录:使用
pwd命令。 - 查看文件内容:如使用
cat 直接显示文件全部内容,more 和 less 可以分页查看。 - 编辑文件:如
vi 或 vim 等编辑器。 - 复制文件:用
cp 命令。 - 创建文件链接:用
ln命令。 - 移动文件:通过
mv 命令。 - 删除文件:使用
rm 命令。 - 删除目录:
rmdir(只能删除空目录)或 rm -r(可删除非空目录)。 - 查找文件:可以用
find 命令。 - 查看文件或目录的详细信息:使用
ls命令,如使用 ls -l查看目录下文件的详细信息。 - 处理文件:进行复杂的文件操作,可以使用
sed命令。
3.cp 和 ln(重点)
- 复制文件:
cp 源文件 目标文件 - 复制目录:
cp -r 源目录 目标目录
但是如果我们是要使用模型的话,这种操作会占用大量的磁盘空间,所以我们一般使用ln命令,这个就和windows的快捷方式一样。linux中链接分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
所以我们一般使用软连接,它的常用的使用方法如下:
ln [参数][源文件或目录][目标文件或目录]
参数如下:
- -s:创建软链接(符号链接)也是最常用的;
- -f:强制执行,覆盖已存在的目标文件;
- -i:交互模式,文件存在则提示用户是否覆盖;
- -n:把符号链接视为一般目录;
- -v:显示详细的处理过程。
4. sed
sed命令是一种流编辑器,主要用于文本处理,在处理复杂的文件操作时经常用到,在后续的课程中会使用到,sed命令常用参数及使用示例如下:
- 参数说明:
-e<script> 或 --expression=<script>:直接在命令行中指定脚本进行文本处理。-f<script文件> 或 --file=<script文件>:从指定的脚本文件中读取脚本进行文本处理。-n 或 --quiet 或 --silent:仅打印经过脚本处理后的输出结果,不打印未匹配的行。
- 动作说明:
a:在当前行的下一行添加指定的文本字符串。c:用指定的文本字符串替换指定范围内的行。d:删除指定的行。i:在当前行的上一行添加指定的文本字符串。p:打印经过选择的行。通常与 -n 参数一起使用,只打印匹配的行。s:使用正则表达式进行文本替换。例如,s/old/new/g 将所有 "InternLM" 替换为 "InternLM yyds"。