cd                                            
pwd                                           
mkdir -p a/b/c                                           
rmdir -p a/b/c                                           
basename /tmp/aaa                                           
dirname /tmp/aaa                                           
head -3                                           
tail -3                                           
umask -S                                           
su - oracle                                           
shutdown -h now, shutdown -r +5, shutdown -r 10:35, shutdown -c                                           
poweroff                                           
ls   ls -Srh ( 查看大小,size)   ll -t ( 按照时间排序 )                                      
ifconfig                                           
ping                                           
cat                                           
more                                           
history                                           
passwd                                           
id                                           
who                                           
lastlog                                           
uniq        ls | uniq                                   
wc        ls | wc                                   
uname –a


chown        chown -R abc:abc test_folder/  chown -R ,abc test_folder/( 只改变组 )                                   
chgrp        chgrp -R abc test_folder/                                   
chmod        chmod -R 777 test_folder/ chmod -R u=rwx,g=rw,o=r test_folder/                                   
        chmod -R a+x test_folder/ 特殊权限 chmod u+s,r+s,o+s test_folder/


cp    cp 命令含有粘贴的含义    cp -a test_folder/ abc/                                   
        cp -fr test_folder/ abc/                                   
rm        rm -rf    rm -ri


file    针对文件    file aa                                   
whereis    针对命令    whereis cd                                   
which    针对命令    which cd                                   
type    针对命令(bash别名)    type cd


dumpe2fs        dumpe2fs -h /dev/sda1                                   
df        df - h                                   
du        du --max-depth=1 -h


ln    实体链接, 所有路径都可以    ln aa bb                                   
ln -s    符号链接 源文件必须使用绝对路径,(同一个文件夹下边可以不指定路径)                                       
        ln -s /tmp/test_folder/aa ../bb


touch aa    mtime为修改时间, atime为读取时间, ctime为修改属性时间    ll --time=atime, ll --time=ctime, ll                                   
        touch -c -t '1201011010' aa ( 修改aa读取和修改时间为 12年1月1日10点10分 )                                   
        touch -m -t '1201011010' aa ( 修改aa 的修改时间为 12年1月1日10点10分)                                   
        touch -a -c '1201011010' aa ( 修改aa 的读取时间为 12年1月1日10点10分)


