>

兑现树叶飘落,Shell的一些运用小本事搜聚

- 编辑:www.bifa688.com -

兑现树叶飘落,Shell的一些运用小本事搜聚

福寿齐天如图所示的事物效果(落叶下跌):

反市长途端口是或不是对bash开放:

代码块,java代码块

代码块分类:

壹.司空见惯代码块

二.构造代码块

三.静态代码块

肆.协助进行代码块

代码块无法独立运维,供给正视于别的安顿,格式是:{ //代码块 }。

1.常备代码块

日常代码块,在艺术名后(或艺术体内)用一对"{}"括起来的数据块,并由此艺术调用。

package cn.com.daimakuai;
/**
 * PuTongDaiMaiKuai
 *@author:hushaoyu
 *2017-2-13上午9:27:02
 *@描述:普通代码块
 */
public class PuTongDaiMaiKuai {
 public static void main(String[] args) {
  /**"{}"括起来的普通代码块;这里的变量x=100作用范围从"{"开始"}"结束,所以与下面的变量x=200互不影响,
   * 如果将下面的变量放在普通代码前面将编译错误,因为main的代码块范围比较大
   */
  {
   int x = 100;
   System.out.println("普通代码块:" x);
  }

  int x = 200;
  System.out.println("main方法:" x);
 }

 /**
  *  结果输出:
  普通代码块:100
  main方法:200
  */
}

必发88官网 1

复制代码 代码如下:

 2.构造代码块

html代码:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

布局代码块:在类中央直机关接定义的,没有其他前缀、后缀以及修饰符的代码块。

结构代码块和构造方法同样都以在对象生成时被调用,但调用时机比构造方法早,所以协会代码块可以用来伊始化成员变量。要是三个类中有八个构造方法,这一个构造方法都亟待开始化成员变量,那么能够把各类构造方法中同样的代码部分抽取出来,聚焦一同放在构造代码块中,利用构造代码块来伊始化共有的成员变量,收缩重复代码。

package cn.com.daimakuai;

/**
 * ConstroctDaimakuai
 * @author:hushaoyu 
 * @2017-2-13上午10:02:55
 * @描述:构造代码块
 */
public class ConstroctDaimakuai {

 public static void main(String[] args) {
  Person p1 = new Person();
  System.out.println("*******************");
  Person p2 = new Person("hushaoyu");
 }
}

// Person类
class Person {

 private int x;
 private String name;

 // 构造代码块
 {
  System.out.println("构造代码块执行-------");
  // 对类的成员变量x进行初始化,如果不放置在代码块中,要达到同样效果,需要分别出现在2个构造方法中。
  x = 100;
 }

 // 无参构造方法
 Person() {
  System.out.println("构造方法执行-------");
  name = "huyuyu";
  show();
 }

 // 有参构造方法
 Person(String name) {
  System.out.println("构造方法执行-------");
  this.name = name;
  show();
 }

 /**
  * show方法
  */
 private void show() {
  System.out.println("welcome!"   name);
  System.out.println("x="   x);
 }

 /**结果输出:
 构造代码块执行-------
 构造方法执行-------
 welcome!huyuyu
 x=100
 *******************
 构造代码块执行-------
 构造方法执行-------
 welcome!hushaoyu
 x=100
 */
}
<!DOCTYPE html>
<html>
<head>
    <title>HTML5树叶飘落动画</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=500px, initial-scale=0.64">
    <link rel="stylesheet" href="leaves.css" type="text/css">
    <script src="leaves.js" type="text/javascript"></script>
</head>
<body>
    <div id="container">
        <div id="leafContainer"></div>
        <div id="message">
            <em>这是基于webkit的落叶动画</em>
        </div>
    </div>  
</body>
</html>

让进程转入后台:

3.静态代码块

静态代码块:static修饰并用"{}括起来的代码块。

本性:用来早先化静态成员变量,先河推行(随着类的加载而加载),只进行叁次。

package cn.com.daimakuai;
/**
 * Staticdaimakuai
 *@author:hushaoyu
 *2017-2-13上午10:45:49
 *@描述:静态代码块
 */
public class Staticdaimakuai {
 public static void main(String[] args) {
  System.out.println("main方法执行-------");
  System.out.println("***创建第1个对象***");
  new Staticdaimakuai();
  System.out.println("***创建第2个对象***");
  new Staticdaimakuai();
  System.out.println("***创建第3个对象***");
  new Staticdaimakuai();
 }
 //静态代码块
 static{
  System.out.println("静态代码块执行-------");
 }
 //构造方法
 Staticdaimakuai(){
  System.out.println("构造方法执行------");
 }
 //构造代码块
 {
  System.out.println("构造代码块执行------");
 }

 /**  结果输出:
   静态代码块执行-------
   main方法执行-------
   ***创建第1个对象***
   构造代码块执行------
   构造方法执行------
   ***创建第2个对象***
   构造代码块执行------
   构造方法执行------
   ***创建第3个对象***
   构造代码块执行------
   构造方法执行------
 */

}

css代码:

复制代码 代码如下:

四.联合实行代码块

body
{
    background-color: #4E4226;
}

#container {
    position: relative;
    height: 700px;
    width: 500px;
    margin: 10px auto;
    overflow: hidden;
    border: 4px solid #5C090A;
    background: #4E4226 url('images/backgroundLeaves.jpg') no-repeat top left;
}

