一、什么是管线命令

bash 命令运行的时候有输出的数据会出现! 那么如果这群数据必需要经过几道手续之后才能得到我们所想要的格式,应该如何来配置? 这就牵涉到管线命令的问题了 (pipe) ,管线命令使用的是『 | 』这个界定符号!

例:

[root@www ~]# ls -al /etc | less

如此一来,使用 ls 命令输出后的内容,就能够被 less 读取,并且利用 less 的功能,我们就能够前后翻动相关的信息了!

管线命令主要有两个比较需要注意的地方:

  • 管线命令仅会处理 standard output,对于 standard error output 会予以忽略
  • 管线命令必须要能够接受来自前一个命令的数据成为 standard input 继续处理才行。

二、常用的管线命令

①  截取命令  cut , grep

Ⅰ、 cut 命令

cut 主要的用途在于将『同一行里面的数据进行分解!』最常使用在分析一些数据或文字数据的时候! 这是因为有时候我们会以某些字符当作分割的参数,然后来将数据加以切割,以取得我们所需要的数据。

语法:

[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符

[root@www ~]# cut -c 字符区间            <==用于排列整齐的信息

选项与参数:

-d  :后面接分隔字符。与 -f 一起使用;

-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;

-c  :以字符 (characters) 的单位取出固定字符区间;

例一:

[root@localhost ~]# echo $PATH
/usr/java/jdk1.7.0_79/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# echo $PATH | cut -d ':' -f 3-5 --> 按分号分割$PATH ,并取第三个到第五个显示
/usr/local/bin:/sbin:/bin

例二:

[root@localhost ~]# export
declare -x CLASSPATH=".:/usr/java/jdk1.7.0_79/lib/dt.jar:/usr/java/jdk1.7.0_79/lib/tools.jar"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x JAVA_HOME="/usr/java/jdk1.7.0_79"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/java/jdk1.7.0_79/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x TERM="vt100"
declare -x USER="root" [root@localhost ~]# export | cut -c 12- -- >去掉前面的 declare -x
CLASSPATH=".:/usr/java/jdk1.7.0_79/lib/dt.jar:/usr/java/jdk1.7.0_79/lib/tools.jar"
G_BROKEN_FILENAMES="1"
HISTCONTROL="ignoredups"
HISTSIZE="1000"
HOME="/root"
HOSTNAME="localhost.localdomain"
JAVA_HOME="/usr/java/jdk1.7.0_79"
LANG="en_US.UTF-8"
LESSOPEN="|/usr/bin/lesspipe.sh %s"
MAIL="/var/spool/mail/root"
OLDPWD
PATH="/usr/java/jdk1.7.0_79/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
PWD="/root"
SHELL="/bin/bash"
SHLVL="1"
SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
TERM="vt100"
USER="root"

Ⅱ、 grep 命令

语法:

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:

-a :将 binary 文件以 text 文件的方式搜寻数据

-c :计算找到 '搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

--color=auto :可以将找到的关键词部分加上颜色的显示!

例一:

[root@localhost ~]# last | grep 'elgin'   -->  last 的结果当中,显示出包含有elgin字符串的行
elgin pts/0 192.168.108.1 Wed Dec 16 02:50 - 02:54 (00:04)
elgin tty1 :0 Wed Dec 16 02:49 - down (02:09)
elgin tty3 Tue Dec 15 20:41 - crash (00:13)
elgin pts/0 :0.0 Tue Dec 15 20:15 - 20:35 (00:20)
elgin tty1 :0 Tue Dec 15 20:11 - crash (00:43)
elgin pts/0 :0.0 Tue Dec 15 05:17 - 05:18 (00:01)
elgin pts/0 :0.0 Tue Dec 15 05:13 - 05:13 (00:00)
elgin tty1 :0 Tue Dec 15 04:54 - crash (15:15)
elgin tty7 :0 Tue Dec 15 04:30 - down (00:11)

例二:

[root@localhost ~]# last | grep -v 'root' --> last结果当中,显示出不包含root字符串的行
reboot system boot 2.6.32-431.el6.x Mon Dec 21 11:33 - 21:22 (3+09:48)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 20:30 - 11:15 (4+14:44)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 04:59 - 20:29 (15:30)
elgin pts/0 192.168.108.1 Wed Dec 16 02:50 - 02:54 (00:04)
elgin tty1 :0 Wed Dec 16 02:49 - down (02:09)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 02:48 - 04:58 (02:10)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 02:32 - 02:47 (00:15)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 01:12 - 02:31 (01:19)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 00:38 - 01:11 (00:33)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 20:54 - 01:11 (04:16)
elgin tty3 Tue Dec 15 20:41 - crash (00:13)
elgin pts/0 :0.0 Tue Dec 15 20:15 - 20:35 (00:20)
elgin tty1 :0 Tue Dec 15 20:11 - crash (00:43)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 20:09 - 01:11 (05:02)
elgin pts/0 :0.0 Tue Dec 15 05:17 - 05:18 (00:01)
elgin pts/0 :0.0 Tue Dec 15 05:13 - 05:13 (00:00)
elgin tty1 :0 Tue Dec 15 04:54 - crash (15:15)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 04:53 - 01:11 (20:17)
elgin tty7 :0 Tue Dec 15 04:30 - down (00:11)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 12:24 - 04:41 (-7:-43)

例三:

[root@localhost ~]# last | grep 'elgin' | cut -d '-' -f 1  --> last结果中,显示出包含elgin的行,并按‘-’ 截取 取第一段
elgin pts/0 192.168.108.1 Wed Dec 16 02:50
elgin tty1 :0 Wed Dec 16 02:49
elgin tty3 Tue Dec 15 20:41
elgin pts/0 :0.0 Tue Dec 15 20:15
elgin tty1 :0 Tue Dec 15 20:11
elgin pts/0 :0.0 Tue Dec 15 05:17
elgin pts/0 :0.0 Tue Dec 15 05:13
elgin tty1 :0 Tue Dec 15 04:54
elgin tty7 :0 Tue Dec 15 04:30

例四:

[root@localhost ~]# grep --color=auto 'test' /root/catfile    --> test关键字高亮显示
this is atest

②  排序命令  sort ,wc ,uniq

Ⅰ、 sort 命令

语法:

[root@www ~]# sort [-fbMnrtuk] [file or stdin]

选项与参数:

-f  :忽略大小写的差异,例如 A 与 a 视为编码相同;

-b  :忽略最前面的空格符部分;

-M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;

-n  :使用『纯数字』进行排序(默认是以文字型态来排序的);

-r  :反向排序;

-u  :就是 uniq ,相同的数据中,仅出现一行代表;

-t  :分隔符,默认是用 [tab] 键来分隔;

-k  :以那个区间 (field) 来进行排序的意思

例一:

[root@localhost ~]# cat /etc/passwd | sort  --> 显示文件中的内容,并排序 【从结果来看,默认以首字母来排序】
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
elgin:x:500:500:CenterOs_Seth:/home/elgin:/bin/bash
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
saslauth:x:498:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
seth:x:501:501:seth:/home/seth:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
tcpdump:x:72:72::/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

例二:

[root@localhost ~]# cat /etc/passwd | sort -t ':' -k 3   --> 按照分号分割之后的第三栏排序
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
saslauth:x:498:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
elgin:x:500:500:CenterOs_Seth:/home/elgin:/bin/bash
seth:x:501:501:seth:/home/seth:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin

例三:

[root@localhost ~]# last | cut -d ' ' -f1 | sort -u   --> last 结果按空格分割 之后的第一部分 并按字母顺序排序并去重

elgin
reboot
root
wtmp

Ⅱ、 uniq 命令

作用:去掉重复数据

语法:

[root@www ~]# uniq [-ic]

选项与参数:

-i  :忽略大小写字符的不同;

-c  :进行计数

例一

[root@localhost ~]# last | cut -d ' ' -f1 |sort |uniq  --> 通sort命令例3 

elgin
reboot
root
wtmp
[root@localhost ~]# last | cut -d ' ' -f1 | sort | uniq -c     --> 显示各个用户登陆次数
1
9 elgin
11 reboot
23 root
1 wtmp

Ⅲ 、wc命令

作用:统计文档的信息,比如行数,字数,字符数

语法:

[root@www ~]# wc [-lwm]

选项与参数:

-l  :仅列出行;

-w  :仅列出多少字(英文单字);

-m  :多少字符;

例:

[root@localhost ~]# cat /etc/passwd | wc
32 46 1481

③  双重重导向命令 tee

tee 会同时将数据流分送到文件去与屏幕 (screen);而输出到屏幕的,其实就是 stdout ,可以让下个命令继续处理!

语法:

[root@www ~]# tee [-a] file

选项与参数:

-a  :以累加 (append) 的方式,将数据加入 file 当中!

例一

[root@localhost ~]# last | tee /root/teefile | cut -d ' ' -f1|sort -u   --> 将last的内容存到 /root/teefile 文件同时经过 cut处理之后再显示到屏幕

elgin
reboot
root
wtmp
[root@localhost ~]# cat /root/teefile
root pts/1 :0.0 Mon Dec 21 04:33 - 22:30 (2+17:56)
root pts/0 192.168.108.1 Sun Dec 20 22:49 still logged in
root tty1 :0 Sun Dec 20 22:47 still logged in
reboot system boot 2.6.32-431.el6.x Mon Dec 21 11:33 - 22:21 (3+10:47)
root pts/0 192.168.108.1 Thu Dec 17 20:27 - down (3+14:47)
root pts/0 192.168.108.1 Wed Dec 16 20:35 - 05:12 (08:37)
root tty1 :0 Wed Dec 16 20:31 - down (4+14:43)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 20:30 - 11:15 (4+14:44)
root pts/0 192.168.108.1 Wed Dec 16 05:02 - down (15:27)
root tty1 :0 Wed Dec 16 05:02 - down (15:27)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 04:59 - 20:29 (15:30)
root pts/0 192.168.108.1 Wed Dec 16 02:54 - down (02:04)
root tty7 :1 Wed Dec 16 02:54 - down (02:04)
elgin pts/0 192.168.108.1 Wed Dec 16 02:50 - 02:54 (00:04)
elgin tty1 :0 Wed Dec 16 02:49 - down (02:09)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 02:48 - 04:58 (02:10)
root pts/0 192.168.108.1 Wed Dec 16 02:39 - down (00:07)
root tty1 :0 Wed Dec 16 02:36 - down (00:10)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 02:32 - 02:47 (00:15)
root pts/0 192.168.108.1 Wed Dec 16 01:50 - down (00:41)
root pts/0 192.168.108.1 Wed Dec 16 01:13 - 01:49 (00:36)
root tty1 :0 Wed Dec 16 01:13 - down (01:17)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 01:12 - 02:31 (01:19)
root tty7 :0 Wed Dec 16 01:02 - down (00:08)
root pts/0 192.168.108.1 Wed Dec 16 00:56 - 01:10 (00:14)
root pts/0 192.168.108.1 Wed Dec 16 00:56 - 00:56 (00:00)
root tty1 :0 Wed Dec 16 00:40 - 01:02 (00:21)
reboot system boot 2.6.32-431.el6.x Wed Dec 16 00:38 - 01:11 (00:33)
root pts/2 192.168.108.1 Tue Dec 15 21:02 - crash (03:36)
root pts/1 192.168.108.128 Tue Dec 15 21:00 - 21:02 (00:01)
root pts/0 :0.0 Tue Dec 15 20:55 - 21:02 (00:06)
root tty1 :0 Tue Dec 15 20:55 - crash (03:42)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 20:54 - 01:11 (04:16)
elgin tty3 Tue Dec 15 20:41 - crash (00:13)
elgin pts/0 :0.0 Tue Dec 15 20:15 - 20:35 (00:20)
elgin tty1 :0 Tue Dec 15 20:11 - crash (00:43)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 20:09 - 01:11 (05:02)
elgin pts/0 :0.0 Tue Dec 15 05:17 - 05:18 (00:01)
elgin pts/0 :0.0 Tue Dec 15 05:13 - 05:13 (00:00)
elgin tty1 :0 Tue Dec 15 04:54 - crash (15:15)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 04:53 - 01:11 (20:17)
elgin tty7 :0 Tue Dec 15 04:30 - down (00:11)
reboot system boot 2.6.32-431.el6.x Tue Dec 15 12:24 - 04:41 (-7:-43) wtmp begins Tue Dec 15 12:24:43 2015

④  字符转换命令:

Ⅰ、tr 命令

tr 可以用来删除一段信息当中的文字,或者是进行文字信息的替换!

语法:

root@www ~]# tr [-ds] SET1 ...

