一句话技巧
安卓WIFI密码存放路径:
/data/misc/wifi/wpa_supplicant.conf
取xx内的随机数(如37):
echo $[$RANDOM%37]
算术运算有5种方法:
echo $[1+2]
echo $((1+2))
echo "1+2" |bc -l
echo $(expr 1 + 2)
let x=1+2 && echo $x
生成32位随机字符串:
shuf -e {A..H} {J..N} {P..Z} {2..9} |tr -d '\n'
shuf -e {a..z} {A..Z} {0..9} |tr -d '\n' |head -c 32
echo $(< /dev/urandom tr -dc '[:alnum:]' |head -c 32)
查看服务器相关信息:
source <(curl -sL bench.sh)
转换变量内容大小写:
v="HelloWorld"; echo ${v^^} ${v,,}
用Grep命令匹配中文:
grep -o '[一-龥]*' file.txt
添加hl命令,高亮关键字:
function hl () { perl -pe "s|($1)|\e[1;31m\$1\e[0m|g"; }
当前目录每个文件夹占用inode情况:
find */ ! -type l |cut -d / -f 1 |uniq -c |sort -n
将目录按大小排序,快速找到大目录:
du -s /tmp/* |sort -n |tail
du -a /tmp/ |sort -n |tail
推荐
获取当前公网服务器的时间:
curl -Is mi.com |col |grep -Poi 'Date:\K.*'
curl -Is jd.com |sed -n 's/^Date://ip'
推荐
datefix () { sudo date -s "$(curl -Is jd.com |sed -n 's/^Date:/+0 day/ip')"; }
dateymd () { [ -n "$1" ] && sudo date -s "$*" || echo "dateymd 年/月/日 时:分"; }
测试机器端口是否开放:
curl 172.17.196.15:80
推荐
wget 172.17.196.15:80
ssh 172.17.196.15 -vp 80
telnet 172.17.196.15 80
curl -v telnet://172.17.196.15:80
</dev/tcp/172.17.196.15/80 && echo OPEN
取Linux环境的当前IP地址:
ifconfig |awk -F 'addr:|Bcast' '/Bcast/{print $2}'
推荐
ifconfig |grep "inet addr:" |grep "Bcast:" |awk '{print $2}' |awk -F: '{print $2}'
ip addr |grep "scope global eth" |awk '{print $2}' |awk -F/ '{print $1}'
使用VIM的默认配置:
cp $(locate vimrc_example.vim |grep -w vimrc_example) ~/.vimrc
查看Windows映像的版本和位数(参数index可以忽略):
dism /Get-WimInfo /WimFile:X:\sources\install.wim /index:1
内核模块相关命令:
lsmod
、insmod
、rmmod
、modprobe
、modinfo
常用网络流量监控命令:
nload
、iftop
、nethogs
、bmon
、dstat
显示文件时,合并4行为1行,并用竖线分隔:
paste -sd '|||\n' FILENAME
单实例运行SHELL脚本程序:
[ $(/usr/sbin/pidof -x "${0##*/}" |wc -w) -gt 2 ] && exit
PIDOF=$(/usr/sbin/pidof -x "${0##*/}") && [ "$PIDOF" != "$$" ] && exit
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -n "$0" "$0" "$@" || :
域名相关的查询命令:
whois g.cn
dig g.cn
host g.cn
ping g.cn
nslookup g.cn
确认自己是否可以科学上网:
ip111.cn
ip100.info
getip.pub
www.chaip.org
国外常用SWITCH游戏网站:
nsw2u.com
下载
nswrom.com
下载
nxbrew.com
下载
nswdb.com
查询
tinfoil.io
查询
查看连接设备的MAC地址:
arp -n
ip neigh
grep 0x2 /proc/net/arp
自建邮箱:EwoMail整合包、postfix&dovecot&postfixadmin&rainloop 记录类型:MX、主机记录:@、记录值:mail.jtwo.me、MX优先级:10 记录类型:TXT、主机记录:@、记录值:v=spf1 a mx ~all 记录类型:A、主机记录:mail、记录值:(填写IPv4地址)
Windows删除指定路由表:route delete 172.17.196.0
Windows添加永久路由表:route add -p 172.17.196.0 mask 255.255.255.0 192.168.0.1
Windows文件名大写转小写:
FOR /R %%A IN (.) DO cd %%A && (FOR /F %%B IN ('dir /b /l') DO rename %%B %%B)
PHP过滤中文汉字内容:
preg_match_all('/[\x{4e00}-\x{9fa5}]/u',$v['content'],$content); $content=join('',$content[0]);
获取当前iframe自身地址:
<script>document.write("<a href="+self.location.href+">current iframe</a>")</script>
针对端口进行流量统计:
开始监控:iptables -I OUTPUT -p tcp --sport 443
查看流量:iptables -L -v -n | grep spt:443
添加/删除端口转发规则:
iptables -t nat -A PREROUTING -p tcp --dport 8822 -j REDIRECT --to-port 22
iptables -t nat -D PREROUTING -p tcp --dport 8822 -j REDIRECT --to-port 22
保存/恢复IPTABLES规则:
iptables-save > /etc/sysconfig/iptables
iptables-restore < /etc/sysconfig/iptables
双栈IPv4和IPv6优先v4出口:
#cat /usr/share/doc/glibc-common-2.17/gai.conf
echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf
禁用UBUNTU登陆MOTD提示:
touch /home/ubuntu/.hushlogin
可选操作
sed -i 's/ENABLED=1/ENABLED=0/' /etc/default/motd-news
Rsync删除大量文件:
rsync --delete-before -a /tmp/empty_folder/ /web/lots_files/
Rsync常用参数:
rsync --progress --delete --stats --update -h -l -r -t -v SRC目录 DEST目录 --exclude="文件" --exclude="目录/文件" -n
rsync --progress --delete --size-only -H -l -r -v /icyomik/ /media/icyomik/ -n #参数n显示将会同步的数据,但不真正同步
Tcpdump命令抓包:
nohup tcpdump -i 服务器网卡 host 要抓的IP -w 存放的路径 -s 200 -C 50 -W 20 -Z root &
ip=12.34.56.789; nohup tcpdump -i eth0 host ${ip} -w /data/${ip}.cap -s 0 -C 100 -W 20 -Z root &
连接CentOS的SSH报错:Key exchange failed.
No compatible key exchange method. The server supports these methods: curve25519-sha256,ecdh-sha2-nistp256
服务端增加不安全的算法并重启SSH服务:vi /etc/ssh/sshd_config
KexAlgorithms 参数新增 diffie-hellman-group-exchange-sha1