vim添加指定开始的行号

:g/^/ s//\=line('.')+765.':'/

vim 将文件所有行合并到一行

在 Normal Mode下执行:

ggvGJ

逗号分割的字符串转化成多行

%s/,/\r/g

gg 用于跳到行首

v 转换成 visual 模式

G 跳到最后一行

J 合并行

大文件分割:

split -a 2 -d -l 790000 check_video_list.txt check_video_list

抓包命令:

#!/bin/bash
/usr/sbin/tcpdump -i eth0 host fusion.qiniuapi.com -s0  -w fusion.qiniuapi.com.dump.cap

curl查看网络情况

#!/bin/bash
#for i in {0..10000};do bash -c "bash prefetch.sh 2>&1" >> prefetch.log;done
for id in `seq 1 1000`;do curl "http://baidu.com" -o /dev/null -s -w "dns: %{time_namelookup} - connect: %{time_connect} - total: %{time_total}\n";done
curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n"   "http://api.spark.ucloud.cn/?Action=PrefetchDomainCache&DomainId=ucdn-p50cmv&PublicKey=YakUkLeSntu13jD3d3XY3eklNgx5pS7M9905EUU3CEE%3D&UrlList.0=http%3A%2F%2Fauc.tangdou.com%2F5ED0E62CD33F15F89C33DC5901307461-20.mp4&Signature=70369069dfd920a898e6e167e60bec090e2dabeb"
curl -vX POST 'http://fusion.qiniuapi.com/v2/tune/prefetch' -H 'Authorization: QBox 557TpseUM8ovpfUhaw8gfa2DQ0104ZScM-BTIcBx:Safex72PcjqAzBuW0QPze8PyJ8o=' -H 'Content-Type: application/json' -d '{"urls": ["http://o8aazd8hz.qnssl.com/ddCG.mp4","http://o8aazd8hz.qnssl.com/ddCG.mp4"]}'  -w "\ntime_nslookup:%{time_namelookup} time_connect:%{time_connect} time_starttranfer:%{time_starttransfer} time_total:%{time_total}\n=========\n\n";sleep 5

查看内存占用

free -m | sed -n '2p' | awk '{print "used mem is "$3"M,total mem is "$2"M,used percent is "$3/$2*100"%"}'
#!/bin/bash
while :dophymem=`free | grep "Mem:" |awk '{print $2}'`phymemused=`free | grep 'buffers/cache' | awk '{print $3}'`# echo $phymem# echo $phymemusedawk 'BEGIN{printf"%.2f%\n",('$phymemused'/'$phymem')*100}'sleep 3done

svn 查看文件log

svn log -l 5 test.php
svn diff -r r9982:r9988 test.php
svn diff -r PREV:COMMITTED test.php

vim批量删除注释

:g/^#/d

vim删除空行

:g/^$/d

查看网卡实时流量

nload
iftop
bmon

shell执行php脚本

#!/bin/bash
count=`ps -ef | grep script.php | grep -v grep | wc -l`
baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)
cd $baseDirForScriptSelf
if [ $count -eq 0 ]; thennohup  php script.php >>/dev/null 2>&1 &
fi

shell 查找

find dirname -type f -name "*.php"|xargs grep "sql"
find ./ -mmin +2 -type f  -exec ls -l {} \;
find ./ -type f -name "ad*_2012-03*.log" |xargs grep '4f5ff7a0d7a98_b.jpg' -l

查找替换

find dirname/ -name "*.m3u8" |xargs sed -i 's/#EXT-X-ENDLIST/#EXT-X-ENDLIST\n/g'

删除两分钟之前的文件

find /var/www -type f -mmin 2 -exec rm {} \;

redis 批量删除

redis-cli keys "prefix*" | xargs redis-cli del

查看linux当前连接数

netstat -an|awk '/tcp/ {print $6}'|sort| uniq -c
或
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
或
netstat -antp | grep 80 | grep ESTABLISHED -c
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'
cat /proc/net/sockstat

统计nginx日志访问ip数

awk '{print $1}' access.log |uniq -c |wc -l

通过SSH将MySQL数据库复制到新服务器

mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uroot -p'password' cms | ssh -C root@192.168.2.30 "mysql -uUSER -pPASS NEW_DB_NAME"

通过压缩的 SSH 隧道 Dump 一个 MySQL 数据库,将其作为输入传递给 mysql 命令,我认为这是迁移数据库到新服务器最快最好的方法。

快速备份mysql大表

mysqldump -q -e --single-transaction  --ignore-table=table1 --ignore-table=table2 -uroot -p''   --max_allowed_packet=16777216 --net_buffer_length=8192  dbname  > dbname.sql

创建数据库

CREATE DATABASE cms default charset utf8 COLLATE utf8_general_ci;

导入数据

mysql -u root -p
use cms;
source /home/lhb/data/cms.sql

备份数据库

mysqldump -uroot -p cms --ignore-table=cms.history  --ignore-table=cms.statistics > cms.sql
/usr/bin/mysqldump -u root -p cms > /home/lhb/data/cms.sql
mysqldump --all-databases --lock-all-tables --lock-all-tables --flush-logs --master-data=2 > all.sql

把文件上传到远程服务器,把文件从远程服务器copy到本地

scp /home/lhb/data/cms.sql lhb@192.168.1.30:/home/lhb/data
scp root@172.17.1.17:/home/lhb/data/cms.sql /home/lhb/data

mysql给root启用远程登录

GRANT all privileges ON *.* TO 'root'@'%' IDENTIFIED BY '123';
flush privileges;
-----------------------------------------------------------------------
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'test'@'172.16.%.%' IDENTIFIED BY 'test'

给表添加索引

ALTER TABLE ad_event ADD INDEX ind_order(order_id)

执行定时任务

0 2 * * * /home/lhb/cli/chk_nginx.sh  >> /dev/null &

查看满查询日志

show variables like '%slow%';

在线开启mysql慢查询

set global slow_query_log=1;
set global long_query_time=2;
set global slow_query_log_file='mysql-slow.log';

记录没有使用索引的sql

set global log_queries_not_using_indexes = 1;

关闭慢查询

set global slow_query_log=0;

查看二进制事件信息

show binlog events in 'mysql-bin.000001';
show binlog events in 'mysql-bin.000001' from 107;

查看所有二进制文件

show binary logs;

删除二进制文件

purge binary logs to '指定的二进制文件'

分析nginx log

cat cms_access.log.1 |grep -v "templates" | awk '{split($7,bbb,"?");print bbb[1]}' |sed 's/[0-9].*/num/g' | sort | uniq -c | sort -n -k 1 -r | head -n 100

分析广告nginx log

cat ad_access.log.1 |grep -Po "a=[0-9a-zA-Z]*[&|[:space:]]" |awk -F '[=&]' '{print $2}' | sort |uniq -c |sort -n -k 1 -r |head -n 100

统计 par 的IP,被多少个其它IP地址访问前20条

grep par access.log | awk '{print $7" "$1}' |awk -F "par=" '{print $2}'|sort|uniq|awk '{print $1}'|uniq -c|sort -n|tail -n 20

kill进程

ps -ef |grep nginx |grep -v grep |awk '{print $2}' |xargs kill -9

查看nginx进程数

watch -n 1 -d "grep nginx|wc -l"

查看mysql进程链接数

ps axef | grep mysqld -c

查看端口是否占用

lsof -i:80
或者
netstat -an |grep 80

查看系统调用的参数,返回值,耗时

strace -p

查看进程pid打开的文件描述符

lsof -p pid

查询mysql 表信息-建立时间 更新时间 行数 版本等等

show table status;
show table status like '%tablename%';
UPDATE video_link SET location = replace( location, '\t', '' )
SELECT `video_id` FROM `video_link`  where left(`location`,1) = '\t'
delete from video where starttime<(unix_timestamp()-3600*24+7);
select count(*) from video where starttime<(unix_timestamp()-3600*24+7);

curl调用

curl  -v -H "Content-Type: application/json"  -X POST -d '{"user_name":"lhb"}' "http://url"
curl -v -H "Content-Type: application/json" "http://url" -X POST --data "data_content"

现在内存中建立一个文件夹

