mac用ssh连linux服务器
前言网上的一些ssh免密连接linux服务器的资料都写的过于复杂,因此笔者写了一份简明的教程。
配置如下:
客户端(发起SSH连接的一方):Mac Sonoma14.4.1
服务器(接受SSH请求的一方):22.04.1-Ubuntu
简单SSH连接基本的ssh命令格式如下:
1ssh [用户名]@[主机地址]
例如,如果用户名是john,想要连接到主机地址为example.com的远程服务器,使用以下命令:
1ssh john@example.com
这个命令会尝试以用户john的身份建立到example.com的SSH连接。如果连接成功,将需要提供密码(如果有的话),之后就可以开始远程操作该服务器了。
可以使用远程主机的IP地址来代替域名。例如,如果远程服务器的IP地址是192.168.1.100,可以使用以下命令:
1ssh 用户名@192.168.1.100
SSH免密连接基本概念SSH免密连接需要在客户端生成公钥和私钥:
公钥:公钥将复制到服务器一端。
私钥:私钥要保存在客户端本地,也就是Mac上。
在SSH连接的时候,会根据公钥和私钥进行验证,具体的过程如下:
...
Ubuntu配置C++20环境
前言本文写于2024.5.19,我的系统为22.04.1-Ubuntu,默认带的是gcc11,它还不支持C++20。为了用上一些C++20的特性,便打算配置一下C++20的环境,期间走了不少弯路,故写一份笔记造福后人。
这里列出我的一些配置:
22.04.1-Ubuntu
CLion 2024.1
配置过程下载clang18首先,需要下载支持C++20的编译器。从cppreference上可以找到支持C++20的编译器有哪些。这里选择下载clang18,因为当下的gcc13尚不支持C++20的模块功能。
如果用cmake,cmake需要3.28以上才支持C++20模块功能
参考一篇知乎文章,在命令行下输入以下内容安装LLVM18(其带有clang18):
123wget https://apt.llvm.org/llvm.shchmod +x llvm.shsudo ./llvm.sh 18
下载完之后用下面的命令查看一下clang18是否成功安装。
1clang-18 --v
输出应该如下:
123456789Ubuntu clang version 18.1.6 (++20 ...
Python基础 - Python
参考文章:算法乐园的Python笔记
基本概念print函数基本用法最简单的用法就是直接打印一个字符串:
1print("Hello, World!")
这将在控制台上输出:
1Hello, World!
打印多个值你也可以在一次print调用中打印多个值,只需用逗号隔开它们:
1print("Hello,", "World!")
输出:
1Hello, World!
打印变量当然,print函数也可以用于打印变量的值:
123x = 10y = 20print("x =", x, ", y =", y)
输出:
1x = 10 , y = 20
换行与分隔符默认情况下,print函数会在每个值之间添加一个空格,并在最后添加一个换行符。你可以通过sep和end参数来自定义这些行为:
1print("Hello", "World", sep="-", end="!!!\n")
输出:
1Hello-World! ...
Pytorch笔记
调用帮助文档在Python中,help()和dir()是两个内置函数,它们提供了对Python对象(如模块、类、方法、函数、变量等)的有用信息。
help()函数用于获取有关Python对象的信息。
1help(print) #这将显示有关print()函数的详细信息,包括它的用途、参数、返回值等。
dir()函数用于列出Python对象的所有属性和方法。
获取内置math模块的所有属性和方法:
12import mathprint(dir(math))
这将显示math模块中定义的所有函数、变量和常量的名称。
也可以在不传递任何参数的情况下调用dir()函数,这将返回一个包含当前作用域中所有名称的列表。
1print(dir())
图像处理必要的库12from PIL import Imageimport os
读取和显示图像12img = Image.open(img_path) # 打开图像文件img.show() # 显示图像文件(注意:这可能会打开多个图像查看器窗口)
用PIL中的Image可以通过图像路径来打开某个图像并显示图像文件。
处理图像将 ...
Python与操作系统交互
Python执行命令行指令执行命令行指令首先导入subprocess模块,然后通过subprocess.run来执行命令行指令。
指令是在当前运行的脚本的工作目录下执行的
1result = subprocess.run(f'ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,text=True, encoding='utf-8')
函数的参数说明如下:
args:这个参数可以是一个字符串,也可以是一个程序参数列表。如果是字符串,需要加上shell=True参数,以便通过shell来解释这个命令。在这个例子中,args是f'ls',表示执行ls命令。
shell=True:这个参数指示subprocess.run()使用shell来执行这个命令。
stdout=subprocess.PIPE和stderr=subprocess.PIPE:这两个参数表示子进程的标准输出和标准错误输出将被捕获,并通过CompletedProcess对象的stdout和s ...
从零开始搭建一个简易神经网络
神经网络简述神经元神经网络通过模拟人神经元的活动,通过输入预测输出。
神经网络中的一个神经元的树突接触到输入,然后经过计算之后从轴突上传出信号。
经过抽象之后,一个神经元就长这样:
其接受3个输入,$x_1,x_2,x_3$,经过线性运算$w^Tx+b$,和激活函数$\sigma(z)$后,输出$a$。
$w$是一个$3\times1$的列向量,$x$是一个$3\times1$的列向量,$b$是一个实数
神经网络多个神经元(cell)一起就组成了神经网络,一个神经网络可以表示为如下这样:
%%{ init : { 'flowchart' : { 'curve' : 'basis' }}}%%
flowchart LR
age((年龄))
salary((薪水))
age-.->x1((cell)) & x2((cell)) & x3((cell))
salary-.->x1 & x2 & x3
x1 & x2 & x3-.->x4((cell)) &am ...
爬虫笔记
模拟发送 HTTP 请求GET请求GET请求是HTTP协议中定义的一种请求方法,用于从服务器获取数据。当发起一个GET请求时,客户端(通常是用户的网页浏览器)向服务器发送一个请求,请求服务器返回指定的资源或数据。当我们用浏览器打开网页时,其实发送的最原始的请求就是 GET 请求
1234567import requests res = requests.get('http://www.douban.com') print(res) print(type(res)) >>> <Response [200]> <class 'requests.models.Response'>
可以看到,我们得到的是一个 Response 对象
如果我们要获取网站返回的数据,可以使用 text 或者 content 属性来获取
text:是以字符串的形式返回数据
content:是以二进制的方式返回数据
POST请求POST请求是HTTP协议中定义的另一种请求方法,用于向服务器提交数据。当发起一个POST请求时,客户端向服 ...