find    find path -option [-print] [-exec command] {} \;    find . -maxdepth 1 -name aa                                   
        find . -maxdepth 1 -perm 777                                   
        find . -maxdepth 1 -user root                                   
        find . -maxdepth 1 -group root                                   
        find . -maxdepth 1 -mtime(atime, ctime) -4(+4, 4)( +4 4天以前, -4 4天以内, 4 刚好之前的第4天                                    
        find . -nogroup                                   
        find . -nouser                                   
        find . -newer f1                                   
        find . -type b/d/c/p/l/f   #块设备,目录,字符设备, 管道, 符号链接, 普通文件                                find . -type d   
        find . -maxdepth 1 -size +4096(4096, -4096) #+大于4096, -4096小于4096, 4096等于4096                                   
        find . -name "*.txt"                                   
        find . -name "[A-Z]*"                                   
        find . -name "[a-z][a-z][0-9][0-9].txt" -print                                   
        find . -type f -exec ls -l {} \;                注意最后必须要有个分号;                   
        find . -mtime + 5 -exec rm -rf {} \; 等于 find . -mtime + 5 | xargs rm -rf


fdisk -l                                   
fdisk    fdisk 根据提示进行分区, fdisk /dev/sda    其中, 提示如下:        前4个partition默认为主分区, 所以可以是P+P+P+E, 这种类型                           
        d 删除一个分区                                   
        m 返回主菜单                                   
        n 新建一个分区        可以使用 +50(K,M,G) 来限制分区的大小                           
        p 打印已经分区情况                                   
        t 确定分区的类型                                   
        q 退出不保存                                   
        w 退出并保存                                   
    格式化    mkfs -t ext3 /dev/sda3                                   
    挂载    mount /dev/sda3 /newdisk                                   
    卸载    umount /dev/sda3 或者 umount /newdisk                                   
    设置启动自动挂载, /etc/fstab    编辑 /etc/fstab, /dev/sda3 /newdisk ext3 defaults 1 2                                   
                                           
    扩展分区中的 逻辑分区, 无法在 /dev 中显示 ? (只要关闭 linux, 就会出现)    然后, 逻辑分区的挂载等情况和主分区一样                                   
                                           
    生成一整块存储空间, 可以被当做分区挂载    dd if=/dev/zero of=./xxx bs=1M count=1024                                   
    格式化刚刚的块    mkfs -t ext3 xxx                                   
    挂载刚才生成的块    mount -o xxx /dd_disk                                   
    卸载刚刚的    umount /dd_disk


sort + 4 -r  sort 是对文本文档进行排序的, 不适用于类似 ls 等查询结构的情况.                                         
cut    截取, 类似urtalEdit 一样, 一列一列的    df | cut -d " " -f1                                   
        df | cut -c 10-20                                   
tr        cat file | tr -d 'x' >new_file                                   
        cat file | tr -s 'a' 'b' >new_file                                   
        tr -s 'a' 'b' <stat.txt >stat.tmp


groups     查看所属的组, 第一个为有效组                                       
useradd        useradd -g oinstall -G dba -d /home/oracle                                   
usermod        usermod -g oinstall -G dba -d /home/abc                                   
userdel        userdel oracle                                   
finger    查看系统里用户情况    finger oracle                                   
groupadd        groupadd xxx                                   
groupmod        groupmod -n ooo xxx( 更名,-n是-name的意思)


sed    文本处理工具,本身是一个管道命令, 主要是以行为单位处理, 可以根据行    常用option:-n slient                                   
    进行 替换, 删除, 新增, 选取 等工作    常用option: -f 直接将sed动作写在一个文档内 -f filename                                   
    sed[-nefri] command 输入文本    常用option:  -i直接修改读取档案内容,而不是输出到屏幕                                   
        a 新增, c取代, d删除, i插入, p打印, s搭配正则表达式                                   
        sed '2d' abc        删除abc文件的第2行                           
        sed '2,$d' abc        删除abc文件的第2行到最后一行                           
        sed '/test/'d abc        删除文件所有包含test的行                           
        sed '1,2a asdf' abc            在abc文件的1-2行增加 asdf                       
        sed '1,2s/old/new/g' abc            替换abc文件中的1,2行new->old                       
        sed 's/被替换内容/要替换内容/g' file

sed 的处理单位是一整行


awk    使用方法    awk '{pattern + action}' {filenames}                                   
    调用方式 3 种    1. 命令行 awk [-F field-separator] 'command' imput-files                                   
        2. awk 脚本 这种可以把所有的awk命令放到一个文件中, 并把文件头改为 #!/bin/awk                                   
        3. 将所有的 awk 命令插入到一个单独文件, 然后调用. Awk -f awk-script-file input-files                                   
        last -n 5 | awk '{print $1}'                                   
    流程    读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键".                                   
        cat /etc/passwd |awk  -F ':'  '{print $1"\t"$7}'                                   
        cat /etc/passwd |awk -F ':' ' BEGIN{print "name,shell"} {print $1","$7} END {print "blue, /bin/nosh"}'                                   
    流程    先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,                                   
        随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。                                   
        awk -F ':' '/root/' /etc/passwd  搜索包含 root 的行, 支持正则表达式                                   
    awk 编程, 用; 分隔执行语句    awk '{count++; print &0;} END{print "user count is", count}' /etc/passwd                                   
    编程借鉴了c语言的, if语句, for循环 等等

awk 的处理单位是, 一行在内部按照分隔符要求, 分出的区域


fg/bg    进程的前端和后端, 不同于排程 fg/bg %1    vi abc &                                   
jobs    直接显示目前的job情况    kill -1 -9 -15 %1(job no.)                                   
kill    1重新读取, 9强制停止, 15正常方式结束    kill -9 10633( 10633是pid)                                   
ps    ps -ef, ps -l, ps -afjx(树)                                       
top                                           
free                                           
vmstat                                           
netstat    netstat -tlnp                                       
rpm        rpm -qa 1023.rpm        查看包                           
        rpm -ivh *.rpm        安装包                           
        rpm -Uvh *.rpm        更新包


gzip    压缩    gzip -v abc.txt, zcat abc.gz, gzip -dv abc.gz                                   
bzip2    压缩    bzip2 -v abc.txt, bzcat abc.bz2, bzip2 -dv abc.bz2, bzip2 -kv abc.txt                                   
tar    打包    tar -czv -f abc.tar.gz aa/ abc.txt                                   
    查看    tar -tzv -f abc.tar.gz                                   
    解压    tar -xzv -f abc.tar.gz -C /tmp/test --exclude abc.txt                                   
    打包    tar -cjv -f abc.tar.bz2 aa/ abc.txt                                   
    查看    tar -tjv -f abc.tar.bz2                                   
    解压    tar -xjv -f abc.tar.bz2 -C /tmp/test --exclude abc.txt


正则表达式    [] 中的某一个    grep '[ae]st' aa.txt            ast','est'                       
    [^g]不包括g的    grep '[^g]oo'        有连续oo, 前边不包括g                           
    [:lower:][:upper:][:digit:][:alumn:](字母,数字)[:alpha:](字母)                                       
    ^ 没在中括号内表示行头                                       
    $ 表示行尾                                       
    . 代表任意一个字符                                       
    * 重复前一个字符, 0个~N个    *前边字符实际上已经于*结合                                   
    \ 转义字符, 可以将特殊字符转义成普通字符                                       
    {} 限定连续范围    grep -n 'o\{2,5\} regular.txt                这样搜索的话, gooooooooo也会被搜索出来, 因为搜索时只要满足条件就不继续搜索了.                   
    {} 增加开头结尾限制    grep -n 'go\{2,5\}g' regular.txt                g开头,g结尾


例行工作排程    可以脱离终端机的bash, 后台运行    at now + 3 minutes, 进入at界面, 输入命令, 例如 echo “hello,world", 然后ctrl+d 退出                                   
at    一个时间点执行的排程    at 10:30 2013-12-20             at now + 3 days                       
atq    查看一个时间点执行的排程的计划                                       
atrm    删除, 注意rm本来就是linux中的删除命令, atrm 所以是排程删除    atrm 11    11 是排程号                               
at -c    查看排程的具体内容    at -c 11                                   
crontab    循环执行的排程, 其实就是一个档案记录的修改, 增加一行就是增加一个排程    crobtab -e -l -r                                   
    这个档案就是 /etc/crontab 和 /var/spool/cron(crontab 修改的内容 )                                       
    crontab -u[username] [-l -e r ]    其中 -u 只有root才可以, 帮助其他用户建立排程                                   
    分钟 小时 日期 月 周 指令    其中 -e 表示编辑                                   
    其中 * 代表任何    其中 -l 表示查看                                   
    其中 , 代表时间段, 0 3,6 表示只有3 和 6 这两个小时执行    其中 -r 表示删除                                   
    其中 - 代表时间间隔 0 3-6 表示3到6点, 3,4,5,6                                       
    其中 /n 表示每个, 第一个字段用 /5 表示每个5分钟                                       
    系统每分钟都会读取 /etc/crontab 与 /var/spool/cron 内容                                       
    其中 /etc/crontab 分为每小时, 每天,每周,每月


系统服务    /etc/services(服务对应端口)                                       
    /init.d/atd restart, status, stop 等( 各种服务的启动, 关闭等等 )    oracle 启动时自动启动可能用到


write: 只能发给单独的用户, write root [tty], 例如 write root pts/1 进入说话界面, ctrl+d退出, 再比如 write root pts/2

mesg n 关闭通话 mesg y 打开通话

wall “hello” 广播


bash

bash 支持通配符 * ? [] [-] [^], 当指令过长时, \ 可以执行换行(\ 同时也是转义字符)

当定义变量时,需要先执行某个命令时, 用 $(), 例如 dbtest=$(uname)oracle , 注意: 这是小括号, 要先执行小括号里的命令

如果要扩充变量, 因为默认情况下变量值都是字符串的, 所以可以使用字符串进行扩展, 例如 PATH="$PATH":/home 或者 PATH=${PATH}:/home, 注意: 这是大括号, 大括号的作用是将变量值带出, 而不是只显示变量名(前边一定是双引号)

unset ddd 取消变量
bash 可以进入子 bash
set 显示所有的环境变量, 包括 PATH 等等( 个人感觉是对bash环境的设定)

stty -a 是用来查看bash 编辑设置的, 注意与 set 的区别. 比如你编辑 sqlplus 的退格, 可以使用 stty erase backspace( 键盘上的退格键 )

重定向:
标准输入 stdin, 代码 0, 使用 < 或 << ( 其中 << 表示要读取结束字符) 将原本需要键盘输入的数据改为由档案(file)内容代替
标准输出 stdout, 代码 1, 使用 > 或 >> ( 其中 >> 表示不覆盖, 继续接着输出 )
标准错误输出 stderr, 代码为2, 使用 2> 或 2>>

cat >filename <abc 表示本来要将输入的内容重定向到filename, 现在有档案abc代替输入
cat >filename <<"eof" 表示当输入eof 这个字符串时才表示输入完成
ls > filename, ls >> filename, 将本来由屏幕输出的内容, 重定向输出到文件中

ls >filename 2<err, ls >>filename 2>>err 其中err也是一个filename

ls >filename 2>&1, ls >>filename 2>&1 将错误和正确的都写入一个文件, 注意文件内并没有区别那些事由正确的写入, 那些是由错误的写入 ( 2>&1 类似一个固定符号, 表示错误的和正确的一起的意思)

多个指令, 例如, cd / ; ls , 因为指令执行后, 会有结果状态返回, 所以可以添加一些逻辑进去
ls /tmp/abc || mkdir /tmp/abc ( 如果第一个指令执行成功, 那么就不会执行第2个指令, 所以语义是, 如果目录存在, 就不创建了, 直接显示 )
ls /tmp/abc && mkdir /tmp/abc/aa ( 如果第一个执行成功, 那么才可以执行第2个指令, 所以语义是, 如果目录存在, 就在该目录里创建一个子目录 )

| 管线命令, 前一个命令的输出内容被后一个命令所读取, 管线命令只接受 stdout 而忽略 stderr ( 前一个指令的标准输出)
xargs 可以读取 stdin 内容, 剖析, xargs 命令左边部分就是将要作为 stdin, 注意, 左边部分是其他命令的标准输出 stdout, 右边部分表示要利用这个stdin 而执行的命令, 例如: || xargs cut -d "" f1

即 前一个命令执行的结果作为一个参数, xargs 右边命令依赖这个参数来执行, 右边的命令将这个参数作为标准输入.


shellscript

执行方法

1. 修改档案的可执行权限, 然后 ./档案名 ( 也可以使用绝对路径+档案名)

2. 使用 bash 或 sh 来执行, 例如 bash ex.sh

这两种执行方法都会创建一个子bash, 来执行,这样, 在shellscript脚本中创建的变量, 并不会在运行的bash(父bash)中被定义, 即shellscirpt 会创建一个子 bash 来执行这个脚本, 执行完后会返回到父bash中, 但是变量结果等等就全部没有了.

3. 但是, 如果你使用 source或. 来执行脚本, 例如 source ex.sh, 那么, 这个脚本就会父bash本身执行, 所以在脚本中定义的所有变量, 都有效.

数值计算, 方法 declare -i total=$fisrtNum*$secondNum 或者还可以使用 total=$(($firstNum*$secondNum))  #两个小括号

判断, test -e -f -d -L -r -w -x -u -g -s
文件之间判断 test file1 -nt file2, test file1 -ot file2, test file1 -ef file2
数值之间判断 test n1 -eq n2, test n1 -ne n2, test n1 -gt n2, test n1 -lt n2, test n1 -ge n2, test n1 -le n2
字符串之间判断 test -z string 判断是否为空, 如果是空返回true, test -n string 判断是否为非空, 如果为非空返回 true, test str1=str2, test str1!=str2
多重判断 -a and, -o or, ! 取反, 例如 test -f filename -a -x filename, test ! -x file ( 如果file不具备可执行权限, 返回true)

[] 等于 test, 也可以进行判断, 例如 [ -z "HOME" ] && echo "null" || echo "yes", 注意, 使用中括号作为判断是, 中括号里边两端要有空格
在中括号内每个组件都需要有空格键来分隔, 在中括号内的变量最好使用 "$value" 的形式, 在中括号内的常量, 最好使用'',或""号括起来, 另外中括号比较常用在 if then fi 中.

关于档案名的文件类型判断

-e 判断档案是否存在 (常用)

-f 该档案是否为file (常用)

-d 该档案是否为文件夹 (常用)

关于档案权限判断

-r 是否存在可读权限 (常用)

-w 是否存在可写权限 (常用)

-x 是否存在可执行权限 (常用)

两个档案之间的比较

-nt file1 是否比 file2 新

-ot file1 是否比 file2 旧

-ef file1 是否与 file2 为同一个档案, 在 hardlink 时用

两个整数的之间的判断

-eq 两数值相等

-ne 两数值不等

-gt n1 > n2

-lt n1 < n2

-ge n1 >= n2

-le n1 <= n2

判断字符串数据

-z string 判断是否为空串, 如果为空串返回 true

-n string 判断是否为非空串

string1 = string2 判断是否为相等

string1 != string 判断是否为不等

多重条件判断

-a 逻辑与, 例如 test -r filename -a -x filename

-o 逻辑或

! 逻辑非, 例如 test ! -x file 当不具有执行权限时, 返回 true

shellscript 脚本参数, /path/to/scriptname op1 op2 op3 op4, 其中 $0是脚本名, 第一个参数是 $1, 以此类推. $#: 参数个数 $@: "$1""$2""$3""$4"

shift 2 表示拿掉最前面的 2 个参数, 当然这里不包括 $0,

条件判断 if, 可以利用 && 与, || 或
script 好的例子在 /etc/init.d 这个目录下, 全部是系统要运行的脚本, 可以查看

debug

sh [-nvx] script.sh, -n 不执行script, 只检查语法, -v 在执行script前, 先将script内容打印到屏幕上, -x 也是将内容显示在屏幕上, 其中还有每条指令执行后的结果, +后边的是指令

其中的 –x 很好用( 可实现单步跟踪 )

函数, 由于脚本的运行方式是自上而下, 所以函数要放在上边, 类似 C 语言,

注意在函数体内也有内建变量, 跟shellscirpt本身的重名, 就是 $0 函数本身, $1 第一个参数, $2第2个参数, 等等,

所以在函数内部的$1表示的函数的第一个参数, 就类似其他语言函数内部的变量如果跟外边变量重名, 那么会屏蔽掉外部变量.

代码式样, 参看相关如下:

#!/bin/bash

# File: shellscript.sh

# -------------------------------

# Description: just test

# History: Copied, 2013-12-23

# Author: Leon

#

# 函数

function printint() {

echo –n “your choice is “

}

# 打印hello world

echo –e “hello world!\a\n'”

# 读入数据, –p 表示提示

read –p “please input your name:” yourname

fileuser=${yourname}

filename=${fileuser:-“filename”}

date1=$(date –date=’2 days ago’ +%Y%m%d) # 要先执行小括号里的命令

date2=$(date –date=’1 days ago’ +%Y%m%d) # 要先执行小括号里的命令

date3=$(date +%Y%m%d)

file1=${filename}${date1}

file2=${filename}${date2}

file3=${filename}${date3}

touch ${file1}

touch “$file2”

touch “$file3”

# 数值计算

read –p “please input the first number:” firstNum

read –p “please input the secod number:'” secondNum

total=$(($firstNum*$secondNum))

# test

read –p “please input (y/n")” yn

[ “$yn” == “y” –o “$yn” == “Y” ] && echo “ok, continue”  # 注意[]里的空格

# argument

echo “$0”

echo “$#”

echo “$@”

echo “$1”

# 删除参数

shift 2 # 除了0以外, 删除1-2 连个参数

shift 1 # 在刚才基础上, 再删除一个参数

# if

if [ ”&yn == “n” ] || [ “&yn” == “N” ] ; then  # 因为规定一行只能写一个命令, 所有要加分号在 then 之前

echo “NO”

fi

if ; then

something

elif ; then

something

else

others

fi

# case

case “$1” in

“hello”)

echo “hello”

;;

“hi”)