选项与参数:

-d  :删除信息当中的 SET1 这个字符串;

-s  :取代掉重复的字符!

例一

[root@localhost ~]# last | tr '[a-z]' '[A-Z]'     --> 将小写字母转为大写字母
ROOT PTS/1 :0.0 MON DEC 21 04:33 - 22:30 (2+17:56)
ROOT PTS/0 192.168.108.1 SUN DEC 20 22:49 STILL LOGGED IN
ROOT TTY1 :0 SUN DEC 20 22:47 STILL LOGGED IN
REBOOT SYSTEM BOOT 2.6.32-431.EL6.X MON DEC 21 11:33 - 22:35 (3+11:01)
ROOT PTS/0 192.168.108.1 THU DEC 17 20:27 - DOWN (3+14:47)
ROOT PTS/0 192.168.108.1 WED DEC 16 20:35 - 05:12 (08:37)

例二

[root@localhost ~]# cat /etc/passwd | tr -d ':'   --> 删去结果中的:号
rootx00root/root/bin/bash
binx11bin/bin/sbin/nologin
daemonx22daemon/sbin/sbin/nologin
admx34adm/var/adm/sbin/nologin
lpx47lp/var/spool/lpd/sbin/nologin
syncx50sync/sbin/bin/sync

Linux管线命令的更多相关文章

  1. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

    在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...

  2. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  3. Linux入门之常用命令(6)Bash命令重定向 管线命令

    命令重定向 将目前所得数据转移到其他地方 >  将输出结果导入文件 如  ls -l / >test     (1)若test文件不存在则创建 (2)若test文件存在 清空后写入 > ...

  4. Linux系列(11):之bash进阶与数据流导向、管线命令

    1.万用字符与特殊字符 在bash的环境下有一个特别有用的功能,那就是万用字符!下面展示常见的万用字符: 1.万用字符 除了万用字符还有一些其他的特殊字符,接下来显示特殊字符. 2.特殊字符 2.数据 ...

  5. linux 压缩命令详解

    原文地址:http://www.2cto.com/os/201112/114982.html 编写shell脚本的时候经常需要解压缩到指定的文件夹,tar命令是最常用的 参考一下说明,其中注意-C的用 ...

  6. Linux重定向命令

    linux重定向命令应用及语法  [复制链接]   发表于 2008-12-18 18:24 | 来自  51CTO网页 [只看他] 楼主     1. 标准输入的控制语法:命令 文件将命令的执行结果 ...

  7. linux tar命令

    tar命令打包还是压缩需要看所调用的命令参数....tar在使用时可以调用命令参数, 比如tar -xvf +文件名就是解包,但是不是解压...只有在使用了参数z等调用gzip等 压缩命令时才是压缩或 ...

  8. linux tar 命令

    tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件! ...

  9. 最新-Linux常用命令大全-随时更新

      一.系统管理与设置 1.信息显示命令 # man & info  //帮助手册 # man 命令 //显示相应命令的帮助内容 # arch  //显示当前系统体系结构 # cal  //显 ...

