linux 常用命令

端口占用

查看进程端口占用

  • lsof -i:端口号
lsof -i:8080
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bundle  1672  git   14u  IPv4  19910      0t0  TCP VM-16-13-centos:webcache (LISTEN)

杀掉进程

kill -9 PID

tar 解压

  • -z 带有gzip属性
  • -x 解压
  • -v:显示所有过程
  • -f: 使用档案名字这个参数是最后一个参数,后面只能接档案名。
  • -c 建立压缩档案(归档)
  • -t 列出压缩文件中都有什么

用什么解压

  • *.tar 用 tar –xvf 解压
  • *.gz 用 gzip -d或者gunzip 解压
  • *.tar.gz 和 *.tgz 用 tar –xzf 解压
  • *.bz2 用 bzip2 -d或者用bunzip2 解压
  • *.tar.bz2用tar –xjf 解压
  • *.Z 用 uncompress 解压
  • *.tar.Z 用tar –xZf 解压
  • *.rar 用 unrar e解压
  • *.zip 用 unzip 解压

解压到指定目录

tar -zxvf xx.xx.tar.gz -C /xx/xx

解压到当前目录

tar –xvf xx.tar

如果带有gz后缀可以采用

tar -zxvf xx.tar.gz

列出

tar -tzvf test.tar.gz

实时滚动显示log文件内容

  • -f 循环读取 -- 会实时刷新
  • -n <行数> 显示文件的尾部 n 行内容
tail notes.log         # 默认显示最后 10 行 不会自动刷新
tail -f notes.log      # 跟踪名为 notes.log 的文件的增长情况
tail -c 10 notes.log   # 显示文件 notes.log 的最后 10 个字符

内网穿透

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。

使用 nps 搭建内网穿透

请参考NPS内网穿透篇

稍后会研究下frp

复制、删除文件(cp)

复制文件时排除别的文件

  • ls + xargs

    ls x1/ | grep -v x2 | xargs -i cp -r x1/{} x3/
    // x1为源路径, x2为欲排除的文件/目录,x3为目标路径
    // 在Mac终端中 报错'xargs: illegal option -- i'那么把 -i {} 改为 -I F “F”
    

删除文件

  • 删除文件排除某个文件 rm -rf !(文件夹或文件名)

    rm -rf !(a.txt | b.txt)
    

    当然你也可以采用管道,进行更多的文件排除

Last Updated: