note/sh-extra

这篇笔记记录一些不属于 GNU Coreutils 但是比较常用的 Linux CLI 软件的简单用法。

网络

curl

下载/发送请求。

curl [-cfLOX] <url> [-o <file>]
  • -f 页面未找到(404)时输出错误。
  • -L 允许重定向。
  • -o 保存到指定文件而不是输出到终端。
  • -O 按照 URL 保存到文件。

wget

wget <url>

版本比较旧的 wget 不支持 HTTPS。

proxychains

将代理用到任意程序上。用法:

proxychains <program> [args]

配置文件在 /etc/proxychains.conf

dig

DNS lookup utilty.

dig [type] [+short] <domain>

type: TXT, NS, A

nmap

网络探测以及网络安全检测。

交互

tmux

tmux 是一个 shell host,使用 tmux 可以复用同一个 shell。正常情况下是 shell -> terminal,有了 tmux 后是 shell -> tmux -> terminal。

tmux detach 离开这个 shell(但没有终止)。tmux attach 继续那个 shell。

配置文件(rc)在 ~/.tmux.conf

由于 apt 升级过程中会出现很多 ncurse TUI 需要手动作出选择,所以我喜欢在 tmux 中升级。这样万一 ssh 断开后出现一个 TUI,我还能 attach 上那个 session 继续操作。

包管理器

pacman

  • -S <package> 安装包

  • -S

    • -s <package> 搜索包
    • -i <package> 显示包信息
    • -y 更新源
      • -y 强制更新源
    • -u 更新所有包(更新系统,开滚)
  • -R <package> 移除包(不要使用)

  • -R

    • -s <package> 移除包和它依赖而其他程序不依赖的包(常用)

    • -u <package> 移除包和依赖它的包(慎用)

      我一般直接用 -Rsunc <package>

  • -Q [<package>] 查找已安装的包

  • -Q

    • -l <package> 列出一个包的内容
    • -o <file> 列出哪个包拥有这个文件一个文件
    • -m 列出不是从源中安装的包(AUR 以及你下载的 .pkg.tar.xz 包)
    • -q 安静点

apt

  • install <package> 安装
  • search <package> 搜索包
  • list [<package>] 列出源中包,未指定则为所有包
    • --installed 已安装的
    • --upgradable 可更新的
  • show 显示包详细信息
  • update 更新源
  • upgrade [<package>] 更新包,如果未指定则更新所有包

About Me