命令行发送HTTP请求
POST:curl -X POST -d '{"app":1,"event":"1-1","context":"msg"}' -H "Content-type:application/json" http://127.0.0.1:8080/msg/post
GET:curl http://127.0.0.1:8080/msg/get?msg=hello
Install software from deb on Ubuntu
step1:sudo dpkg -i xxx.deb
( 如果出现依赖的话,执行后面的step2、step3)
step2:sudo apt -f install
step3:sudo dpkg -i xxx.deb
shell
将命令的返回值赋给变量
A=`ls -la`
反引号,运行里面的命令,并把结果返回给变量A
A=$(ls -la)
等价于反引号xargs 的使用
ps -ef |grep nymph-collect.jar | awk 'NR==1{print $2}' | xargs kill #查找nymph-collect.jar进程,并将其kill
vi 操作
删除第1行到最后一行的文字
- vi filename
-
G
(浏览模式) -
:1,.d
(命令模式)
删除第9行到第200行的内容(先用200G转到第200行) ,使用
:9,.d
VIM
在浏览模式下
- 编辑常用快捷键
行头:shift + 6
行尾:shift + 4
grep查找字符
- 命令格式:
grep [option] Regexp [file]
例如:查找屏幕输出的内容中含有a的匹配结果,-n是结果的结果所在行号
$ echo "afeitetst" | grep -n "a" 1:afeitetst
常用示例:
grep -n 'null' /dir/log #显示文件中含有null的行,且打印此行在文件中的行号 grep -lr '$root' /etc #递归查找/etc下包含行结尾为root的文件名
文件查找
find ~ -type d
#列出根目录下中所包含的所有文件夹
find . –name "*.java"
#内出当前目录下文件名以.java结尾的文件
awk基础概念
awk把文件(或其他方式的输入流, 如重定向输入)看作一个记录集, 把每一行看作一条记录, 把每一行中以空格(或\t,或用户自己指定的分隔符)分割的字符串看作一个字段. 这似乎把文件记录看成数据库. 但是, awk仍然以行为单位逐行处理.
awk基本语法:awk 'pattern1 {command1;command 2}pattern2 { command …}'
- pattern表示用来过滤记录的模式, 可是是正则表达式, 关系运算表达式, 也可以什么也没有(表示选中所有记录);
- 每个pattern选中的行记录会被花括号括起来的命令command操作一遍, command之间用;分割. 花括号里面可以什么也没有, 则默认为print输出整行记录.
- Comamnd可以是输出, 可以是算术运算, 逻辑运算, 循环控制等等.先看几个例子, 以建立对awk的命令直观的了解.
下面以实例讲解,input.txt的内容为:
一行中的5个字段分辨表示姓名, 出生年, 性别,科目,分数, 是一个很传统很典型的报表文件.
-
把input.txt文件中的内容按照一定的条件打印
awk 'BEGIN{print "数据结果如下:\r\n 姓名| 出生日期 | 性别 | 科目 | 分数"}{print}END{print "------"}' input.txt
效果如图
ps:相当于给原来的文件内容增加了一些额外的内容 -
直接输出1990年出生的同学
$ awk /1990/ input.txt
对chinese的课程的行输出为语文
$ awk '/chinese/{print "语文"}' input.txt
查找语文成绩大于90,数据成绩大于90的人数
awk 'BEGIN{goodChinese=0;goodMath=0}($4 == "chinese" || $5 > 90){goodChinese++};($4 == "math" && $5 > 90){goodMath++} END{print "语文好的:"goodChinese;print"数学好的:"goodMath}' input.txt
找出大于1985年出生的学生姓名,年龄
awk '$2>"1985"{print $1, $2}' input.txt
找出不是1990年出生的学生姓名, !~表示不匹配正则表达式
$ awk '$2!~/1990/{print $1}' input.txt
第四个字段科目为chinese的记录编号, 学生姓名, 科目和成绩.
awk '$4=="chinese"{print NR, $1, $4, $5}' input.txt
每行中是chinese的字段改成语文,其中,-F 指定列中的分隔符为空格
awk -F " " 'BEGIN{ print "数据结果如下:\r\n 姓名| 出生日期 | 性别 | 科目 | 分数"} { if ($4 == "chinese"){$4="语文"} {print} } END{print "------"}' input.txt
说明:BEGIN和END是特殊模式,分别作用在记录开始前和记录结束后.变量: 上面说到command可以是算术运算, 所及运算等, 则既然有运算, 就有常量变量, awk可以自定义变量(不需要提前声明, 但最好在BEGIN里面给它初始化). Awk也维护了一组程序变量:
变量 | 说明 |
---|---|
$0 | 当前记录; |
$1, $2, … $n | 当前记录的字段 |
FILENAME | 当前的文件名 |
NR | 行数量 |
NF | 列数量 |
sed
sed是stream editor的简称,意为流编辑器。
语法:
sed [option] 'command' input_file
input.txt文件的内容:
- 显示除开2-5行的结果到屏幕
$ sed '2,5d' input.txt
- 显示文件,只显示第一行。
sed '2,$!d' input.txt
则只显示除第一行外的其它行。
sed '2,$d' input.txt
- 只显示文件的第5行
$ sed -n '5p' input.txt
- 删除第3行到最后一行
$ sed '3,$d' input.txt
- 查询包括关键字zhang所在所有行
$ sed -n '/zhang/p' input.txt
- 查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义
sed -n '/\$/p' input.txt
- 第一行后增加字符串"the append context"
sed '1a the append context' input.txt
- 将english替换为英语
$ sed 's/english/英语/g' input.txt
- 将 input.txt 的内容列出并且列印行号,同时,将第 2~5 行删除!
$ nl input.txt | sed '2,5d'
- 显示 input.txt有chinese关键字的行
$ nl input.txt | sed -n '/chinese/p'
linux下查看时间戳
date -d @1416387827
系统显相关
显示磁盘信息
df -h
ncdu
查看哪个目录占用磁盘容量较多
du -sh * | sort -nr | head -10
显示前十个占用空间最大的文件或目录内存信息
free
开关机
- 关机
init 0
- 重启
init 6
网络配置
ifconfig eth0 192.168.88.90 submask 255.255.255.0
虚拟机中的机器重启后,ip地址会改变,下面提供静态ip配置方法( CentOS 7.0 )
编辑网卡的配置文件
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
更改:
ONBOOT=yes BOOTPROTO=none
添加:
IPADDR=192.168.1.89 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
重启所有网卡
# service network restart
查看端口
netstat -tunpl | grep 4880
杀掉进程
pkill redis-server
运行jar
在windows下下面:
start /min java -jar Chapter1-1.0.0.jar 1>nul 2>&1 &
在linux下面:
#! /bin/sh nohup java -Xmx256m -Xms256m -jar Chapter1-1.0.0.jar >/dev/null 2>&1 &
查看 jar 文件内容列表
jar -tf news-sys-0.1.war
ubuntu 下面 chrome不能正常启动
rm -rf ~/.config/google-chrome/
查看磁盘占用大小
sudo du -hd 1 | sort
查看3306对应的进程号码
sudo netstat -anp|grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1199/mysqld
查看mysql程序对应的进程号码
ps -ef|grep mysql
mysql 1199 1 0 09:58 ? 00:00:42 /usr/sbin/mysqld
afei 23015 23001 0 21:03 pts/2 00:00:00 grep --color=auto mysql
usage scp
ssh root@192.168.0.178 -p33520
password: netdog()CAT007
scp -P33520 ~/Downloads/virtual-sport/target/virtual-sport.jar root@192.168.0.178:/opt