【原创】Linux常用命令记录
1. 查看网络状态分布
#!/bin/sh
netstat -apn >/dev/null | grep \
| awk 'BEGIN {printf("%-15s%-15s%-15s%-15s\n", "State", "Recv-Q", "Send-Q", "Count")} \
/^tcp/ {++C[$];R[$]+=$;S[$]+= $} END {for(a in C) printf("%-15s%-15s%-15s%-15s\n", a, R[a], S[a], C[a])}'
#/bin/sh
ps ux | grep 'SGW uWSGI' | grep -v grep | awk '{print $2}' | xargs kill -
#!/bin/sh
time curl www.baidu.com>/dev/null >&
4. 每隔一秒显示CPU/MEM/IO情况
#!/bin/sh
vmstat -n [count:]
iostat -n 1 [count:1000]
5. 查看指定pid的进程正在做什么
#!/bin/sh
strace -p [pid]
6. lsof 系列
#!/bin/sh
# 显示占用指定文件的进程信息
lsof /var/log/messages # 显示指定用户相关的文件信息
lsof -u worker # 显示指定进程打开的文件信息
lsof -p # 显示指定进程名打开的文件信息
lsof -c mysql # 显示所有网络连接
lsof -i # 显示所有tcp类型的网络连接
lsof -i tcp # 显示占用端口8080的信息
lsof -i : # -a 与操作, 多条件且查询, 多条件或查询直接罗列条件即可
lsof -i -a -p
7. 查看总的CPU占用率和单个CPU的占用率
#!/bin/sh
# 显示所有CPU使用率
sar -P ALL
mpstat -P ALL 1
# 可使用top之后按数字1也可以实现显示所有核心的占用率, 但是核心过多是无法显示
8. yum
#!/bin/sh
# 安装mysql的yum repo
sudo yum localinstall mysql57-community-release-el6-.noarch.rpm
# 查找所有跟mysql相关的repo
yum repolist all | grep mysql
# 禁用5.
sudo yum-config-manager --disable mysql57-community
# 启用5.
sudo yum-config-manager --enable mysql56-community
9. 查看父进程id
#!/bin/sh
# 第三列为父进程id
ps -ef | grep mysql
10. 查看和移除文件中非法utf8字符
#查看文件的非法utf8字符
grep -axv '.*' file.txtgrep -P "[\x80-\xFF]" file
# 过滤非法utf8字符 iconv -f utf-8 -t utf-8 -c file.txt will clean up your UTF-8 file, skipping all the invalid characters. -f is the source format -t the target format -c skips any invalid sequence
20. mysql系列
-- sql client 命令行部分
-- select 导出数据
SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table; -- 导入数据
LOAD DATA INFILE
#!/bin/sh
# 以下为shell下直接执行命令 # 用root账户和密码导出dbname数据库的结构: -d
mysqldump -uroot -pdbpasswd -d dbname >db.sql; # 用root账户和密码导出dbname数据库中test数据表的结构: -d
mysqldump -uroot -pdbpasswd -d dbname test>db.sql; # 用root账户和密码导出dbname数据库的结构和数据: 没有-d参数
mysqldump -uroot -pdbpasswd dbname >db.sql; # 用root账户和密码导出dbname数据库中test数据表的结构和数据: 没有-d参数
mysqldump -uroot -pdbpasswd dbname test>db.sql; # 清空数据库所有表, 基本思想就是生成批量的sql, 利用管道用mysql批量执行, 有外键不会成功, 只能保存到文件, 然后在收尾关开外键约束检查
# 注:mysql的输出好像只能输出到文件之后再编辑,用管道连接会发现没有任何输出(除了管道连接的俩端都是mysql cmd之外)
mysql -u[USERNAME] -p[PASSWORD] information_schema -N -s -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='[DBNAME]'" | mysql -u[USERNAME] -p[PASSWORD] [DBNAME] # 删除数据库所有表, 有外键约束时按照以下方法操作,也不会报错
# 批量生成sql, 保存到文件中, 必须保存到文件, 用管道连接会发现没有任何输出(除了管道连接的俩端都是mysql cmd之外)
mysql -u[USERNAME] -p[PASSWORD] information_schema -N -s -e "SELECT CONCAT('DROP TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='nextai'" > drop.sql
# 为了防止外键错误, 首部增加俩行, 关闭外键检查
sed -i '1i\SET NAMES utf8;\nSET FOREIGN_KEY_CHECKS = 0;' drop.sql
# 尾部开启外键检查
sed -i '$a\SET FOREIGN_KEY_CHECKS = 1;' drop.sql
# 执行sql, 必须指定数据库, 否则可能会造成误删除表的问题
mysql -u[USERNAME] -p[PASSWORD] [DBNAME] < drop.sql
11. scp远程拷贝
#!/bin/sh scp [参数] [原路径] [目标路径] # 从本地复制到远程主机
# 指定了用户名,命令执行后需要输入用户密码;如果不指定用户名,命令执行后需要输入用户名和密码;
# -r 递归复制整个目录。
scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file # 从远程复制到本地主机
scp remote_username@remote_ip:remote_folder local_file
# ... 原路径和目标路径对调
【原创】Linux常用命令记录的更多相关文章
- 【开发记录】Linux常用命令记录(一)【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- 【开发记录】Linux常用命令记录(一)
记录CentOS下,常用的命令.有时候很难记得清楚,同时方便新来的同学查阅.(将不停的追加和完善) 1)查看CPU情况 cat /proc/cpuinfo |grep "model name ...
- Linux常用命令记录
产用Linux命令 cat /proc/partitions //查看系统分区情况 fdisk -l /dev/sdb //查看磁盘物理存储 mount /dev/目录 /mnt/目录 //挂载文件 ...
- linux 常用命令记录&& xsheel 使用记录
cp -r x1 x2 复制文件x1到x2 ls 当前目录下的文件列表 ll ...
- Linux 常用命令记录(学习笔记)
不同机器间文件传输(转自:http://www.zhimengzhe.com/mac/323324.html) scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件 ...
- linux常用命令记录(一)
文件搜索命令 grep在文件中查找字符并输出 grep 字符或字符串 文件目录 grep pub /teach/.txt -c 字符出现总行数 grep .txt -n 行号 grep .txt -i ...
- Linux 常用命令记录
1.查看磁盘空间使用情况 df -[a i m] 或更多 df -lh 2.查看目录文件占用大小 du -sh * du --max-depth=1 -lh 3.内存使用qingkuang free ...
- 【原创】Linux基础之linux常用命令之文本替换
linux常用命令之文本替换 1 vi vi test_file :%s/h/h1/g 注释:全文替换,将h替换为h1 :1,4s/h/h1/g 注释:将第1行到第4行的h替换为h1 :%s/\n/, ...
- linux 常用命令(个人记录)
Linux专家的秘诀:思考-实践-在思考-再实践...linux常用命令:root 管理员用户startx 进入shutdown -h now 立刻关机shutdown -r now 现在重新启动计算 ...
随机推荐
- 深入学习python解析并读取PDF文件内容的方法
这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...
- netty源码解解析(4.0)-13 Channel NIO实现: 关闭和清理
Channel提供了3个方法用来实现关闭清理功能:disconnect,close,deregister.本章重点分析这个3个方法的功能的NIO实现. disconnect实现: 断开连接 disco ...
- Visual Studio Ultimate 2013
简体中文版 SHA-1: 07313542D36ED8BEEF18520AA4F15E33E32C7F77 http://download.microsoft.com/download/0/7/5/0 ...
- C++中析构函数的作用
如果构造函数打开了一个文件,最后不需要使用时文件就要被关闭.析构函数允许类自动完成类似清理工作,不必调用其他成员函数. 析构函数也是特殊的类成员函数.简单来说,析构函数与构造函数的作用正好相反,它用来 ...
- int**a = new int[5][6] 怎么delete
int **a = new int[5][6],这个根本编译不过去吧. 如果你想new一个二维数组出来,应该这样: int** a= new int*[5]; for (int i = 0; i &l ...
- Java集合之LinkedList源码分析
概述 LinkedLIst和ArrayLIst一样, 都实现了List接口, 但其内部的数据结构不同, LinkedList是基于链表实现的(从名字也能看出来), 随机访问效率要比ArrayList差 ...
- CSS如何让不相等的字符上下对齐
最后效果: <div class="main"> <span style="font-size:12px;"><dl class= ...
- vue中使用axios(异步请求)和mock.js 模拟虚假数据
一.使用axios 1.安装 npm install --save axios 2.引用 import Axios from 'axios' Vue.prototype.Axios = Axios 二 ...
- WEB前端面试选择题解答(共36题)
第1题 ["1", "2", "3"].map(parseInt) A:["1", "2", &qu ...
- 2018-01-04 浅尝The Little Prover一书, 重逢Chez Scheme
书开篇之前说, 本书的目标的一个例子: 证明(reverse (reverse x))对于任何列表x, 结果总是x. (安装Chez Scheme的200字请看最后) 书刚开始, 就用到一个schem ...