树莓派SMB网络存储服务器

安装

  • 命令行输入
1
sudo apt-get install samba

设置

  • 设置密码(用户名必须是你系统用户)
    sudo smbpasswd -a 用户名
  • 会让你两次输入密码,有如下提示
1
2
3
New SMB password:
Retype new SMB password:
Added user for 这里会显示你的用户名
  • 执行sudo vi /etc/samba/smb.conf
  • Authentication段找到#security = user并去掉”#”
  • 文件尾部添加如下内容
1
2
3
4
5
6
7
8
9
#等号后填写你所共享的目录
path =
comment = NAS Drive
#写入权限
wirteable = yes
browseable = yes
#创建文件权限
create mask = 0777
public = yes
  • reboot重启

推荐

[post cid=”23” cover=”https://cairbin.top/pic/raspi.png"/]

树莓派Ubuntu18.04(arm64)解决armhf安装问题

报错

arm64的Ubuntu直接安装armhf软件的话会有以下报错:
报错

解决

  • 在命令行输入:
1
2
3
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get upgrade
  • 再次尝试安装 sudo dpkg -i 目录或安装包名
  • 如果还是报错,尝试执行以下命令再重新上述安装
1
2
apt-get install -f
apt-get install libxtst6:armhf

树莓派Ubuntu命令行连接Wifi

说明

我的设备是树莓派3B+,系统是官方提供的Ubuntu18.04 64位,其他型号应该也适用此方法
如果你的系统未安装wireless-toolswpasupplicant请使用以下命令安装

1
2
sudo apt-get install wireless-tools
sudo apt-get install wpasupplicant

开始

  1. 利用Vim打开/etc/network/interfaces 命令如下
    sudo vi /etc/network/interfaces
  2. 添加如下内容:
1
2
3
4
5
6
auto wlan0 
iface wlan0 inet dhcp
#下方引号填写你的Wifi名称
wpa-ssid ""
#下方引号填写你的密码
wpa-psk ""

提示

  • 如果有条件尽量还是用网线,毕竟能省不少事

关于树莓派安装Ubuntu请见以下文章
[post cid=”16” /]

Ubuntu常用命令

  • 帮助
1
2
3
--help简单的帮助
help command 较详细的帮助
man command 最详细的帮助
  • ls 命令
1
2
3
ls -l 显示较全的文件信息
ls --color 显示文件及文件夹,并标有不同的颜色
ls -a 显示全部的文件及文件夹
  • which 用于查找你所执行的命令文件存放的目录
  • tab键,命令记不全时,输入一部分再按一下进行补全
  • env当前用户的运行环境。
  • cmp 用于比较两个文件是否是完全相同的。
  • cp 用于复制文件
  • chmod 修改用户对于文件的操作权限
  • cat 查看ubuntu中文本文件的内容
1
2
3
cat /proc/cpuinfo 查看cpu信息
cat /proc/meminfo 查看内在信息
cat /etc/issue 查看ubuntu的版本信息
  • lsusb 列出计算机里的usb设备
  • lspci 列出计算机里的pci设备
  • fdisk 查看硬盘信息
  • mkdir 创建文件夹,格式:”mkdir 名称”
  • touch 创建文件,可以同时创建多个文件,格式:”touch test1 test2 test3”
  • rm 删除文件,格式:”rm 名称”,-r参数可强制删除

实验室制取乙酸乙酯

实验原理

化学方程式: C2H5OH + CH3COOH <=浓硫酸,Δ=> CH3COOC2H5 + H2O (可逆号)
操作步骤:事先加入碎瓷片,然后先加浓硫酸,再加乙醇,再加冰醋酸,密度先小后大,然后加热,将蒸汽通入盛有饱和Na2CO3溶液的试管或锥形瓶

成分及其作用

  • 浓硫酸:作为吸水剂和催化剂
  • 碎瓷片:防止暴沸
  • 饱和Na2CO3溶液:减小乙酸乙酯溶解度;与蒸出的乙酸反应;溶解蒸发出的乙醇

注意事项

  1. 该反应为可逆反应.
  2. 制备温度应该控制在60~70℃,液体加热至沸腾应该用小火加热,温度过高会有亚硫酸和乙醚等产物产生.
  3. 要事先加入碎瓷片防止暴沸.
  4. 导气管不要伸入饱和Na2CO3溶液以下,防止倒吸.
  5. 浓硫酸具有强氧化性,谨慎使用.

视频

暂未上传

最简单的方式搭建typecho博客

购买并配置服务器

  1. 购买域名并选择阿里云的轻量应用服务器的PT-Panel(宝塔Linux面板)镜像,如图
  2. 购买并安装完成后,在阿里云控制台中找到服务器并选择第二个按钮,然后 详情->应用管理->应用详情
  3. 按照其提示进入远程命令行,复制粘贴命令并执行得到面板密码
  4. 浏览器访问http://服务器外网IP:8888
    (注意:要在防火墙页面开启8888端,在防火墙页面添加规则,端口范围填8888并保存即可)
  5. 输入账号(默认admin)和你刚才获取的密码,就能够登陆进去了
  6. 如果提示,选择安装LAMP环境(即:Apache+MySQL+PHP,L指Linux也就是服务器目前的系统),如果不提示则在面板的软件商店里单独安装

安装

  1. 在宝塔面板中找到 网站->添加站点,填写你的域名,数据库选择MySQL,数据库用户名和密码(用户名推荐typecho),其余默认
  2. 在你的PC上去typecho官网下载,这里推荐下载正式版防止不稳定
  3. 回到宝塔面板->网站->点击你的域名
  4. 点击上传->选择文件(找到你刚才下好的压缩包)->开始上传->上传完成后点击下面的关闭

解压与设置

  1. 解压压缩包->得到build文件夹->进入build->全部选中点击剪贴->返回上一级目录->粘贴
  2. 重启服务器(这里推荐重启服务器而不是重启服务)
  3. 浏览器访问你的域名,我们就可以看到typecho的安装界面了
  4. 填写:数据库用户名和数据库密码(你在”安装”这一小节第一步所填写的),网站登录用户名和密码,其余默认(不懂不要乱填),然后点击“确认,开始安装”按钮就可以了 (注意:数据库名称与你的数据库用户名一致)
  5. 提示:你的博客地址: http://域名 你的登录界面: http://域名/admin

相关问题

  • . 如果你想知道为什么不用Wordpress搭建博客的话,那是因为Wordpress会有一些问题并且最近其官网无法访问
  • 你同样也可以选择搭建LNMP环境,二者基本步骤没有太大差异,这里不过多描述
  • 插件和主题文件夹分别在 刚才配置的目录/usr/plugins刚才配置的目录/usr/themes (这里是指网站的usr不是系统的)
  • 插件下载解压后会获得一个文件夹,通过宝塔面板将整个文件夹(是这个进去有Plugin.php文件的这个文件夹而不是里面的文件)通过宝塔面板上传到上述plugins目录下,并且重命名这个文件夹与插件名称一致,否则启动插件会提示”server error”
  • 关于插件与主题的下载在下方的推荐里有

推荐


我使用的插件:

插件使用了很多,我实在是懒得写了,自己感兴趣的话就去官方插件网站官方网站及其社区看看

C++ 输出斐波那契数列

代码

先贴代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
int main(){
int n = 1;
double n_m = 93;
cout << endl;
while(1){
int n = 1;
long long int a=1;
long long int b=1;
cout << "Please input the max value of n." << endl;
cin >> n_m;
int n_max = static_cast<int> (n_m);
if (n_max < 1){
cout << "The max value of n is error." << endl;
}
if (n_max > 92){ //因为斐波那契数列发散很快,所以给n一个上限,防止数列数值溢出
cout << "The value is too large." << endl;
}
else{
while(n <= n_max){
if (n == 1){
cout << a << endl;
n++;
}
if ( n== 2){
cout << b << endl;
n++;
}
else{
a = a+b;
cout << a << endl;
n++;
b = a+b;
cout << b << endl;
n++;
}
}
}
}
}
  • 复制

相关知识

斐波那契数列递推关系F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
通项公式

为便于理解,本文章方法是根据递推关系来写的程序
相关数学知识请参考:百度百科

HTML5 form标签method属性post与get的区别

post写法:

1
2
<form action="" method="post">  ...  </form>
<!-- action属性添加url -->

get写法:

1
2
3
<form action="" method="post"> ... </form>
<!-- action属性添加url -->

区别

get请求的数据会附在URL之后,如图
post把提交的数据放置在HTTP包的包体中,当提交数据需要的保密性高或数据量大时使用较多,传递数据隐匿

HTML5 input标签常使用类型

1
2
3
4
5
6
7
8
type="text" <!--文本输入框-->
type="password" <!--密码输入框-->
type="radio" <!--单选框-->
type="checkbox" <!--复选框-->
type="button" <!--普通按钮-->
type="submit" <!--提交按钮-->
type="reset" <!--重置按钮-->
type="file" <!--文件选择框-->

目前基本上都用 js 写交互,但作为一个初学者了解下还是有必要的。