随机推荐

  1. HDU 4358 Boring counting 树状数组+思路

    研究了整整一天orz……直接上官方题解神思路 #include <cstdio> #include <cstring> #include <cstdlib> #in ...

  2. python中的MySQL数据库操作 连接 插入 查询 更新 操作

    MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...

  3. JAVA中获取工程路径的方法

    在jsp和class文件中调用的相对路径不同.在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProp ...

  4. 给你的JAVA程序配置参数(Properties的使用)

    我们在写JAVA程序时,很多时候运行程序的参数是需要动态改变的 测试时一系列参数,运行时一系列参数 又或者数据库地址也需要配一套参数,以方便今后的动态部署 这些变量的初始化,我们在写小DEMO时完全可 ...

  5. snv的绑定,检出,同步

    svn安装  http://www.android100.org/html/201511/15/196792.html svn绑定Studio 显示svn图标 效果图

  6. 第一次,触碰Web App项目,栽过的那些坑。

    此项目是一个IPad上的Web App项目,页面的滚动用了最新的IScroll 5.0 插件, 确实是挺潮的. 项目用时 1个月 完成的, 准备今天晚上上线. 这是年前的最后一篇文章了,与众位博友分享 ...

  7. 使用Java VisualVM监控远程JVM

    我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...

  8. poj 1364 King(差分约束)

    题意(真坑):傻国王只会求和,以及比较大小.阴谋家们想推翻他,于是想坑他,上交了一串长度为n的序列a[1],a[2]...a[n],国王作出m条形如(a[si]+a[si+1]+...+a[si+ni ...

  9. AngularJS 拦截器和应用例子(转)

    $httpAngularJS 的 $http 服务允许我们通过发送 HTTP 请求方式与后台进行通信.在某些情况下,我们希望可以俘获所有的请求,并且在将其发送到服务端之前进行操作.还有一些情况是,我们 ...

  10. 最简单的视音频播放示例7:SDL2播放RGB/YUV

    本文记录SDL播放视频的技术.在这里使用的版本是SDL2.实际上SDL本身并不提供视音频播放的功能,它只是封装了视音频播放的底层API.在Windows平台下,SDL封装了Direct3D这类的API ...