Linux

find

-t 打印出执行命令,方便知道类出现在那个jar包中

  1. find * | xargs -t -i jar -tf {} | grep org.apache.httpcomponents

删除某个二级目录

快速删除某个版本的maven本地缓存

  1. find ~/.m2/repository/org/apache/flink/ -type d -name "*1.14.0" | xargs rm -rf

tar

-C change dir

tar包打包和解压的时候都有个-C选项使用会方便很多,主要功能是change dir,
比如当前目录下有以下目录结构

  1. $tree .
  2. .
  3. └── _TMP_
  4. └── blink-3.4.2-k8s-test

我又不想进入TMP,目录打包,也不想把TMP打到最终的tar包中,可以使用以下的命令来实现

  1. tar -zcvf blink-3.4.2-k8s-test.tgz -C _TMP_ blink-3.4.2-k8s-test
  2. # 下面的这个命令会有问题
  3. tar -zcvf blink-3.4.2-k8s-test.tgz blink-3.4.2-k8s-test -C _TMP_
  4. tar: blink-3.4.2-k8s-test:无法 stat: 没有那个文件或目录
  5. tar: 由于前次错误,将以上次的错误状态退出

解压也是一样,-C指定输出到的目录

  1. tar -zxvf blink-3.4.2-k8s-test.tgz -C /tmp/

misc

lsof

  1. # 查看系统的fd使用情况
  2. lsof -p pid -P -n > /tmp/lsof.log

strace

  1. # 查看进程的每个线程的系统调用
  2. strace -p pid -f -o /tmp/abc -ff -s 300 -ttt -T

nc

  1. # 检查对端端口开闭情况
  2. nc -zv 192.168.56.10 80 22 21

tcpdump

  1. # 抓包
  2. tcpdump -w /tmp/a.cap port 3100

Mac

misc

pbcopy

方便的把文件内容拷贝到粘贴板

date

  1. # 将时间戳转化成日期时间
  2. date -r 156000000

realpath

获取文件的绝对路径

  1. # mac需要安装coreutils brew install coreutils
  2. realpath $filename