#leafContainer {
    position: absolute;
    width: 100%;
    height: 100%;
}

#message{
    position: absolute;
    top: 160px;
    width: 100%;
    height: 300px;
    background:transparent url('images/textBackground.png') repeat-x center;
    color: #5C090A;
    font-size: 220%;
    font-family: 'Georgia';
    text-align: center;
    padding: 20px 10px;
    -webkit-box-sizing: border-box;
    -webkit-background-size: 100% 100%;
    z-index: 1;
}

em {
    font-weight: bold;
    font-style: normal;
}

#leafContainer > div {
    position: absolute;
    width: 100px;
    height: 100px;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: normal;
    -webkit-animation-timing-function: linear;
}

#leafContainer > div > img {
     position: absolute;
     width: 100px;
     height: 100px;
     -webkit-animation-iteration-count: infinite;
     -webkit-animation-direction: alternate;
     -webkit-animation-timing-function: ease-in-out;
     -webkit-transform-origin: 50% -100%;
}


@-webkit-keyframes fade
{
    0%   { opacity: 1; }
    95%  { opacity: 1; }
    100% { opacity: 0; }
}

@-webkit-keyframes drop
{
    0%   { -webkit-transform: translate(0px, -50px); }
    100% { -webkit-transform: translate(0px, 650px); }
}

@-webkit-keyframes clockwiseSpin
{
    0%   { -webkit-transform: rotate(-50deg); }
    100% { -webkit-transform: rotate(50deg); }
}


@-webkit-keyframes counterclockwiseSpinAndFlip 
{
    0%   { -webkit-transform: scale(-1, 1) rotate(50deg); }
    100% { -webkit-transform: scale(-1, 1) rotate(-50deg); }
}

Ctrl z

联机代码块:运用在拾2线程方面。

 

js代码:

将经过转到前台:

  

 

代码块分类: 一.平日代码块 2.构造代码块 叁.静态代码块 四.同台代码块 代码块无法独立运作,要求正视于任何安顿,格式...

const NUMBER_OF_LEAVES = 30;
function init(){
    var container = document.getElementById('leafContainer');
    for (var i = 0; i < NUMBER_OF_LEAVES; i  ) {
        container.appendChild(createALeaf());
    }
}

function randomInteger(low, high){
    return low   Math.floor(Math.random() * (high - low));
}

function randomFloat(low, high){
    return low   Math.random() * (high - low);
}

function pixelValue(value){
    return value   'px';
}

function durationValue(value){
    return value   's';
}

