1. 清空当前屏幕内容
clear
2. 清除本次终端历史但下次启动仍留存
history -c
3 彻底清除
nano ~/.bash_profile或nano ~/.bashrc
export HISTSIZE=0
export HISTFILESIZE=0
或者
rm ~/.bash_history
1. 清空当前屏幕内容
clear
2. 清除本次终端历史但下次启动仍留存
history -c
3 彻底清除
nano ~/.bash_profile或nano ~/.bashrc
export HISTSIZE=0
export HISTFILESIZE=0
或者
rm ~/.bash_history
berry Pi OS Lite第一次启动的过程中可以看到,它是不会让你选择语言和区域的,默认给你选择了英语和英国,键盘布局也默认给你设置成了UK(英国),而我们中国用的键盘是中国布局(与US(美国)布局是一样的)。
下面我们来看一下,英国键盘布局和中国(美国)键盘的布局的差异就可以看到为什么 会出现#变成£、 | 变成 ~、~变成¬的情况了,注意这三个键在英式键盘里是哪几个字符:-)
那么解决方案自然也很简单,就是把键盘布局从英式改成中国就可以了。
下面几个图,表述了如何通过raspi-config这个工具,修改键盘布局为正确的中国。
第一步,sudo raspi-config,回车
第二步,用上下键选择4 localisation options,按回车键确认
第三步,用上下键选择L3 Change Keyboard layout,按回车键确认
第四步,选择Generic 104-key PC,按回车键确认
第五步,选择other,按回车键确认
第六步,选择Chinese,按回车键确认
第七步,选择Chinese,按回车键确认
第八步,选择The default for the keyboard layout,按回车键确认
第九步,选择no compose key(没有组合键),按回车键确认
然后会回到第二步,用TAB键选择Finish按回车键确认退出,重启就可以快乐的输入~#| 啦
https://blog.csdn.net/meihualing/article/details/110819538
基础知识
在Linux系统中,主要是通过设置locale来设置语言环境。
locale中有各种各样的参数,在这里为大家介绍几个常见的:
参数 意义
LANG 所有LC_*变量的默认值。即只要有LC_开头的变量参数值为空,那么将以LANG参数的值进行赋值,否则以原参数值为准。
LANGUAGE 设置应用程序的界面语言(例如程序的各种输出)
LC_CTYPE 控制所有字符的处理方式,包括字符编码、单字节or多字节等。
LC_ALL 若此参数非空,那么所有的LC_*变量都将被设置为此参数值(直接覆盖)。
locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。
基础命令
locale
会显示目前的locale配置
详细步骤
操作前必看
1.首先明确自己的需求
如果只需要解决文本编辑器内的中文乱码问题,而保持操作系统的语言(默认是英语)不变,则只需要修改LC_CTYPE参数即可
如果想直接把整个操作系统都设置成中文,也是只需要修改LC_ALL 参数即可
2.检查系统内是否有相应的字符集
查看当前系统中所有可用的locale
locale -a
重点查找有没有我们需要的那个。(中文常用的为 zh_CN.utf8)
如果我们想要的字符集缺失,按照下列步骤操作
首先安装语言环境库:
sudo apt install locales
然后打开语言环境列表:
sudo dpkg-reconfigure locales
我们会跳转到类似这个界面,选择我们想要的那个字符集就行。
选择好后就会自动生成了
方法一:临时修改
我们以只解决文本编辑器内的中文乱码问题为例,若要修改整个操作系统,将下面的LC_CTYPE改成LC_ALL即可。
修改LC_CTYPE参数为中文
export LC_CTYPE="zh_CN.utf-8"
更新配置
source /etc/bash.bashrc
注意:重启或打开一个新的终端后,将重新回到原始的locale配置。
方法二:永久修改
我们以只解决文本编辑器内的中文乱码问题为例,若要修改整个操作系统,将下面的LC_CTYPE改成LC_ALL即可。
此方法的核心原理是:将方法一中的export命令添加到~/.bashrc文件中。
补充知识点: ~/.bashrc 是一个配置文件,每次启动一个新的终端时, ~/.bashrc 会被自动执行
打开 ~/.bashrc 文件
nano ~/.bashrc
将下列命令添加到文件末尾
export LC_CTYPE="zh_CN.utf-8"
更新配置
source ~/.bashrc
https://blog.csdn.net/qq_73162098/article/details/145167511
1. 设置系统编码UTF-8
sudo dpkg-reconfigure locales
用空格键选择zh_CN.UTF-8和en_US.UTF-8,接下来选择en_US.UTF-8作为系统默认编码。
2. 选择控制台字体
sudo dpkg-reconfigure console-setup
选择编码UTF-8
选择字符集Guess optimal character set(猜测最佳字符集),接着选择字体,Let the system select a suitable font,接下来选择字体大小,16X32(framebuffer only)
3. 乱码的处理
若在控制台操作过程中出现乱码,说明所选字体没有文本中相应的字符。需要安装或选择新的字体。
3.1 查看字体
ls /usr/share/fonts/truetype
3.2 利用fabterm选用字体
fbterm -s fontsize -n "font name"
特别的,对于IPA音标,28号LiberationMono-Regular可以较好的显示。
3.3 利用zhcon或kmscon来显示控制台
zhcon支持中文输入法
3.4 几个关于字体的命令:
安装某种字体
sudo install apt-get fontname
使得新安装字体生效
fc-cache -fv
查找默认字体
fc-match serif
fc-match sans-serif
fc-match monospace
显示字体列表
fc-list|grep noto
1. 编写 systemd 服务脚本
1.1 在 /lib/systemd/system/ 目录下创建 clash@.service 文件
sudo vim /lib/systemd/system/clash@.service
1.2 写入以下内容(不用修改)并保存:
[Unit]
Description=A rule based proxy in Go for %i.
After=network.target
[Service]
Type=simple
User=%i
Restart=on-abort
ExecStart=/usr/bin/clash
[Install]
WantedBy=multi-user.target
2 为用户帐户运行 clash 系统实例
2.1 重新加载 systemd 模块
systemctl daemon-reload
2.2 启动 clash 服务
user 表示的是当前用户名
systemctl start clash@user
例如:
systemctl start clash@sitoi
2.3 设置开机自启
systemctl enable clash@user
2.4 问题
权限不足
修改 selinux 成被动模式
sudo vim /etc/sysconfig/selinux
SELINUX=permissive
GitHub - Sitoi/SystemdClash: Clash 以 systemd 服务的方式开机自启
https://github.com/Sitoi/SystemdClash
当python代码中包含两种以上编码方式时,会出现此错误,需要另存为带签名的UTF-8编码格式。
在控制台输入 python --version,系统提示python 3.9.6,表示Python解释器安装成功。
在控制台输入 pip --version,系统提示pip 21.1.3。。。。。。,表示包管理器安装成功。
社区版Community对于我们一般数据挖掘上足够用了。
一,安装Python环境
树莓派系统自带python,可以python --version确认是否安装。
二, 配置 OpenAI 环境变量
1. 在当前用户的根目录创建文件.env。
touch ~/.env
.env的文件内容位:
OPENAI_API_KEY="sk-xxx"
OPENAI_BASE_URL="https://api.fe8.cn/v1"
sk-xxx 使用自己的 key 替换,OPENAI_BASE_URL是访问 OpenAI 的国内代理跳板。
2. 安装项目依赖的包python-dotenv
pip install python-dotenv openai
三, 创建python源代码文件
# -*- coding: utf-8 -*-
# 通过环境变量调用OpenAI API密钥
import os
from openai import OpenAI
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client = OpenAI()
# 定义初始对话历史
conversation_history = [
{'role': 'system', 'content': 'You are a helpful assistant.'}
]
# 循环交互
while True:
# 处理用户输入
user_input = input("User: ")
# 将用户输入添加到对话历史中
conversation_history.append({'role': 'user', 'content': user_input})
# 发送聊天请求
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=conversation_history,
max_tokens=100,
n=1,
stop=None,
temperature=0.7
)
# 获取助手的回复
assistant_reply = response.choices[0].message.content
# 打印助手的回复
print("Assistant:", assistant_reply)
# 将助手的回复添加到对话历史中
conversation_history.append({'role': 'assistant', 'content': assistant_reply})
# 检查用户是否选择退出循环
if user_input.lower() == 'exit':
break
四, 如果使用官方 OpenAI key (自己去OpenAI官方注册的key)
使用 OpenAI 的官方 key,需要畅通访问 OpenAI 的网络
需修改 .env 文件里的 OPENAI_API_KEY 为你自己的 key,并删除 OPENAI_BASE_URL
如果你需要通过代理访问 OpenAI,那么需要配置 OPENAI_BASE_URL 为你的代理地址。
在 Manjaro 22、Ubuntu 23.04、Fedora 38 等最新的linux发行版中运行pip install时,通常会收到一个错误提示:error: externally-managed-environment,即“外部管理环境”错误,但这不是一个 bug。外部管理环境”错误背后的原因:Manjaro 22、Ubuntu 23.04、Fedora 38 以及其他的最新发行版中,正在使用 Python 包来实现此增强功能。这个更新是为了避免「操作系统包管理器 (如pacman、yum、apt) 和 pip 等特定于 Python 的包管理工具之间的冲突」。这些冲突包括 Python 级 API 不兼容和文件所有权冲突。
方案一、(粗暴) 去掉这个提示
强制删除此警告,回归到熟悉的操作。
将 “x” 替换为实际版本。
sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk
和之前一样,现在您可以直接运行 pip(3) install package_name 命令来安装python模块。
方案二、(推荐) 使用pipx
您在上面看到的涉及手动工作。Pipx 使其自动化。
它会自动为您安装的每个应用程序创建一个新的虚拟环境。不仅。它还在 中创建指向它的链接.local/bin。这样,安装该软件包的用户就可以从命令行中的任何位置运行它。
我想这就是大多数桌面 Linux 用户想要的。
使用以下命令在 Ubuntu 上安装 pipx:
sudo apt install pipx
它可能会安装大量的依赖项:
现在将其添加到 PATH 中,以便您可以从任何地方运行。
pipx ensurepath
提示:
您必须关闭终端并重新登录才能发生更改。
现在我们可以使用 Pipx 而不是 Pip 安装 Python 包:
pipx install package_name
提示:
要删除使用 pipx 安装的软件包,请使用 pipx uninstall package_name 命令。
https://www.yaolong.net/article/pip-externally-managed-environment/
下载 clash
因为我的树莓派装的是官方最新的 64 位 raspberry os,所以这里选择mihomo-linux-arm64-alpha-0ab73a9.gz下载,如果是32位版本则下载mihomo-linux-armv7。因为自身系统的不同与项目 release 的不断更新,这里仅供参考。
安装 clash
将下载得到的压缩包,上传到树莓派文件系统中任意位置(反正后面会移动到指定位置)。
解压并重命名为 clash
gzip -d -f mihomo-linux-arm64-alpha-0ab73a9.gz
mv mihomo-linux-arm64-alpha-0ab73a9 mihomo
添加可以执行权限
chmod +x mihomo
查看是否安装成功
./mihomo -v
#出现以下类似信息则安装成功
#Mihomo Meta alpha-0ab73a9 linux arm64 with go1.21.5 Thu Dec 14 02:20:06 UTC 2023
添加 config.yaml 与 country.mmdb 文件
此时的 mihomo 是不能正常工作的,因为没有 config.yaml 配置文件
在您安装 clash 的目录下运行mihomo
输入 clash 会自动生成配置文件,在~/.config/mihomo 目录
cd ~/.config/mihomo && ls
将你windows系统上Clash.Nyanpasu右键图标里配置相关文件夹里的config.yaml、country.mmdb、geosite.dat、geoip.dat覆盖原有的文件。
配置 raspi-config
sudo raspi-config
找到 6 Advanced Options 回车进入
选择 A3 Network Proxy Settings 进入
选择 P1 All 填入 http://127.0.0.1:7890
Ok 确认 Finish 确认然后选择 reboot 重启设备
进入终端输入 clash 启动。
也可以在Linux命令行中设置代理,可以通过设置环境变量http_proxy和https_proxy来实现:
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
输入 echo $http_proxy 和 echo $https_proxy 命令,然后回车查看,以确保代理已经正确设置。
如果需要取消代理,可以使用以下命令:
unset http_proxy
unset https_proxy
https://blog.panda74.fun/blog/practice/raspi/clash
在Linux系统中,将文档变为可执行命令主要有两种方法:通过chmod命令修改文档权限和通过将文档添加至环境变量的路径中。
1. 通过chmod命令修改文档权限:
首先,通过cd命令进入到文档所在的目录。
然后,可以使用chmod命令修改文档的权限,使其具有可执行权限。命令格式为:chmod +x 文档名。例如:chmod +x file.sh。
最后,通过./加上文档名执行该命令。例如:./file.sh。
2. 将文档添加至环境变量的路径中:
首先,通过cd命令进入到文档所在的目录。
然后,可以使用echo命令查看系统环境变量的值,确定可执行文档所需要添加的路径。例如:echo $PATH。
接下来,可以使用export命令将文档所在的路径添加至环境变量中。命令格式为:export PATH=$PATH:文档路径。例如:export PATH=$PATH:/home/user/script。
最后,可以直接在终端中输入文档名执行该命令,而不需要加上文档路径。例如:file.sh。
3. 为了避免每次都需要输入文档的路径才能执行命令,可以将可执行文档移动到系统的可执行目录下。
首先,通过cd命令进入到文档所在的目录。
然后,可以使用sudo命令以管理员身份执行命令,将文档移动到/usr/local/bin目录下。命令格式为:sudo mv 文档名 /usr/local/bin/。例如:sudo mv file.sh /usr/local/bin/。
接下来,可以直接在终端中输入文档名执行该命令,而不需要加上文档路径。例如:file.sh。
4. 可以使用ln命令来创建符号链接,将可执行文档链接到系统的可执行目录下。
首先,通过cd命令进入到文档所在的目录。
然后,可以使用sudo命令以管理员身份执行命令,创建符号链接。命令格式为:sudo ln -s 文档路径 /usr/local/bin/。例如:sudo ln -s /home/user/script/file.sh /usr/local/bin/file.sh。
最后,可以直接在终端中输入文档名执行该命令,而不需要加上文档路径。例如:file。
5. 在编写文档时,可以在文档开头添加shebang行,指定解释器,使文档可以直接执行。
首先,在文档的第一行添加shebang行,例如:#!/bin/bash。
然后,通过chmod命令修改文档权限,使其具有可执行权限。命令格式为:chmod +x 文档名。例如:sudo chmod +x file.sh。
最后,通过./加上文档名执行该命令。例如:./file.sh。
以上是将文档变为可执行命令的几种方法,在Linux系统中可以灵活地使用这些方法根据具体情况来处理和执行文档。
https://worktile.com/kb/ask/474285.html
1. 创建脚本文件
首先,需要创建一个脚本文件,用于编写批处理命令。可以使用文本编辑器(如vi或nano)创建一个新的文本文件,并将其保存为.sh扩展名(表示为脚本文件)。
例如,可以使用以下命令创建一个名为script.sh的脚本文件:
nano script.sh
在脚本文件中,可以编写需要执行的一系列命令。每个命令占用一行,并以换行符(\n)分隔。
例如,下面是一个简单的脚本文件示例,用于打印当前时间和日期:
#!/bin/bash
echo “当前时间是:”
date
2. 编写批处理命令
在脚本文件中,可以按照需要编写需要执行的一系列命令。
例如,假设需要在执行脚本命令时打印当前登录用户的用户名,可以添加以下命令:
#!/bin/bash
echo “当前登录的用户是:”
whoami
echo “当前时间是:”
date
3. 保存脚本文件
完成批处理命令的编写后,需要保存脚本文件。
在nano编辑器中,可以使用Ctrl + O保存文件,并使用Ctrl + X退出编辑器。
4. 执行批处理命令
完成脚本文件的保存后,可以使用sh命令或直接执行脚本文件来执行批处理命令。
例如,假设脚本文件名为script.sh,可以使用以下命令执行该脚本文件:
sh script.sh
或者,如果已经将脚本文件设置为可执行,可以直接执行脚本文件:
./script.sh
执行批处理命令后,将按照脚本文件中命令的顺序执行各个命令,并在终端中显示执行结果。
三、批处理命令的实际应用场景
批处理命令在实际的Linux系统管理和任务处理中有着广泛的应用,以下是一些常见的应用场景:
1. 批量处理文件
通过批处理命令可以对目录下的文件进行批量处理,如批量重命名、批量复制、批量删除等。
2. 自动化任务
批处理命令可以将一系列重复的操作自动化,提高工作效率。例如,可以编写一个批处理脚本用于自动备份数据库、清理日志文件等。
3. 系统管理
批处理命令可以用于系统的监控和管理。例如,可以编写一个批处理脚本用于定期检查服务器的状态、清理空间、管理用户账号等。
4. 软件部署和配置
批处理命令可以用于自动化软件的部署和配置。例如,在新服务器上安装软件时,可以编写一个批处理脚本,自动进行安装和配置工作。
https://worktile.com/kb/ask/329106.html#:~:text=batch%E5%91%BD%E4%BB%A4%E6%98%AFLinux%E7%B3%BB%E7%BB%9F,%E6%89%B9%E9%87%8F%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A8%A1%E5%BC%8F%E3%80%82
Step-By-Step Procedure
Prepare the Operating System
We’ll start with a fresh operating system installation. So, start installing Raspberry PI OS Lite. You can also use this with Raspberry PI OS desktop, working from its internal terminal console.
Make the OS up to date. From the terminal:
sudo apt update -y && sudo apt upgrade -y
Identify the USB Microphone Hardware
We’ll use the Linux “lsusb” utility to check if the USB microphone is detected by our Raspberry PI. The “lsusb” is a utility for displaying information about USB buses in the system and the devices connected to them (ref. https://linux.die.net/man/8/lsusb).
Let’s check its output BEFORE plugging the USB microphone. From the terminal, you will have a result similar to the following:
pi@raspberrypi:~ $ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
This result may change depending on the Raspberry PI computer board version and model you’re using (this output is from my Raspberry PI 5 Model B) and these entries are the USB ports.
Please plug in now the USB Microphone. Check again the USB list:
pi@raspberrypi:~ $ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 8086:0808 Intel Corp. USB PnP Sound Device
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
In the previous output, I’ve highlighted the new line that appeared after plugging the USB microphone. This new line means that the external device has been detected from the OS and that Bus 003 Device 002 is my USB microphone.
Test the USB Microphone on Raspberry PI with Arecord
Arecord is a command-line sound recorder, already installed in our Raspberry PI OS Lite.
Let’s check the list of audio input devices and the card ID detected from it with the following terminal command:
pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 2: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
As highlighted in the previous output, my microphone matches the card 2 – device 0 sound device. In the next tests, this card identification will be mapped in the following arecord option: “plughw:2,0“.
Now, we can test a simple recording by typing:
arecord -D plughw:2,0 -d 3 test.wav
This command will perform a voice recording:
using the card 2 – device 0 input equipment (the “-D plughw:2,0” option)
with a duration of 3 seconds (the “-d 3” option)
saving the recording to a file named “test.wav”
The following output will appear:
pi@raspberrypi:~ $ arecord -D plughw:2,0 -d 3 test.wav
Warning: Some sources (like microphones) may produce inaudible results
with 8-bit sampling. Use '-f' argument to increase resolution
e.g. '-f S16_LE'.
Recording WAVE 'test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
Now you can simply check the recorded file by connecting and downloading it with your favourite SFTP software (for example Filezilla) to your Raspberry PI, by setting an SFTP connection (using your RPI user and password).
https://peppe8o.com/use-usb-microphone-with-raspberry-pi-os-lite/
重启 sudo reboot
关机 sudo shutdown -h now
以kiosk模式打开浏览器:xinit /usr/bin/chromium --kiosk
更新软件列表信息: sudo apt-get update
更新软件:sudo apt-get upgrade
如果在chromium浏览器中出现麦克风没有权限,则执行如下命令:
sudo apt-get install pulseaudio pavucontrol
pulseaudio --exit-idle-time=-1 --daemonize