
开此篇用于记录平时的一些小技巧小错误
Linux系列
个性化
1 | PS1="\[\033[1;35m\][\u@\h \W]\$\[\033[1;34m\]" |
vim安装
vim编辑器需要安装三个包:
1 | vim-X11-7.4.629-6.el7.x86_64 |
- 查看一下你本机已经存在的包,确认一下你的VIM是否已经安装:输入
rpm -qa|grep vim
,如果vim已经正确安装,则会显示上面四个包的名称 - 如果缺少了其中某个,比如说:vim-enhanced这个包少了,执行:
yum -y install vim-enhanced
- 如果上面包一个都没有显示,则直接输入命令:
yum -y install vim*
即可
Docker系列
Docker安装
1 | curl -fsSL https://get.docker.com -o get-docker.sh |
自启动systemctl enable docker
Docker使用代理
在执行docker pull
时,是由守护进程dockerd
来执行。因此,代理需要配在dockerd
的环境中。而这个环境,则是受systemd
所管控,因此实际是systemd
的配置.
1 | mkdir -p /etc/systemd/system/docker.service.d |
在这个proxy.conf
文件(可以是任意*.conf的形式)中,添加以下内容:
1 | [Service] |
其中,proxy.example.com:8080
要换成可用的免密代理。
重启生效
代理配置完成后,reboot 重启当然可以生效,但不重启也行.
docker build
代理是在执行前设置的,所以修改后,下次执行立即生效。Container
代理的修改也是立即生效的,但是只针对以后启动的Container
,对 已经启动 的Container
无效。
docker
代理的修改比较特殊,它实际上是改systemd
的配置,因此需要重载systemd
并重启docker
才能生效。
1 | systemctl daemon-reload |
代理系列
linux使用代理
一般情况下
1 | # 只作用于当前终端中, 不影响环境 |
特殊情况
有的应用即使设置了代理也不会走代理 需要用到proxychains4 下面介绍
linux命令行代理神器-proxychains-ng
ProxyChains是Linux和其他Unix下的代理工具。 它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器, 并且可配置多个代理。 ProxyChains通过一个用户定义的代理列表强制连接指定的应用程序, 直接断开接收方和发送方的连接。
ProxyChains 是一个强制应用的 TCP 连接通过代理的工具,支持 Tor、HTTP、与 Socks 代理。与 sshuttle 不同的是,ProxyChains 只会将当前应用的 TCP 连接转发至代理,而非全局代理。
官方文档 Wiki
安装
1 | # 需要一个可用的 C 编译器,最好是 gcc |
Ubuntu、Deepin 直接apt install proxychains4
即可
配置
安装完毕之后需要设置代理配置:
ProxyChains 的配置文件位于 /etc/proxychains4.conf ,打开后你需要在末尾添加你使用的代理。
1 | [ProxyList] |
eg
1 | proxychains4 curl myip.ipip.net |
测试带宽
speedtest
比较简单 安装使用即可
- 安装
apt install speedtest-cli
- 使用
speedtest
- 测试科学上网速度
proxychains4 speedtest
iperf
测试内网路由器的速度的极限
iperf 官网
代挂系列
懒得折腾可以私我上车 q2501375882 Telegram
qinglong安装
安装
1 | docker run -dit \ |
第一个5700端口是指本机端口可以修改,第二个不可修改。
依赖
nodejs依赖
png-js
date-fns
axios
dotenv
got
crypto-js
md5
ts-md5
tslib
@types/node
requests
tough-cookie
jsdom
download
tunnel
ws
js-base64
qrcode-terminal
moment
form-data
fs
ds
silly-datetime
python依赖
PyExecJS
bs4
redis
requests
Tomli
python-dotenv
安装python依赖一直失败解决方法:
容器内执行以下命令后重新安装curl -sS https://bootstrap.pypa.io/get-pip.py | python3
如果没反应就多等一会, 或者设置系统代理,再或者下载下py到本地上传到容器中 设置代理执行这个脚本
安装nodejs依赖一直失败解决方法:
两种方法
- 容器内给npm设置代理
- 更换淘宝源
使用以下命令来为Node设置代理:
1 | npm config set proxy http://proxy.server.com:port |
将http://proxy.server.com:port
替换为您实际的代理服务器地址和端口号。
如果您需要身份验证才能连接代理服务器,可以使用以下命令设置用户名和密码:
1 | npm config set proxy http://username:password@proxy.server.com:port |
查看Node使用的代理:
1 | npm config get proxy |
如果这些命令返回空,那么Node没有配置任何代理。如果代理已配置,则命令将返回代理的URL。
Pro安装
- 先执行
mkdir /root/pro && cd /root/pro
- 创建容器授权许可自行解决
1
2
3
4
5
6
7
8
9docker run -id \
--name pro -p 5701:5016 \
-v "$(pwd)":/app/Data \
-e Prolic=授权码 \
-e User=用户名 \
-e Pwd=密码 \
--restart unless-stopped \
--privileged=true \
nolanhzy/pro:latest
更新:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once pro
科学上网系列
Clash安装使用
1 | mkdir Clash && cd Clash && mkdir UI |
创建Clash文件夹后需要放入配置文件
可以使用clash作者自带的面板 看个人, 我使用的是yacd的面板
下载后解压放入UI,然后docker restart Clash
即可
clash端口相关配置
1 | # Port of HTTP(S) proxy server on the local end |
挂载硬盘
dev目录
/dev
是 Linux 系统中的一个特殊目录,用于存储设备文件。在 Linux 中,一切设备都被视为文件,包括硬盘、分区、磁盘、终端、打印机、输入设备等等。这些设备文件位于/dev
目录下,以方便系统和应用程序与设备进行交互。
当你插入一个新的硬件设备(如硬盘、USB 设备、光驱等)时,系统会自动在 /dev
目录下创建相应的设备文件,以便系统能够识别和使用这些设备。这些设备文件通常以 sd
或 hd
开头,后面跟上字母和数字的组合,用来标识不同的设备和分区。
例如:
/dev/sda
表示第一个 SATA 硬盘设备。/dev/sdb
表示第二个 SATA 硬盘设备。/dev/sda1
表示第一个 SATA 硬盘设备的第一个分区。/dev/sda2
表示第一个 SATA 硬盘设备的第二个分区。/dev/sdb1
表示第二个 SATA 硬盘设备的第一个分区。
类似的,其他类型的设备也有相应的设备文件,例如:
/dev/tty
表示终端设备。/dev/lp0
表示打印机设备。
通过读写这些设备文件,应用程序和系统可以与硬件设备进行交互,读取和写入数据,实现硬件设备的控制和管理。
总之,/dev
目录是 Linux 系统中用于存储设备文件的特殊目录,为系统提供了一种统一的方式来访问和管理各种硬件设备。
挂载
在 Linux 中挂载硬盘需要以下几个步骤:
插入硬盘:如果你要挂载的是外部硬盘或 USB 存储设备,首先要将硬盘插入到计算机的 USB 接口或其他硬盘接口上。
查看硬盘信息:插入硬盘后,使用以下命令查看硬盘的信息,包括硬盘设备名称和分区信息:
1 | sudo fdisk -l |
- 创建挂载点:在 Linux 中,你需要选择一个目录作为挂载点,这将成为你访问硬盘内容的入口。可以在
/mnt
或/media
目录下创建一个新的子目录作为挂载点,例如:
1 | sudo mkdir /mnt/my_hard_drive |
- 挂载硬盘:使用
mount
命令将硬盘挂载到刚刚创建的挂载点上。假设硬盘设备名称是/dev/sdb1
,可以执行以下命令:
1 | sudo mount /dev/sdb1 /mnt/my_hard_drive |
请注意,如果硬盘已经被挂载到其他目录,或者正在使用中,将无法成功挂载到新的挂载点。在这种情况下,需要先卸载之前的挂载点,然后再进行挂载。
- 验证挂载:使用以下命令可以验证硬盘是否成功挂载到指定的挂载点:
1 | df -h |
这个命令会显示已挂载的文件系统列表,你应该能够在列表中看到刚刚挂载的硬盘。
- 自动挂载:如果你希望系统在每次启动时自动挂载硬盘,可以将挂载信息添加到
/etc/fstab
文件中。编辑这个文件,添加类似以下的一行内容:
1 | /dev/sdb1 /mnt/my_hard_drive ext4 defaults 0 0 |
保存并退出 /etc/fstab
文件后,重启系统,硬盘应该会自动挂载到指定的挂载点。
以上就是在 Linux 中挂载硬盘的基本步骤。请注意,在挂载和卸载硬盘时,务必小心操作,确保没有数据丢失或损坏。如果你对硬盘的分区和文件系统不熟悉,建议提前备份任何重要数据并谨慎操作。
卸载
在 Linux 中,要卸载(取消挂载)已经挂载的硬盘或分区,可以使用 umount
命令。请按照以下步骤进行:
确定挂载点:首先,你需要知道硬盘或分区挂载的目录,也就是挂载点。你可以使用
mount
命令或df
命令查看已挂载的文件系统和挂载点:1
mount
或者
1
df -h
上述命令会显示已挂载的文件系统列表,包括挂载点信息。
卸载硬盘或分区:使用
umount
命令卸载硬盘或分区。假设你的硬盘挂载在/mnt/my_hard_drive
目录下,可以执行以下命令:1
sudo umount /mnt/my_hard_drive
注意,需要使用
sudo
或以 root 权限运行该命令,以确保具有卸载的权限。验证卸载:执行
mount
命令或df
命令来验证硬盘是否成功卸载:1
mount
或者
1
df -h
如果硬盘已成功卸载,将不再显示在已挂载的文件系统列表中。
请注意,在执行 umount
命令前,确保没有进程在使用挂载点下的文件,否则卸载会失败。如果系统提示挂载点正在被使用,你可以通过 lsof
命令来查看哪些进程正在使用该挂载点:
1 | sudo lsof /mnt/my_hard_drive |
然后可以选择关闭相关进程或等待它们完成后再尝试卸载。
总结:卸载硬盘或分区使用 umount
命令,确保没有进程在使用挂载点,使用 mount
或 df
命令验证卸载结果。如果有进程在使用挂载点,需要先关闭相关进程或等待它们完成。
lsblk
lsblk
是一个 Linux 命令,用于列出块设备信息,包括硬盘、分区和其他存储设备。它提供了一个简洁的方式来查看系统中所有块设备的层次结构和相关信息。
使用 lsblk
命令可以查看以下信息:
NAME:块设备的名称,例如
/dev/sda
表示第一个 SATA 硬盘设备。MAJ:MIN:设备的主设备号和次设备号,这些数字用于内核识别和管理设备。
RM:设备的类型,RM = 0 表示是一个可移动设备,RM = 1 表示是一个固定设备。
SIZE:设备的大小,显示设备的容量大小。
RO:设备的只读状态,RO = 1 表示设备为只读状态,RO = 0 表示设备可读可写。
MOUNTPOINT:设备的挂载点,如果设备已经挂载,将显示挂载点的路径;否则显示为空。
以下是一个 lsblk
命令的示例输出:
1 | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT |
在上述示例中,lsblk
命令列出了两个块设备:sda
和 sdb
。其中,sda
是第一个 SATA 硬盘设备,sdb
是第二个 SATA 硬盘设备。sda
硬盘包含多个分区,每个分区都有一个唯一的名称,例如 sda1
、sda2
等。每个分区都可以挂载到不同的挂载点,如 /boot/efi
、/
、/home
等。
通过 lsblk
命令,你可以快速了解系统中的硬盘和分区情况,以及它们的挂载状态和容量大小等信息,有助于进行硬件设备的管理和配置。
Markdown系列
基本使用
小问题
代码块可以用```包裹,但是结尾的```不要加两空格用来换行,会乱,直接回车!