function createALeaf(){
    var leafDiv = document.createElement('div');
    leafDiv.style.top = "-100px";
    leafDiv.style.left = pixelValue(randomInteger(0, 500));
    leafDiv.style.webkitAnimationName = 'fade, drop';
    var fadeAndDropDuration = durationValue(randomFloat(5, 11));
    leafDiv.style.webkitAnimationDuration = fadeAndDropDuration   ', '   fadeAndDropDuration;
    var leafDelay = durationValue(randomFloat(0, 5));
    leafDiv.style.webkitAnimationDelay = leafDelay   ', '   leafDelay;

    var image = document.createElement('img');
    image.src = 'images/realLeaf'   randomInteger(1, 5)   '.png';
    var spinAnimationName = (Math.random() < 0.5) ? 'clockwiseSpin' : 'counterclockwiseSpinAndFlip';
    image.style.webkitAnimationName = spinAnimationName;
    var spinDuration = durationValue(randomFloat(4, 8));
    image.style.webkitAnimationDuration = spinDuration;

    leafDiv.appendChild(image);
    return leafDiv;
}

window.addEventListener('load', init, false);

复制代码 代码如下:

 转发地址:

fg

发出随机的十陆进制数,个中n是字符数:

复制代码 代码如下:

openssl rand -hex n

在现阶段shell里实行八个文书里的吩咐:

复制代码 代码如下:

source /home/user/file.name

截取前5个字符:

复制代码 代码如下:

${variable:0:5}

SSH debug 模式:

复制代码 代码如下:

ssh -vvv user@ip_address

SSH with pem key:

复制代码 代码如下:

ssh user@ip_address -i key.pem

用wget抓取完整的网址目录结构,存放到本地目录中:

复制代码 代码如下:

wget -r --no-parent --reject "index.html*" -P /home/user/dirs

壹次创造两个目录:

复制代码 代码如下:

mkdir -p /home/user/{test,test1,test2}

列出包蕴子进度的进程树:

复制代码 代码如下:

ps axwef

创建 war 文件:

复制代码 代码如下:

jar -cvf name.war file

测试硬盘写入速度:

复制代码 代码如下:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

测试硬盘读取速度:

复制代码 代码如下:

hdparm -Tt /dev/sda

获得文本的md伍 hash:

复制代码 代码如下:

echo -n "text" | md5sum

检查xml格式:

复制代码 代码如下:

xmllint --noout file.xml

将tar.gz提取到新目录里:

复制代码 代码如下:

tar zxvf package.tar.gz -C new_dir

使用curl获取HTTP头信息:

复制代码 代码如下:

curl -I

修改文件或目录的时间戳(YYMMDDhhmm):

复制代码 代码如下:

touch -t 0712250000 file

用wget命令实践ftp下载:

复制代码 代码如下:

wget -m ftp://username:password@hostname

转换随机密码(例子里是十七个字符长):

复制代码 代码如下:

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

快快备份二个文本:

复制代码 代码如下:

cp some_file_name{,.bkp}

做客Windows共享目录:

复制代码 代码如下:

smbclient -U "DOMAINuser" //dc.domain.com/share/test/dir

实施历史记录里的吩咐(这里是第90行):

复制代码 代码如下:

!100

解压:

复制代码 代码如下:

unzip package_name.zip -d dir_name

输入多行文字(CTPRADOL d 退出):

复制代码 代码如下:

cat > test.txt

创建空文件或清空3个共处文件:

复制代码 代码如下:

> test.txt

与Ubuntu NTP server同步时间:

复制代码 代码如下:

ntpdate ntp.ubuntu.com

用netstat显示全部tcp四监听端口:

复制代码 代码如下:

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

qcow2镜像文件调换:

复制代码 代码如下:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img
                                 precise-server-cloudimg-amd64-disk1.raw

再也运维文件,呈现其出口(缺省是二秒3次):

复制代码 代码如下:

watch ps -ef

有着用户列表:

复制代码 代码如下:

getent passwd

Mount root in read/write mode:

复制代码 代码如下:

mount -o remount,rw /

挂载叁个索引(这是不能够选拔链接的状态):

复制代码 代码如下:

mount --bind /source /destination

动态更新DNS server:

复制代码 代码如下:

nsupdate < <EOF
update add $HOST 86400 A $IP
send
EOF

递归grep全部目录:

复制代码 代码如下:

grep -r "some_text" /path/to/dir

列出前13个最大的文书:

复制代码 代码如下:

lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

来得剩余内部存储器(MB):

复制代码 代码如下:

free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'

