#! /bin/bash
# 读《Linux Shell脚本攻略》第四,五,七,九章
# 正则表达式:
email_regex=“[a-z0-9_.]+@[a-z0-9.]+\.[a-zA-Z]{2,4}“
url_regex=“https?://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}“
ip_regex=“[0-9]{1.3}\.[0-9]{1.3}\.[0-9]{1.3}\.[0-9]{1.3}“
# 正则表达式中的特殊元序列:
# [:alnum:] 数字与字母
# [:alpha:]
# [:blank:] 空格与制表符
# [:digit:]
# [:lower:]
# [:upper:]
# [:punct:] 标点符号
# [:space:] 所有空白
cut -f 2,3 filename # get row 2 and 3
# 压缩与解压缩JavaScript
# 移除’\n’和’\t’
tr -d ‘\n\t‘
# 移除多余空格
tr -s ‘ ‘
# 移除注释
sed ‘s:/\*.*\*/::g‘
# 移除{, }, (, ), ;, :以及逗号前后的所有空格:
sed ‘s/ \?\([{ }();,:]\) \?/\1/g‘
#解压缩:
cat abc.txt | sed ‘s/;/;\n/g; s/{/{\n\n/g; s/}/}\n\n/g‘
# 以逆序打印文本
tac file1 file2 …
seq 5 | tac
# 以格式化下载网页
lynx -dump http://www.google.com > file.txt
# 命令行访问gmail
# curl -u $username:$password “https://mail.google.com/mail/feed/atom”
# 查找网站中的无效链接
# use lynx & curl
# 打印网络接口列表
ifconfig | cut -c-10 | tr -d ‘ ‘ | tr -s ‘\n‘
# 提取ip
ifconfig wlan0 | egrep -o “inet addr:[^ ]*“ | grep -o “[0-9.]*“
# 网络借口设置:
ifconfig wlan0 192.168.0.80
ifconfig wlan0 192.168.0.80 netmask 255.255.252.0
# 硬件地址欺骗
ifconfig eth0 hw ether 00:1c:bf:87:25:d5
# 添加名字服务器:
echo “nameserver ip_address“ >> /etc/resolv.conf
# 网关信息:
route -n
# route add default gw IP_ADDRESS INTERFACE_NAME
route add default gw 192.168.0.1 wlan0
# 文件传输:
# sftp ftp rsync scp
# ssh 无密码自动登录
# client machine
ssh-keygen -t rsa
# add pub auth to the server side
cat id_dsa.pub > ~/.ssh/authorized_keys
ssh username@host “cat >> ~/.ssh/authorized_keys“ < ~/.ssh/id_rsa.pub
# 远程挂载
sshfs user@remotehost:/home/path /local/path
# 弹GUI框
zenity –info –text “hello world“
ssh user@remotehost ‘export DISPLAY=:0; zenity –info –text “hello world”‘
# 开放端口情况:
lsof -i
lsof -i | grep “:[0-9]\+->“ -o | grep “[0-9]\+“ -o | sort | uniq
netstat -tnp
# 搜集进程信息:
ps
ps -f
ps -eo comm,pcpu | head
top
ps -eo comm,pcpu –sort -pcpu | head
ps -C $comm
ps -C bash -o pid=
pgrep bash -d “:“ # output: pid1:pid2:pid3
pgrep -u root,slynux $comm
pgrep -c $comm # 返回匹配的进程数量
# 显示进程的环境变量:
ps -eo $comm -e
# 搜集系统信息:
hostname
uname -n
uname -a
uname -m
uname -r
cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/partitions
fdisk -l
lshw
发表评论
要发表评论,您必须先登录。