Memo

文本处理

# 统计file1中没有,file2中有的行
grep -vwf file1 file2
#抓取IP
grep -oP "(\d+\.){3}\d+"
#抓取主机名(长)
grep -oP --color=auto "([a-z]+[0-9]+\.)([a-z]+\.)([a-z]+)"
#抓取主机名(短)(适合短主机名为字母加数字)
grep -oP --color=auto "([a-z]+[0-9]+)"
#两行变一行
sed 'N;s/\n/ /'
# tail -f 过滤
tail -f file|grep --line-buffered 'key words' 
# n行变一行 n>1
awk 'NR%n{printf "%s ",$0;next;}1'
# 小写转大写并每隔2个字符加:
echo e947a256d474c3f18fbb7b6ab30750f3e6706914|tr 'a-z' 'A-Z'|sed -e 's/\(..\)/\1:/g'
E9:47:A2:56:D4:74:C3:F1:8F:BB:7B:6A:B3:07:50:F3:E6:70:69:14:

JSON处理

# jq https://stedolan.github.io/jq/
#test.json
{
    "id": 1,
    "details": {
        "username": "jamesbrown",
        "name": "James Brown"
    }
}
#filter
cat test.json |jq 'select(.details.name == "James Brown")|.id'
#取keys
jq -r "keys[]"


进程查看

#查看进程启动时间
ps -p $(ps -ef|grep process_name |grep -v grep|awk '{print $2}') -o lstart
# 查看进程cgroup
ps xawf -eo pid,user,cgroup,args
# 查看占用内存前5进程
ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

bash

#bash更改sudoer
sudo bash -c 'echo "foobar ALL=(ALL:ALL) ALL" | (EDITOR="tee -a" visudo)'
#date获取上个月
date '+%Y %m' | awk '{if($2==1){$1--;$2=12}else $2--;printf "%d%02d\n",$1,$2}'
#wget 下载jre
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jre-8u111-linux-x64.rpm
#wget下载目录
wget  -e robots=off -r -nH --cut-dirs=目录层级 --no-parent --reject="index.html*"  url
# cd忽略大小写
shopt -s cdspell
# 查找可执行文件
find <dir> -executable
find <dir> -executable -type f
# 删除7天前的文件
find /cache  -type f -atime +7 -print0 | xargs -0 rm
# rsync over ssh
rsync --progress -ave ssh  user@remoteserver:/src_dir /dest_dir
# 删除大量小文件
rsync -a --delete blanktest/ test/
# 配置代理
# cat /etc/profile.d/proxy.sh
export http_proxy="http://proxy:3128"
export https_proxy="http://proxy:3128"
export no_proxy="127.0.0.1, localhost, *.example.com"

Network

# 查看广播包
tcpdump -e -i eth1 ip    broadcast
tcpdump -e -i eth1 ether broadcast

# 统计指定端口tcp连接数
netstat -atn|grep "ES"|grep 端口|awk '{print $5}'|cut -d : -f 1|sort -n|uniq -c

# tcp端口检查
nc -tvz [ ip or hostname] port

# udp端口检查
nc -uvz [ ip or hostsname ] port

# iptables 限制连接数
-A INPUT -p tcp -m state --state NEW -m connlimit --connlimit-above 1000 --connlimit-mask 32 -j LOG_REJECT
-A LOG_REJECT -j LOG --log-prefix "LOG_REJECT:" --log-level 6
-A LOG_REJECT -p tcp -j REJECT --reject-with tcp-reset

# .iftoprc
# config file for iftop
dns-resolution: no
port-resolution: no
show-bars: yes
promiscuous: yes
port-display: on
hide-source: no
hide-destination: no
use-bytes: yes
line-display: one-line-both
show-totals: yes
log-scale: yes

Disk

# 清空分区
dd if=/dev/urandom of=/dev/sdb bs=512 count=64

ssh

#C可以ssh访问B B可以访问A的3389端口 现在C要访问A的3389端口,ssh远程转发A的3389端口至C的7001端口(在C上执行)
ssh -L 7001:A:3389 root@B
# .ssh/config
Host B
HostName B
LocalForward 7001 A:338
#socks5 proxy
DynamicForward 8080
# A通过跳板机B scp C上的文件到本地 在A上执行
scp -o ProxyCommand="ssh root@B nc C 22" -r root@C:/tmp/xxx /tmp/xxx

tools

# tmux
https://github.com/gpakosz/.tmux.git
# vim
http://vimawesome.com/
https://github.com/amix/vimrc
# cygwin 包管理
https://github.com/transcode-open/apt-cyg
# google driver
https://github.com/prasmussen/gdrive
# backup
https://github.com/borgbackup/borg
# monitor tools
atop

For fun

#星球大战
telnet towel.blinkenlights.nl
#命令行生成二维码
# http://qrenco.de
#命令行录像
# https://asciinema.org

mac 必装

# https://github.com/sindresorhus/quick-look-plugins
brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlprettypatch quicklook-csv betterzipql qlimagesize webpquicklook suspicious-package quicklookase qlvideo
brew install git bash-completion aria2

debug

strace

ssl 证书

https://letsencrypt.org/getting-started/
https://certbot.eff.org/

# rhel 安装自制证书
cp *.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust

Docker

# 获取容器IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
# 清除build失败产生的images
docker rmi $(docker images -f 'dangling=true' -q) -f

Windows

# 查看serialnumber
wmic bios get serialnumber

转载于:https://my.oschina.net/firxiao/blog/799586

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值