0%

从github上获取vim-plug:

1
git clone https://github.com/junegunn/vim-plug

把获取的vim-plug文件里面的plug.vim文件放到~/.vim/autoload/目录下:

1
mv ~/vim-plug/plug.vim ~/.vim/autoload/

配置.vimrc文件:

1.

1
vim .vimrc

需要用什么插件就按这个格式来添加:

1
2
3
call plug#begin('~/.vim/plugged')
plug '想用的插件(github上的插件名称,README.md有怎么添加)'
call plug#end()

2.

保存.vimrc

1
:w

3.

安装插件:(可以用tab)

1
:PlugInstall

4.

退出所有的vim文件(现在打开的是两个vim文件)

1
:wqa

结束

1.本地生成密钥对:

1
ssh-keygen

默认在~/.ssh/ 的目录默认生成名为id_rsa的两个文件

私钥rd_rsa
公钥id_rsa.pub

  • 除了RSA算法,还有ecdsa算法等等

可以可以通过 -t 参数来指定算法。

2.配置到远程

1
ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<ip>

本地的公钥将会写到服务器的~/.ssh/authorized_keys,以后登陆的时候免密登陆。

本文主要写:如何使用nmcli在终端下内查看wifi、连接wifi

连接wifi:

1查找周围有那些wifi:

1
nmcli device wifi

2连接wifi

1
nmcli device wifi connect xxxxx(wifi名称) password ******(wifi密码)

每用一次上面的命令,就会在/etc/NetworkManager/system-connections/目录下生成一个配置文件

删除wifi

1
nmcli con del xxxxx(设备名称)

此时,/etc/NetworkManager/system-connections/目录下的配置文件就会被删掉

启动wifi

1
nmcli connection up xxxxx(之前连接过的wifi名称(有配置了))

或者

1
nmcli device con wlp1s0(网卡名称)

关闭wifi

1
nmcli connection down xxxxx(wifi名称)

或者

1
nmcli device dis wlpis0(网卡名称)

创建热点

1
nmcli device wifi hotspot ifname wlp1s0(网卡名称) con-name Myhotspot(所创建热点的名字) ssid haha(SSID(暂不懂)) passwd *******(密码)

自动连接

1
nmcli connection modify xxxxxx(wifi名称) connection.autoconnect yes

gui界面

1
nmtui

1
sudo mkfs.vfat /dev/sda1

将iso镜像写入U盘

1
sudo dd if=/home/ezhonghu/Downloads/archlinuxxxxxxxxx.iso of=/dev/sda

1.搭建环境

1.在nodejs官网查看最新的nodejs包。

2.下载Linux Binaries (x64) 的二进制包。(以下包为写下这篇博客时最新的包,当你看到的时候应该已经不是最新的了,请自行替换成上一步你所看到的最新的包)。

1
wget https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.xz 

3.解压包

1
tar -Jxvf node-v16.13.2-linux-x64.tar.xz /opt/

4.在个人用户的shell配置文件加入环境变量(我的shell使用zsh,所以这里是.zshrc)

1
nvim .zshrc

在末尾加入(请自行替换成实际解压的文件夹名)

1
export PATH=/opt/node-v16.13.2-linux-x64/bin:$PATH

5.验证node安装成功

1
2
node -v
npm -v

6.安装hexo(全局位置)

1
npm install -g hexo-cli

2.创建文件夹并初始化

1
2
mkdir hexo_blog
hexo init hexo_blog/

image-20220207095231195

3.生成静态文件

1
2
cd hexo
hexo generate

4.启动服务

1
heso server

默认端口为4000

5.浏览器查看

image-20220207103724320

以上为默认的模板文件


写文章

1.生成文章

1
hexo new "第一篇博客"

此时会在~/hexo_blog/source/_posts/下生成对应名称,后缀为md的文件。


部署到github page上

1.安装插件

1
npm install hexo-deployer-git --save

2.在github创建repository

名称要与用户名一致,后面跟上.github.io

image-20220208091729049

3.修改_config.yml文件

添加以下内容(repo替换上一步创建的repository)

1
2
3
4
deploy:
type: git
repo: https://github.com/ErzhongHoo/ErzhongHoo.github.io.git
branch: gh-pages

优化

1.更换next主题

next官方安装文档

1
2
3
cd hexo_blog/
git clone https://github.com/theme-next/hexo-theme-next themes/next
nvim ~/hexo_blog/_config.yml

找到theme,将landscape替换为next

2.支持渲染latex公式

1
nvim ~/hexo_blog/source/themes/next/_config.yml

找到mathjax,改成:

enable : true

在blog文件夹下:

1
2
npm uninstall hexo-renderer-marked
npm install hexo-renderer-kramed

渲染

1
hexo clean && hexo g

当有人移动时,捕获下照片(可用于监控)

硬件

  • 树莓派
  • camera
  • 人体接近传感器

接线方式

可以在树莓派终端查看各个引脚的作用

1
pinout

pir-motion-sensor-with-raspberry-pi

开关的作用
按下后退出程序。

烧录文件

创建一个.py文件,并拷贝以下代码

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
42
43
#Project 13 - Burglar Detector With Photo Capture
#latest code updates available at: https://github.com/RuiSantosdotme/RaspberryPiProject
#project updates at: https://nostarch.com/RaspberryPiProject

#import the necessary packages
from gpiozero import Button, MotionSensor
from picamera import PiCamera
from time import sleep
from signal import pause

#create objects that refer to a button,
#a motion sensor and the PiCamera
button = Button(2)
pir = MotionSensor(4)
camera = PiCamera()

#start the camera
camera.start_preview()

#image image names
i = 0

#stop the camera when the pushbutton is pressed
def stop_camera():
camera.stop_preview()
#exit the program
exit()

#take photo when motion is detected
def take_photo():
global i
i = i + 1
# 自己选择拍照后要安装的位置
camera.capture('/home/pi/Desktop/image_%s.jpg' % i)
print('A photo has been taken')
sleep(10)

#assign a function that runs when the button is pressed
button.when_pressed = stop_camera
#assign a function that runs when motion is detected
pir.when_motion = take_photo

pause()

参考文章

install droidcam

1
yay -S droidcam

install linux-header

1
sudo pacman -S linux-header

usage

1.wifi

android install droidcam and launch

chromium enter http://192.168.25.x:4747

2.usb

Android mobile phone and linu computers connected by cable

android debug mode

1
adb devices

remember devices name

1
sudo modprobe v4l2loopback_dc

open droidcam on android

1
env ANDROID_SERIAL=bd4a6a1a droidcam-cli adb 4747

while open obs, mobile phones camera can be detected and used

消毒液配比问题

背景

  • 1颗消毒药的质量为1g
  • 1g药配1kg水

1500ml水要放几颗药?

水的密度:$1g/cm^3$

1500ml水的质量:

根据1g药配1000g水,1500g水要放1.5颗药。

全球最大的docker image中心Docker Hub

在这里可以找到很多images。

images可以看作模板
这些模板可以下载到自己的电脑来运行
和从下载可执行程序不同的是,这些模板可以是环境!或者是已经包括环境的程序!

docker可以在不同的平台先下载好。可以通过包管理工具或者手动下载安装等方法来进行安装。

自己在Docker Hub看上哪个image后就可以下载。

给个容器(container)来运行这个模板(images)。这个步骤可以认为是实例化。

示例

以安装mysql-server-5.7为例。

背景:

主机系统: ubuntu 20 LTS

安装docker服务:

1
sudo apt-get install docker-compose docker -y

步骤

1.查找模板image

1
sudo docker search mysql

2.拉取5.7版本的Mysql

1
sudo docker pull mysql:5.7

等待…

3.查看image是否已经被下载下来

1
sudo docker images

4.实例化(给予这个实例一个container并运行mysql)
1
docker run -p 3306:3306 --name mysql_5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

-p 指定端口号(本地暴露的端口3306,容器暴露的端口3306)

-name 设置容器名称

-e 设定配置(密码123456)

-d 设定小名(tag)

5.查看docker所有的容器

1
sudo docker ps -a

6.进入容器

1
sudo docker exec -it mysql_5.7 bash

7.进入数据库
1
mysql -uroot -p123456

  • 退出容器用exit命令

到这里结束。

虚拟容器文件软链接映射实体路径文件先挖个坑,晚些再补上


其他一些特殊操作

删除容器(container)

1.找出要停止container的ID

1
sudo docker ps

复制 CONTAINER ID

2.停下服务

1
sudo docker stop <CONTAINER ID>

3.删除容器
1
sudo docker rm <CONTAINER ID>

删除模板(image)

1.查看要删除模板的

1
sudo docker images

复制 IMAGE ID

2.删除image

1
sudo docker rmi <IMAGE ID>