张开Vim并跳到文件末:

复制代码 代码如下:

vim some_file_name

Git 克隆钦赐分支(master):

复制代码 代码如下:

git clone git@github.com:name/app.git -b master

Git 切换成其余分支(develop):

复制代码 代码如下:

git checkout develop

Git 删除分支(myfeature):

复制代码 代码如下:

git branch -d myfeature

Git 删除远程分支

复制代码 代码如下:

git push origin :branchName

Git 将新支行推送到长途服务器:

复制代码 代码如下:

git push -u origin mynewfeature

打字与印刷历史记录中最终3回cat命令:

复制代码 代码如下:

!cat:p

运作历史记录里最终二回cat命令:

复制代码 代码如下:

!cat

寻觅/home/user下全体空子目录:

复制代码 代码如下:

find /home/user -maxdepth 1 -type d -empty

获取test.txt文件中第陆0-60行内容:

复制代码 代码如下:

< test.txt sed -n '50,60p'

运行最终三个限令(借使最终贰个下令是mkdir /root/test, 上面将会运作: sudo mkdir /root/test):

复制代码 代码如下:

sudo !!

开创一时RAM文件系统 – ramdisk (先创立/tmpram目录):

复制代码 代码如下:

mount -t tmpfs tmpfs /tmpram -o size=512m

Grep whole words:

复制代码 代码如下:

grep -w "name" test.txt

在急需进级权限的情景下往3个文书里扩展文本:

复制代码 代码如下:

echo "some text" | sudo tee -a /path/file

列出富有kill signal参数:

复制代码 代码如下:

kill -l

在bash历史记录里禁止记录最终一回对话:

复制代码 代码如下:

kill -9 $$

举目四望网络寻找开放的端口:

复制代码 代码如下:

nmap -p 8081 172.20.0.0/16

设置git email:

复制代码 代码如下:

git config --global user.email "me@example.com"

To sync with master if you have unpublished commits:

复制代码 代码如下:

git pull --rebase origin master

将具有文件名中富含”txt”的公文移入/home/user目录:

复制代码 代码如下:

find -iname "*txt*" -exec mv -v {} /home/user ;

将文件按行并列展现:

复制代码 代码如下:

paste test.txt test1.txt

shell里的进度条:

复制代码 代码如下:

pv data.log

利用netcat将数据发送到Graphite server:

复制代码 代码如下:

echo "hosts.sampleHost 10 `date %s`" | nc 192.168.200.2 3000

将tabs转变来空格:

复制代码 代码如下:

expand test.txt > test1.txt

Skip bash history:

复制代码 代码如下:

< space >cmd

去前边的办事目录:

复制代码 代码如下:

cd -

拆分大要积的tar.gz文件(每种拾0MB),然后合并回去:

复制代码 代码如下:

split –b 100m /path/to/large/archive /path/to/output/files
cat files* > archive

使用curl获取HTTP status code:

复制代码 代码如下:

curl -sL -w "%{http_code}\n" www.example.com -o /dev/null

安装root密码,强化MySQL安全设置:

复制代码 代码如下:

/usr/bin/mysql_secure_installation

当Ctrl c糟糕使时:

复制代码 代码如下:

Ctrl

赢得文件owner:

复制代码 代码如下:

stat -c %U file.txt

block设备列表:

复制代码 代码如下:

lsblk -f

寻觅文件名结尾有空格的文书:

复制代码 代码如下:

find . -type f -exec egrep -l " $" {} ;

寻找文件名有tab缩进符的文书

复制代码 代码如下:

find . -type f -exec egrep -l $'t' {} ;

用”=”打字与印刷出横线:

复制代码 代码如下:

printf '0s必发88官网,n' | tr ' ' =

你可能感兴趣的篇章:

  • Linux中施行shell脚本的四种艺术总计
  • Linux Shell中的特殊符号和含义简明计算(包蕴了绝大部份)
  • Linux中选取Shell脚本查看Java线程的CPU使用意况
  • 分享shell编制程序中的多少个小本领
  • shell grep 查找进度的小才能

本文由必发88官网发布,转载请注明来源:兑现树叶飘落,Shell的一些运用小本事搜聚