acpi

  • 获取电池电量

    acpi
    

    Battery 0: Discharging, 43%, 03:27:41 remaining

cd

  • 返回之前的目录

    cd -
    

cp

  • 显示复制的进度 (复制大文件或者文件夹时)

    cp -v
    

chmod

  • 使某个文件变为可执行文件

    chmod u+x <文件名>
    

df

  • 文件系统磁盘空间使用情况

    df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    tmpfs           1.5G  1.9M  1.5G   1% /run
    /dev/nvme0n1p4   92G   44G   43G  51% /
    tmpfs           7.5G  8.5M  7.5G   1% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    /dev/nvme0n1p1  256M   48M  209M  19% /boot/efi
    tmpfs           1.5G   92K  1.5G   1% /run/user/1000
    

find

  • 找出包含某文本的文件

    find . -name "*.java" -exec grep "文本" -Hn {} \;
    

git

  • 查看当前远程仓库地址

    git remote -v
    
  • 替换新的远程仓库地址

    1. 先删除旧的地址

      git remote rm origin
      
    2. 重新添加新的

      git remote add origin git@gitee.com:pyq19/blog.git
      
  • 删除仓库内没用的大文件, 减小仓库体积

    TODO

  • 克隆某个仓库和他的子模块 (submodule)

    • 一次操作全部克隆

      git clone --recursive git@github.com:pyq19/blog.git
      

      这样会直接把 blog 项目和他的子模块一起克隆

    • 先克隆了主项目, 再克隆子模块

      假设已经克隆了主项目, 但是缺少子模块

      1. 初始化子模块

        git submodule init
        
      2. 更新子模块

        git submodule update
        
  • 添加子模块

    git submodule add git@gitee.com:pyq19/hugo-paper themes/hugo-paper
    
  • 不修改 .gitignore 文件而忽略文件

    编辑 .git/info/exclude, 添加需要忽略的本地文件

  • 操作系统换行符差异

    TODO

  • 切换到某一次 commit 时的代码仓库状态

    TODO

http (httpie)

  • 参考

  • 指定请求的方法

    默认以 json 格式的字符串来传参

    http POST 'http://localhost:3001/bar' aa=11
    

    将会发送 {"aa":11}

  • 指定 json 文件作为 request

    http POST 'http://localhost:3001/foo' < config.json
    

    将会发送 config.json 里面的内容

  • 设置请求头

    请求头部分用 : 比如 Authorization:'Bearer <token>', 参数部分用 = 比如 name=pyq

    http GET 'localhost/api/xxx' Authorization:'Bearer <token>' name=pyq
    
    http POST 'localhost:3001/api/xxx' project_name='测试' Authorization:'Bearer xxxxx'
    
  • 使用 session 保存状态

    比如保存 header 中的 token, 不必每次都指定请求头

    TODO

ls

  • 倒序 (z 到 a 到数字) 显示目录中的内容

    ls -r
    
  • 根据文件的修改时间排序, 最近修改的文件考前

    ls -t
    
  • 递归显示子文件夹下的文件

    ls -R
    
  • 仅列出目录

    ls -l <目录路径> | grep '^d'
    

mycli

配置文件: https://www.mycli.net/config

sql 语句执行结果直接输出

修改 ~/.myclirc: enable_pager = False

systemctl

systemctl start sshd    # 开启服务
systemctl stop sshd     # 关闭服务
systemctl disable sshd  # 禁止开机自动启动
systemctl enable sshd   # 允许开机自动启动
systemctl status sshd   # 查看 ssh 服务状态

tar

  • 列出压缩文件中的内容

    tar -tvf <压缩文件.tar.gz>
    
  • 解压缩 .tar.gz 文件

    tar -xvzf <压缩文件.tar.gz>
    
  • 将某个目录打包成压缩文件

    tar czf <压缩文件.tar.gz> <想要打包的目录>
    
  • 将 .tar.gz 中的内容解压缩到指定目录下

    TODO

tmux

参考: http://www.ruanyifeng.com/blog/2019/10/tmux.html

  • 列出所有 tmux 会话 (session)

    tmux ls
    
  • 进入某个 session

    tmux attach -t <0/1/2/...>
    
  • 新建 session 并命名

    tmux new -s <session-name>
    
  • 进入指定名称的 session

    tmux attach -t <session-name>
    
  • 退出 tmux

    tmux detach