MyScript

~/shellscript/myscript

  • cd ~ 进入当前非root用户的家目录下
  • mkdir shellscript && cd shellscript
  • vim myscript
#!/bin/bash
alias cls="clear"
alias flt="cd ~/floodlight/ && java -jar target/floodlight.jar"
alias sshxm="ssh -X mininet@192.168.56.101"
alias vimms="vim ~/shellscript/myscript"
alias catms="cat ~/shellscript/myscript"
alias stass="echo '$mypassword' | sudo -S sslocal -c /etc/shadowsocks.json -d start && exit"
alias stoss="echo '$mypassword' | sudo -S sslocal -c /etc/shadowsocks.json -d stop && exit"
alias staipt="sudo iptables -I OUTPUT -s 127.0.0.1 -p tcp --sport 1080"
alias showipt="sudo iptables -n -v -L -t filter |grep -i 'spt:1080' |awk -F' ' '{print $2}'"
alias stawf="echo '$mypassword' | sudo ap-hotspot start"
alias stowf="echo '$mypassword' | sudo ap-hotspot stop"
alias cman='LANG="zh_CN.utf8" man'
alias gj="echo '$mypassword' | sudo -S shutdown -h now"
alias cnf="cd ~/floodlight/src/main/resources/ && cp floodlightdefault.properties.noforwarding floodlightdefault.properties && cd ~"
alias cff="cd ~/floodlight/src/main/resources/ && cp floodlightdefault.properties.forwarding floodlightdefault.properties && cd ~"
alias mapi="sudo firefox ~/mininet/doc/html/index.html"
mip="192.168.56.101"
# ubtip="192.168.56.103"
# 使用时,前面加$就可以了
# alias smctcrip="sudo mn --custom ~/topo-2sw-2host.py --topo mytopo --controller=remote,ip=192.168.56.103,port=6653"
# alias smctcrip2="sudo mn --custom ~/topo-2sw-2host.py --topo mytopo --controller=remote,ip=192.168.56.101,port=6653"
# alias fireidx="firefox http://localhost:8080/ui/index.html"
# alias suble="subl && exit"
# alias minie="virtualbox --startvm ~/VirtualBox\ VMs/Mininet_Alpha/Mininet_Alpha.vbox & exit"
  • chmod u+x myscript
  • sudo vim /etc/bash.bashrc
  • 最后一行加入. /home/coder352/shellscript/myscript
  • 非交互式shell(脚本)默认是不支持alias的,但用source就可以了
  • 这篇文章有详细介绍在shell脚本中使用alias
在Mininet中备份同样的script
ssh mininet@$mip "mkdir shellscript"
scp /home/helloworld/shellscript/myscript mininet@$mip:shellscript/myscript
ssh root@$mip 'echo ". /home/mininet/shellscript/myscript" >> /etc/bash.bashrc'

* ~/shellscript/private

  • cd ~/shellscript && vim private
#!/bin/bash
mypassword="your_password"
alias asd="xxx"
  • chmod u+x private
  • sudo vim /etc/bash.bashrc
  • 在myscript那行上面加入. /home/coder352/shellscript/private
  • 并不好用

~/shellscript/bin/sudomn

  • 这里的sudomn不能加到myxcript中,每次引入的时候会报错
  • cd ~/shellscript/bin && vim sudomn
#!/bin/bash
#ip=last -1 | awk '/mininet/{print $3}' #如果last能捕捉到主机的IP的话可以用
ip=`cat ~/mytmpip`
sudo mn --custom $1 --topo mytopo --controller=remote,ip=$ip,port=6653 --link tc,bw=10,delay=1ms
  • 上面这个是Mininet中的,下面这个是Ubuntu中的,名字保持一致,原来在Ubuntu中也有sudomn,后来去掉了
#!/bin/bash
name=`basename $0`
if [ $name = "sshxm" ]
then
    ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v 192.168.56.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
    echo $ip >> mytmpip
    scp mytmpip mininet@192.168.56.101:~/
    rm mytmpip
    ssh -X mininet@192.168.56.101
elif [ $name = "scpm" ]
then
    scp $1 mininet@192.168.56.101:~/
elif [ $name = "qkill" ]
then
    ps -e | grep $1 | cut -c 1-5 | xargs kill
fi
  • 每次使用sshxm时,确保有线和无线只有一个连上了
  • chmod u+x sudomn
  • ln -s sudomn scpm
  • ln -s sudomn qkill
  • sudo vim /etc/bash.bashrc
  • 最后一行加入export PATH=/home/coder352/shellscript/bin:$PATH
  • 用export命令查看是否设置好
  • 在Mininet的虚拟机环境下有时候配置不了环境变量,可以直接把sudomn扔到/usr/loacl/bin目录下
在Mininet中备份同样的sudomn
ssh mininet@$mip "mkdir shellscript/bin"
scp /home/coder352/shellscript/bin/sudomn mininet@$mip:shellscript/bin/
ssh root@$mip 'echo "export PATH=/home/mininet/shellscript/bin:$PATH" >> /etc/bash.bashrc'

~/shellscript/bin/gult

#!/bin/bash
g++ $1 -o gl  -lGL -lGLU -lglut
  • chmod u+x gult

* ~/shellscript/bin/shutdown

  • 效果不好,有待改善
#!/bin/bash
echo 'password' | sudo -S shutdown -h now
  • chmod u+x shutdown

备份和恢复

home_backup.sh
  • cd ~/shellscript && vim home_backup.sh
#!/bin/bash
cd ~
ls -A |grep ^"\." > ~/my_backup/backup.list
for i in `cat ~/my_backup/backup.list`
do
cp -rf $i ~/my_backup/
done
exit 0
home_restore.sh
  • cd ~/shellscript && vim home_restore.sh
#!/bin/bash
cd ~/my_backup/
for i in `cat ~/my_backup/backup.list`
do
cp -rf $i ~/
done
exit 0

注意

  • 这里只是介绍初始配置
  • 本篇已移至github
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值