实用命令和技巧

实用命令和技巧

终端连接 wifi

  1. 列出网卡设备nmcli d

  2. Enable WiFi (if disabled): Use nmcli r wifi on

  3. scan for wifi networks: sudo iwlist scan

  4. List available networks: Use nmcli d wifi list to see a list of SSIDs, security types, and signal strength.

  5. Connect to a network:

    # 二选一:
    sudo nmcli --ask device wifi connect <SSID> # 询问密码
    sudo nmcli d wifi connect <SSID> password <password> # 直接指定密码

压缩

# 压缩为 tar.xz
# -T16: 使用16个线程压缩,0 表示使用所有可用的 CPU 核心
# -v: 启用详细模式,显示压缩进度和详细信息
# -9: 设置压缩级别为9(范围:0-9, 默认为 6)
tar -I 'xz -T0 -v -9' -cf output.tar.xz file1 folder1

# 压缩为 tar.zst,压缩等级选择范围:1-19, Default: 3
tar -I 'zstd -T0 -v -19' -cf output.tar.zst file1 folder1

# 解压(自动识别格式)
tar -xaf output.tar.xz

# 测试当前目录的压缩率和压缩速度
tar -cf - . | pv -ra | zstd -T16 -v -15 > /dev/null 

将本地文件(夹)打包压缩并通过 ssh 传输到服务器

# 使用 zstd
tar -I 'zstd -T16 -19 -v' -cf - my_folder | ssh user@host "cat > Documents/my_folder.tar.zst"

# 使用 xz
tar -I 'xz -T16 -9 -v' -cf - my_folder | ssh user@host "cat > Documents/my_folder.tar.xz"

将本地文件(夹)传输到服务器,自动压缩解压以节省带宽和时间

方法一:使用 rsync(推荐,更方便且支持断点续传)

rsync -aPz ssh my_folder/ user@host:Documents/my_folder/

方法二:使用 tar 和 ssh(可手动指定压缩算法和等级)

# 从本地传到服务器
# 使用 zstd
tar -I 'zstd -T0 -v --adapt' -cf - my_folder | ssh user@host "tar -I 'zstd' -xf - -C Documents/my_folder"

# 使用 xz
tar -I 'xz -T16 -v' -cf - my_folder | ssh user@host "tar -I 'xz' -xf - -C Documents/my_folder"

# 从服务器传到本地
ssh user@host "tar -I 'zstd -T0 -v --adapt' -cf - /path/to/server_folder" | tar -I 'zstd' -xf - -C ~/local

关闭图形界面

# 关闭图形界面
sudo systemctl isolate multi-user.target

# 开启图形界面
sudo systemctl isolate graphical.target

Arch Linux/Manjaro 包管理器

以下命令中,parusudo pacman 应该都可以互换

paru 还可以安装 AUR 仓库中的软件

paru -Rns package_name # 删除软件,配置文件,依赖
paru -Qdt # 列出孤包
sudo pacman -U /path/to/package/package_name-version.pkg.tar.zst # 安装本地包
sudo pacman -U http://www.example.com/repo/example.pkg.tar.zst # 安装远程包(指定网址)

查询一个包含具体文件的包名

paru -Fy # 同步文件数据库
paru -F libcrypto.so.1.1 # 查找某个文件在哪个包里(报缺失 .so 错误时很有用)

tmux

启用鼠标:

方法一(临时):

Ctrl+B, 输入:set -g mouse

方法二(永久):

vim ~/.tmux.conf
# 在文件中写入
set-option -g mouse on

强制 OpenGL 使用软件渲染

LIBGL_ALWAYS_SOFTWARE=1 <cmd>
# 或者
QT_XCB_FORCE_SOFTWARE_OPENGL=1 <cmd>

使 Qt 程序以 x11 运行

在终端中

QT_QPA_PLATFORM=xcb <your_app>

在 desktop 文件中配置

以 yakuake 为例:

cp /usr/share/applications/org.kde.yakuake.desktop ~/.local/share/applications/

Then open ~/.local/share/applications/org.kde.yakuake.desktop file with your favourite text editor, find the line:

Exec=yakuake

Change it to:

Exec=env QT_QPA_PLATFORM=xcb yakuake

Now restart the app.

参考自 Workaround for yakuake in Wayland : r/kde

远程点亮电脑屏幕

适用于 Wayland + KDE 的环境

export XDG_RUNTIME_DIR=/run/user/$(id -u)
export WAYLAND_DISPLAY=wayland-0
export QT_QPA_PLATFORM=wayland
kscreen-doctor --dpms on

或者使用这个脚本(原理相同):wake_screen.sh