💠

💠 2024-11-21 14:14:59


高效的Linux

Awesome Linux Software

Terminal

终端是用户与Linux的沟通窗口,因此可以完成任意事项。

ttyd
ibraheemdev/modern-unix现代工具合集
cli · GitHub TopicsGithub 终端工具合集
Terminals Are Sexy

终端工具

终端中渲染图片

Manjaro Xfce 使用 sixel: mlterm 或者 konsole

  1. yay libsixel, yay mlterm, mlterm -b ‘#292B2E’ 安装和启动mlterm
  2. 查看图片 img2sixel xx.jpg ImageMagick
  3. 渲染结果图 jagger konsole不支持

Terminal 对比

列举出系统可安装终端

  1. Debian: sudo apt search terminal | grep -E terminal.+amd64
  2. Arch: yay terminal
  3. Github Topic: terminal-emulator

终端可参考功能点: 终端透明化,终端背景图,快捷键设置,终端内颜色自定义,下拉式,标签水平垂直拆分,鼠标键盘交互性,资源占用少 终极工具 Tmux 可以摆脱终端模拟器的对比和选择,选择最简单省资源的模拟器即可

终端 优点 缺点 备注
xiki 鼠标和键盘高度交互
交互性和复杂度比较高
qterminal 设置设计清晰,功能完备 终端内容显示兼容性略有问题 资源消耗中等
xfce4-terminal 配合Xfce启动快,资源消耗少 配置繁琐
gnome-terminal 简洁 资源消耗少 多标签时,标签栏太大,标签页底部有白边;无法透明化 鼠标中键无法复制时需安装 parcellite
mate-terminal 标签栏更简洁,和 gnome-terminal 一致
sakura 外观上和前两个几乎一样,标签页可以更简洁 配置复杂 繁琐
deepin-terminal 功能很多,主题很多,功能最为强大 字体仅可选择内置不可自定义
tilda 内嵌于桌面上, 小命令方便 需要查看文件时不方便
terminology 样式高度自定义
  • tilix
  • vte 支持复制终端输出内容为HTML
  • st 不支持中文,unicode字符支持良好
  • black box
  • Alacritty

备注 sakura xfce4-terminal 快捷键配置

1
2
  (gtk_accel_path "<Actions>/terminal-window/copy" "<Primary>c")
  (gtk_accel_path "<Actions>/terminal-window/paste" "<Primary>v")

现代终端


效率工具

提高工作和开发效率

通知提醒

Desktop notifications | xfce notify-send Desktop Notifications Specification Notification Development Guidelines

Github notify-send.sh

协作工具

synergy

多系统间共享键鼠

scrpy

PC远程操作安卓

scrcpy

USB 连接方式

推荐使用USB连接,这样操作起来比较流畅。手机通过USB连接到PC上,在弹出的USB用途中选择 传输文件(MTP)

WIFI 方式连接

  • 确保PC和手机在同一Wifi中
  • 手机先通过USB与PC相连
  • 在PC上运行 adb tcpip 端口, 令手机开启端口
  • 断开手机和PC的USB连接
  • 在PC上运行 adb connect 手机IP:端口
  • 运行scrcpy

使用技巧

  • 鼠标左键: 模拟点击
  • 鼠标右键/Ctrl+b: 返回上一页
  • Ctrl+s: 切换app
  • 手机录屏: scrcpy –record file.mp4
  • 帮助信息: scrcpy –help
  • 远程成功并关闭设备屏幕: scrcpy –turn-screen-off

目录跳转

Autojump

统计cd 目录,方便目录跳转 *shrc 中要有 : . /usr/share/autojump/autojump.sh

  • apt install autojump 设置为自动运行 echo '. /usr/share/autojump/autojump.sh' >> ~/.bashrc
    • j -v 查看安装版本
    • j --stat 查看统计信息
    • j --help
    • jo code 打开code文件夹
    • jco c 打开子目录
  • ls -l ~/.local/share/autojump/ 统计信息的目录,清除就相当于卸载重装了

z.lua

Github 与 Autojump 类似, 性能更好

  • pip install qrcode
    • qr –help 终端内生成二维码

fd

Simple, fast and user-friendly alternative to find

skim

Fuzzy Finder in Rust!

