个人笔记页面
#Linux重启蓝牙与音频服务(修复蓝牙服务问题)
sudo systemctl restart bluetooth.service ; systemctl --user restart pipewire pipewire-pulse wireplumber
设置 ttyUSB 权限(修复 Arduino 无法访问串口模块)
sudo chmod a+rw /dev/ttyUSB0
将 Python 运行目录设置为当前目录(修复 mkdocs 找不到文件)
export PYTHONPATH=$PYTHONPATH:.
使用 rsync 复制文件保留权限和时间戳(代替cp -a)
rsync -avH /path/to/source /path/to/dest
安装 Grub
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
输出最常用的 10 条命令
history | awk ' {print $2}' | sort | uniq -c | sort -nr | head -50
使用 reflector 生成国区镜像列表
sudo reflector --sort rate --threads 100 -c China --save /etc/pacman.d/mirrorlist
获取占用储存空间最大的软件包
# 方法一
pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -hr | head -25
# 方法二
expac -H M '%m %n' | sort -h | tail -n 20 | tac
删除所有不被依赖的软件包
# 方法一
paru -Rsns $(paru -Qdtq)
# 方法二(分批)
paru -Qdtq | paru -R -
查找某个文件属于哪个软件包
pkgfile glib.h
压缩解压打包解包
tar -cvf dest.tar source0 source1
tar -xvf source.tar -C dest
tar -zcvf dest.tar.gz dir1 file1
tar -zxvf source.tar.gz -C dest
tar -Jcvf dest.tar.xz dir1 file1
tar -Jxvf source.tar.xz -C dest
zip -r dest.zip dir1
unzip source.zip
7z a dest.7z dir1 file1
7z x source.7z -o dest
gzip -k source
gzip -dc source.gz > /path/to/dest
xz -k source
xz -dc source.xz > /path/to/dest
Arch 初始配置
pacstrap /mnt base linux linux-firmware networkmanager neovim sudo zsh
genfstab -U /mnt > /mnt/etc/fstab
arch-chroot /mnt
echo zyf_arch_vm > /etc/hostname
echo 127.0.0.1 localhost > /etc/hosts
echo ::1 localhost >> /etc/hosts
echo 127.0.0.1 zyf_arch_vm.localdomain zyf_arch_vm >> /etc/hosts
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
vim /etc/locale.gen # 取消注释 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
useradd -m -G wheel -s /bin/bash zyf
passwd zyf
# 取消注释 /etc/sudoers 中的 %wheel ALL=(ALL) ALL
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ARCH
grub-mkconfig -o /boot/grub/grub.cfg
exit
umount -R /mnt
reboot
常用环境变量
# 1. 国际化与输入法
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export LC_ALL='en_US.UTF-8'
# 2. 环境变量
export PATH="$HOME/.local/bin:$HOME/bin:$HOME/.cargo/bin:$HOME/.dotnet/tools:$PATH"
export CARGO_HOME="$HOME/.cargo"
export PNPM_HOME="$HOME/.local/share/pnpm"
export EDITOR='lvim'
# 3. 代理配置
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
# 4. Rust镜像
export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
# 5. Conda初始化
__conda_setup="$('/home/zyf/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
[ -f "/home/zyf/miniconda3/etc/profile.d/conda.sh" ] && . "/home/zyf/miniconda3/etc/profile.d/conda.sh"
fi
unset __conda_setup
# 6. SSH密钥
if [ -z "$SSH_AUTH_SOCK" ]; then
eval "$(ssh-agent -s)" > /dev/null
fi
ssh-add ~/.ssh/id_ed25519 > /dev/null 2>&1 # 静默加载
# 7. 3.jetbra.in
___MY_VMOPTIONS_SHELL_FILE="${HOME}/.jetbrains.vmoptions.sh"; [ -f "$___MY_VMOPTIONS_SHELL_FILE" ] && . "$___MY_VMOPTIONS_SHELL_FILE"