- []内文本只有在图片无法正常显示时候才会显示出来,正常情况下是看不到的。如果插入的图片较多,利用图片说明文字可以在图片显示出错时快速定位出问题的是哪张图片。
- 可选标题是在鼠标悬停在图片上时显示的文字
Windows系列
W10 LSTC 2021版本 安装应用商店
管理员身份打开Powershell
输入命令行wsreset -i
等待一分钟
点击左下角win,应该显示新安装store
待续….
Python
代码打包
使用PyInstaller
库打包
1 | cd 目录 |
- 执行完上述命令后,
PyInstaller
库会将你的 Python 代码、所依赖的库和资源文件打包成一个独立的可执行文件。打包生成的可执行文件将会出现在一个名为dist
的子目录中。其中 your_icon.ico 是你希望添加到 exe 文件中的图标文件,在dist
目录下你会发现一个名为 your_script.exe 的可执行文件,它就是你的Python
代码的独立可执行文件。
你可以使用以下方法来给打包的 exe 文件添加自己的图标并去除黑窗口。
添加自己的图标
添加自己的图标可以通过在 PyInstaller 打包命令中添加
--icon
选项来实现。例如:1
pyinstaller --onefile --icon=your_icon.ico your_script.py
其中
your_icon.ico
是你希望添加到 exe 文件中的图标文件。去除黑窗口
在 Windows 平台下,Exe 文件一运行就会弹出一个命令行窗口,如果你不希望出现这个窗口,可以添加
-w
或--windowed
参数,这将启用 pyinstaller 库的 GUI 窗口模式。例如:1
pyinstaller --onefile --icon=your_icon.ico --windowed your_script.py
注意:在使用了
-w
参数启用 GUI 模式后,你的 Python 代码必须是全局作用域下的窗口应用程序。如果你的代码没有窗口界面,那么这个选项对其没有影响。另外,你也可以尝试在你的代码中添加下面这行。它可以帮助 Python 隐藏命令行窗口。
1
2import os
os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = '1'PS: 这种方式可能会与您的代码中使用的库发生冲突,因此不是每个人都能成功。