L B T

记 录 过 去 的 经 验

环境信息

  • Python 3.10

虚拟环境创建步骤

假定项目名为 project01, 目录名为 project01

mkdir project01
cd project01
python3 -m venv .

以上命令会在目录 project01 中创建虚拟环境,查看当前目录,会产生以下目录和文件

$ ls
bin include lib lib64 pyvenv.cfg

观察 bin 目录的内容,里面有 python3pip3 等可执行文件,实际上是链接到 Python 系统目录的软链接。

$ ls -l bin/
total 36
-rw-r--r-- 1 root root 1991 Aug 16 17:35 activate
-rw-r--r-- 1 root root 917 Aug 16 17:35 activate.csh
-rw-r--r-- 1 root root 2059 Aug 16 17:35 activate.fish
-rw-r--r-- 1 root root 9033 Aug 16 17:35 Activate.ps1
-rwxr-xr-x 1 root root 234 Aug 16 17:35 pip
-rwxr-xr-x 1 root root 234 Aug 16 17:35 pip3
-rwxr-xr-x 1 root root 234 Aug 16 17:35 pip3.10
lrwxrwxrwx 1 root root 10 Aug 16 17:35 python -> python3.10
lrwxrwxrwx 1 root root 10 Aug 16 17:35 python3 -> python3.10
lrwxrwxrwx 1 root root 25 Aug 16 17:35 python3.10 -> /usr/local/bin/python3.10

Linux 环境使用以下命令激活虚拟环境

$ source bin/activate
(project01) [root@localhost project01]#

命令提示符变了,有个 (project01) 前缀,表示当前环境是一个名为 project01 的 Python 环境。
在此虚拟环境中安装包,都会被安装到 (project01) 环境下,具体目录为 project01/lib/python3.10/site-packages/,系统 Python 环境不受任何影响,也就是说,project01 这个环境是专门针对 project01 应用(项目)创建的,和系统 python 环境或其他应用互不影响。

要退出当前虚拟环境,可以执行以下命令

deactivate

退出虚拟环境后,再执行如 pip3 install 命令安装的包,会安装到系统 Python 环境。
完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。

如果不再使用某个 venv ,例如 project01,删除它也很简单。首先确认该 venv 没有处于 激活 状态,然后直接把整个目录 project01 删掉就行。

环境信息

  • os: linux 3.10.0-1160.62.1.el7.x86_64 CentOS Linux 7 (Core)
  • hexo: 6.2.0
  • hexo-cli: 4.3.0
  • node: 16.16.0
  • Next 8.12.2

安装 canvas-nest

参考 canva-nest 官网 安装

npm
npm install --save canvas-nest.js

可选操作,主要是为了生成 canvas-nest.js 文件

配置 Next

编辑 next配置文件,新增以下配置

_config.next.yml
# background settings
# add canvas-nest effect
# see detail from https://github.com/hustcc/canvas-nest.js
canvas_nest:
enable: true
url: https://s.csms.tech/js/canvas-nest.js
color: 0,0,255
opacity: 0.7
zIndex: -2
count: 99

引入 canvas-nest.js

编辑文件 themes/next/layout/_layout.njk, 在</body> 之前新增以下内容

themes/next/layout/_layout.njk
{% if theme.canvas_nest.enable %}
<script type="text/javascript" color="{{ theme.canvas_nest.color }}" opacity='{{ theme.canvas_nest.opacity }}' zIndex="{{ theme.canvas_nest.zIndex }}" count="{{ theme.canvas_nest.count }}" src="{{ theme.canvas_nest.url }}">
</script>
{% endif %}

awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

阅读全文 »

常用选项说明

-n    使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN (例如文件内容)的内容一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-i 直接修改读取的内容,而不是由屏幕输出。
-f 直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的sed 动作;
阅读全文 »

LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘或分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘或分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。

/boot 分区不可以在逻辑卷组上,否则bootloader会无法读取.

阅读全文 »

sftp 是 Secure File Transfer Protocol 的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP 为 SSH 的一部分,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的 FTP 要低得多,如果您对网络安全性要求更高时,可以使用 SFTP 代替 FTP。默认ssh启用了sftp,只要可登陆系统的用户(/bin/bash)就可登陆,登陆后目录无限制,可任意切换其他目录。为了安全起见,可以配置sshd以限制sftp登录用户的权限。最好将登陆后用户限制在指定目录,无法切换到外部目录

阅读全文 »