alias cds='cd $(fd ".*" -t d | sk)' 模糊搜索跳转进目录

xdotool

command-line X11 automation tool 可以控制指定窗口激活关闭,最大最小化,输入快捷键等

将该脚本配置为快捷键后,实现效果:激活已有终端的窗口,或者启动终端

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  #!/bin/bash

  tmd=xfce4-terminal

  PID=$(pgrep -x $tmd)
  if [[ $PID -ne "" ]]
  then
      xdotool windowactivate `xdotool search --pid $PID | tail -1`
  else
      $tmd
  fi

rofi

Github rofi 窗口切换

设置 rofi -show window 快捷键为 右Alt

远程工具

rdesktop and xfreerdp

rdesktop xfreerdp


零散工具集合

通常会安装到 /usr/bin/* 目录下

  • sudo 是需要安装的

    1. alias sudo='sudo' 能够在别名上使用 sudo 神奇
  • md5sum 报文摘要算法 Message-Digest Algorithm 5 的实现

    • printf 'Who?123' | md5sum
    • md5sum file 计算出md5值
    • md5sum -c file.md5 file 和 file.md5 在同一目录下, 执行这个命令就是检查md5是否匹配, 确保文件的完整性和正确性
  • sha1sum sha256sum 用法和 md5sum 一致

  • last 查看Linux登录信息

    • last -n 5 最近五次登录
  • w | uptime 查看启动情况

  • colrm

    • ps | clorm 20 30 colrm 删除输出的20 到30 列
  • figlet 字符转ascii图

  • logkeys 记录键盘输入 Github

  • expect 用于自动输入密码

  • WTF | Github Repo

    • 丰富的功能, 一个方便的终端控制面板
  • when-changed 监控文件变化 执行命令 pip install when-changed

  • dircolors Linux dircolors命令 用于设置 ls 命令输出时的色彩

  • gtypist 用于练习打字

  • watch 周期执行命令并输出

  • uniq 统计出现次数 cat log.log | grep WARN | awk '{print $5}' | sort | uniq -c

  • starDict 终端内字典

  • upx 压缩可执行文件

https://kbumsik.io/using-ipad-as-a-2nd-monitor-on-linux https://snapdensing.com/2020/04/07/ipad-as-an-extended-screen-in-linux/

进程管理

gnome-system-monitor
Supervisor 进程监控管理

剪贴板管理

参考: 面向 Linux 的 10 款最佳剪贴板管理器

  • CopyQ,Manjaro 的 clipman

  • xclip

    • cat README.md | xclip -sel clip 将文件复制到剪贴板
  • xsel

    • cat a.md | xsel -b 将文件所有内容复制到剪贴板 但是处理大文件时会失效 xclip 更有效
  • Clipboard终端操作剪贴板复制粘贴


硬件检测工具

Linux系统硬件信息检测工具hwinfo — Cloud Atlas beta 文档

硬盘

smartmontools

  • 检测健康状况 smartctl -Hc /dev/sda9

文本处理

  • wc 单词 行数 统计
  • ccze 日志高亮
  • lolcat 给输出包装上彩虹颜色 有 c python ruby 版
  • choose 方便的cut

在当前目录下, 快速全文内容搜索

  • ag The Silver Searcher
  • rg ripgrep
  • glow markdown renderer

文件操作

iconv

可以将一种已知的字符集文件转换成另一种已知的字符集文件

例如 将git仓库内所有Java文件 GBK 转 UTF8 git ls-files | grep "\.java" | tee | xargs -I {} iconv -f GBK -t UTF-8 {} -o {}

zssh

参考 zssh, rz, sz互相传输

安全工具

gpg

参考博客

  • 生成的过程, 输入相关的提示信息, 最后输完密码后需要输入随机字符, 就也是按照提示, 但是1.4是正常的, 其他的直接假死,不是很理解这种操作

JumpServer

Github


多媒体

ffmpeg

Official Site

  • 查看属性 ffprobe -pretty target.mp4

m3u8 URL 转换为mp4

  • ffmpeg -i http://xxx.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
  • 获取视频中的音频 ffmpeg -i input.mp4 -vn -y -acodec copy output.m4a
  • 去掉视频中的音频 ffmpeg -i input.mp4 -an output.mp4
  • 合并视频 ffmpeg -f concat -safe 0 -i file.cfg -c copy result.mp4
    • file.cfg 内容为多行文件 : file '/path/to/file'
  • 截取视频 ffmpeg -ss 00:00:00 -t 00:00:30 -i input.mp4 -vcodec copy -acodec copy output.mp4
    • -ss 开始时间 -t 截取时长 -q 0 无损 -c copy表示不必重新编码

图片处理

  • byzanz 录制屏幕为gif

ImageMagick

ImageMagick® is a free, open-source software suite, used for editing and manipulating digital images
Github: ImageMagick

  1. display

convert

convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more

convert 源文件 [参数] 目标文件

  • 格式转换: convert a.png a.jpg

  • 将图片转换成指定大小 这是保持比例的 convert -resize 600X600 src.jpg dst.jpg 中间是字母X

    • 如果不保持比例,就在宽高后加上感叹号
    • 可以只指定高度,那么宽度会等比例缩放 convert -resize 400 src.jpg dst.jpg
    • 还可以按百分比缩放 convert page200.png -resize 50% page100.png

svg to ico 两种方式

  • magick convert -background none icon.svg -define icon:auto-resize icon.ico
  • convert -background none icon.svg -define icon:auto-resize icon.ico

多图操作

  • 若干图片合并并转PDF convert origin1.jpg origin2.jpg target.pdf
  • imagemagick 图片合并_convert 多图拼接-CSDN博客
    • 水平方向拼接,纵向则是 -append magick convert +append 2024* aa.jpg
    • composite 方式
      • 生成空白图片 magick -size 1920x1200 xc:none dest0.jpg
      • 按坐标放入两张图片 magick composite -geometry +0+0 u-0.jpg dest0.jpg dest0.jpg magick composite -geometry +1000+0 u-1.jpg dest0.jpg dest0.jpg

批量修改 如果没有 -path 语句,新生成的 png 文件将会覆盖原始文件 参考博客

  • mogrify -path newdir -resize 40X40 *.png 把png图片全部转成40X40大小并放在新文件夹下
  • mogrify -path newdir -format png *.gif 将所有gif转成png放在新目录下

asciinema

  • asciinema 终端屏幕录制和分享网
  • 执行 asciinemaasciinema rec 即可开始录制
  • 要注册就运行 asciinema auth 进入输出的网址,填邮箱和名字即可(每次登录都要这样。或者使用邮件来确认,麻烦ing)

图片浏览器

  1. Nomacs 快
  2. gThumb
  3. Eye of GNOME Image Viewer 功能比上面多了一点

截图

Flameshot 截图工具 类似于 snipaste

  • Ctrl 鼠标滚动 调整线条粗细
  • Ctrl Alt S: 截图 (注意某些交互性场景,截图会导致失去焦点从而无法截到,例如网页的下拉选项,此时可以不使用快捷键而是鼠标点托盘的图标触发截图,可绕过这个问题)
  • Alt Q :pin
  • 截图并OCR识别中文 flameshot gui --raw | tesseract -l chi_sim stdin stdout | xclip -in -selection clipboard

deepin-screenshot

录屏

  • kazam 支持选进程窗口,输出mp4
  • peek 顶层窗口选择录屏区域,输出 gif 有较高压缩比

视频

参考: Top 10 Best Linux Video Players

音频


PDF

ghostscript

ghostscript.com 参考: Ubuntu上压缩PDF文件的方法

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -dQUIET -sOutputFile=output.pdf input.pdf


pdftk

pdflabs | Docs


pdfunite

Portable Document Format (PDF) page merger

  • pdfunite 1.pdf 2.pdf merged.pdf

smallpdf.com 在线处理


运行 Windows 应用


日常应用

Office

QQ

QQ Linux

wechat

wechat-universal-bwrap

微信 Linux 测试版

wework


外设

键鼠共享
xdotool模拟键盘和鼠标操作的命令行工具

鼠标

  • solaar Logitech鼠标Options修改

Tips

  • 问题: sudo echo "Text I want to write" > /path/to/file 失败

参考: "sudo echo" does not work together in Ubuntu stack over flow

  • sudo sh -c 'echo "Text I want to write" >> /path/to/file'
  • echo "Text I want to write" | sudo tee -a /path/to/file > /dev/null