echo “hi”

;;

*)

echo “ok”

;;

esac

# loop

while [ “$yn” != “yes” –a “$yn” != “YES”]

do

read –p “please input yes/no” yn

done

until [ “$yn” == “eee” –o “$yn” == “EEE” ]

do

read –p “please input something” yn

done

declare –i i=0

while [ “$i” –lt 100 ]

do

i=$((i+1))

done

# for ( 我们不需要定义循环变量, 例如下边的 animal

for animal in dog cat elephant

do

echo “There are ${animail}s”

done

# seq main the step by steup from 1 to 100

for inum in $(seq 1 100)

do

echo ”$inum“

done

for ((i=1; i<=$num; i=i+1))

do

s=$(($s+$i))

done

exit 0


备份与还原

Linux 总结2的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  3. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  4. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  5. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

  9. Microsoft Loves Linux

    微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...

  10. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

随机推荐

  1. ORACLE 数据库名、实例名、ORACLE_SID的区别

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID) 在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instanc ...

  2. 关于constraint 的disable和enable

    建立主外键的constraint create table emp1(emp_no number(2) constraint emp_emp_no_pk primary key,ename varch ...

  3. CompileGLShader

    //-----------------------------------------------------------------------------// Purpose: Compiles ...

  4. nginx监听相同端口,根据域名请求不同的server

    nginx监听相同端口,根据域名请求不同的server 学习了:https://blog.csdn.net/liaosiqian/article/details/54861270 注意其中用的是rew ...

  5. [Typescript] Make TypeScript Class Usage Safer with Strict Property Initialization

    By setting the strictPropertyInitialization flag in the .tsconfig file, TypeScript will start throwi ...

  6. React Router V4发布

    React Router V4 正式版发布,该版本相较于前面三个版本有根本性变化,遵循 Just Component 的 API 设计理念. 本次升级的主要变更有: 声明式 Declarative 可 ...

  7. javascript - 闭包以及函数

    /** * 匿名函数 */ (function () { /** * 是否启用跟踪用户隐私 * * 启用:isPrivacys(true) * 不启用:isPrivacys(false) * */ f ...

  8. Vue 前端路由 vue-router

    1.前端路由 后端路由:多页面,服务器端渲染好返回给浏览器. 前端路由:改变url不向服务器发送请求:前端可以监听url变化:前端可以解析url并执行相应操作. 前后端分离:后端只提供API来返回数据 ...

  9. blog url.txt

    java 回收机制与虚拟机http://www.cnblogs.com/zhanglei93/p/6636831.html Java 编程经验(牛人写的)  上/下http://www.thinksa ...

  10. iOS CoreImage之滤镜简单使用

    代码地址如下:http://www.demodashi.com/demo/11605.html 老骥伏枥,志在千里 前记 最近一直在研究图像处理方面,既上一篇iOS Quart2D绘图之UIImage ...