ln -s  /dev/shm/checkfile  /var/www/checkfile

linux 下 取进程占用 cpu 最高的前10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +10|head

linux 下 取进程占用内存(MEM)最高的前10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +10|head
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

查看网络流量

watch more /proc/net/dev
watch ifconfig

查看文件夹的大小

du -h --max-depth=1 work/testing
du -h --max-depth=1 work/testing/*
du -h --max-depth=1 work/testing/logs/
du -h --max-depth=1 work/testing/logs/*

查看linux文件目录的大小和文件夹包含的文件数 统计总数大小

du -sh xmldb/
du -sm * | sort -n //统计当前目录大小 并安大小 排序
du -sk * | sort -n
du -sk * | grep guojf //看一个人的大小
du -m | cut -d "/" -f 2 //看第二个/ 字符前的文字
查看此文件夹有多少文件 /*/*/* 有多少文件
du xmldb/
du xmldb/*/*/* |wc -l

解释:

wc [-lmw]

参数说明:

-l :多少行

-m:多少字符

-w:多少字

wget模拟浏览器下载文件

wget -x --header="User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)" -O tess.mp4  'http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/03000201004B68D8A10C3B02E28CA60F302730-0349-CBF3-D0CF-B3E30E8C08AA?K=1c5738eed4f0012b2828aa27'

tomcat 启动把8080->80端口映射

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

查看清除mysql状态该信息

show global status like 'Max_used_connections';
flush status
select @@max_user_connections;

查看设置mysql 最大连接数

show variables like 'max_connections';
set GLOBAL max_connections=2000;

mysql开启独立表空间

[mysqld]
innodb_file_per_table

查看

show variables like '%per_table%';

sqlite查看命令

.header on
.schema user
.dump user
select * from sqlite_master where type="table" and name="user";

更新数据库多表相同字段数据

cat sn.txt
10000015  35084355
10000039  35084356
user="root"
pass='1234'
db="test"
tnames=("table1" "table2" "table3")
for table in ${tnames[@]};do
#echo $table
cat sn.txt | awk '{print "update '$table' set user_id = "$2 " where user_id = " $1 ";"}' >> update.sql
done
mysql -u "$user" -p"$pass" "$db" < update.sql;

生成随机字符:

dd if=/dev/random count=1 bs=512 |md5sum

系统性能优化 常用命令:

top -ab -n 1

top -ab -n 1 |grep nginx

vmstats

查看cpu队列,以及负载情况

sar -q -f sa08

runq-sz:等待执行的任务队列长度。越长阻塞越严重

plist-sz:队列中的任务总数

cpu占用率

sar -p -f sa08

查看内存:

sar -r -f sa08

sar -B -f sa08

查看sawp的交换的频繁程度

sar -W -f sa08

查看IO

sar -b -f sa08

sar -d -f sa08

查看网络

sar -n DEV -f sa08

评估磁盘读写性能极限

fio -filename=/data/test -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=16k -size 2G -numjobs=10 -runtie=30 -group_reporting -name=mytest13

创建账户和密码

useradd lhb
echo "lhb" | passwd --stdin lhbpwd

抓包命令

tcpdump -i eth0 -nn -X -vv tcp port 21 and ip host 172.17.10.13
tcpdump -i eth0 -s0 -nn -XX tcp dst port 3306 and dst host 172.17.10.13
tcpdump -iany udp port 53

删除指定数据库的表

mysql -h'127.0.0.1' -utest -p'123456' -nse 'show tables' test_db|while read table;do mysql -h127.0.0.1' -utest -123456' -e "drop table $table" test_db;done

bash命令行编辑

Ctrl+a:跳转到命令行首。

Ctrl+e:跳转到命令行尾

Ctrl+u:删除光标至命令行首的内容

Ctrl+k:删除光标至命令行委的内容

Ctrl+l:清屏

命令历史的使用技巧:

!n:执行命令历史中的第N条命令

!-n:执行命令历史中的倒数第N条命令

!!:执行上一条命令

!string:执行命令历史中最近一个以指定字符串开头的命令

!$:引用前一个命令的最后一个参数

git push -u origin newbranch

转载于:https://blog.51cto.com/birdinroom/1399418

常用 shell sql 命令相关推荐

  1. 一些常用的sql命令记录

    一些常用的sql命令记录 取文本长度: char_length 去除非中文字符:regexp_replace(session_data, '[\u4e00-\u9fa5.^!]', '')as BOD ...

  2. DM常用查询SQL命令--系统信息篇

    DM常用查询SQL命令–系统信息篇 ​ 包括数据库版本.实例.统计信息.资源限制信息.进程信息.全局索引 IID 信息.事件信息. 1.查询实例信息 select '版本',SVR_VERSION f ...

  3. Hive常用的SQL命令操作

    转自 http://blog.csdn.net/wisgood/article/details/17186599 创建表 hive> CREATE TABLE pokes (foo INT, b ...

  4. 几个常用shell脚本命令

    1,每一行的字段个数不同,要求结果中只取出每行的最后一个字段 #cat file aaa;bbb;ccc a;dd;ddd;AAA dd;BB #awk -F';' '{print $NF}' fil ...

  5. hive shell/sql 命令行

    命令hive进入hive命令行 //列表数据库 show databases; //创建数据库 create database myhive; //创建数据库时检查存在与否 create databa ...

  6. 常用SHELL软件命令

    rpm常用操作 rpm -ivh lynx          # rpm安装          rpm -e lynx            # 卸载包          rpm -e lynx -- ...

  7. oracle中sql命令分为几类,常用的SQL命令和ORACLE命令对比

    ---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1)  value from dual 2.取整(大) S:select ceilin ...

  8. 常用的Sql命令之alter

    1.把lianxi3表,改名为lianxi6 alter table lianxi3 rename lianxi6 2.检查修改是否成功 show tables 3.修改表lianxi6,把字段ist ...

  9. Kafka常用shell脚本命令

    1.创建topic [doda@host166 kafka_2.11-2.4.1]$ ./bin/kafka-topics.sh --create --zookeeper localhost:2181 ...

  10. 常用的Sql命令之创建表

    1.创建表lianxi2 create table lianxi2(           id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,           ...

最新文章

  1. 微众银行殷磊:AI+卫星,从上帝视角洞察资产管理|BDTC 2019
  2. Dubbo:Dubbo入门---搭建一个最简单的Demo框架
  3. 0315互联网新闻 | 小红书测试短视频产品“hey”;华为与故宫共同打造“5G智慧故宫”...
  4. VTK:Rendering之MotionBlur
  5. python Demo 01 爬取大学名称
  6. scala集合转java_Java,Scala,Guava和Trove集合-它们可以容纳多少数据?
  7. 知识越分享,收获越多。
  8. 正弦波叠加成方波--Python简易版
  9. coreldraw梯形校正_CDR图文教程-CorelDREW折叠效果怎么做?
  10. 2-2日期时间类型基础
  11. 雪花算法中机器id保证全局唯一
  12. 求1000-2000年的闰年代码
  13. Python爬虫实例--新浪热搜榜[xpath语法]
  14. Spring学习笔记(二十三)——实现网站微信扫码登录获取微信用户信息Demo
  15. 关机或重新启动电脑勾选再次登录时重新打开窗口导致无法上网
  16. JavaScript实现经典消方块游戏
  17. 用计算机亩换算成平方,公倾,平方米,英亩,市亩,平方公里等常见面积单位转换在线计算器_三贝计算网_23bei.com...
  18. 研究生计算机方面有哪些专业,计算机类研究生有哪些专业?
  19. ThingJS-X森可视平台框架源码 java+Netcore版本 旗舰版企业版
  20. 面试中可以谎报薪资嘛?

热门文章

  1. 中电信推大学生3G上网套餐
  2. Zebra命令模式分析
  3. Android 开机充电图标和充电动画
  4. OpenCV 利用MFC的Picture控件显示和处理图像
  5. Linux下的内核测试工具——perf使用简介
  6. initcall机制原理及实践
  7. 栈和队列常用函数详解
  8. 三种基本排序方法-冒泡排序,选择排序,插入排序
  9. 插入排序 java实现
  10. 【图论】Prim算法求最小生成树详解