Linux--奇思淫才
| Image Entrypoint | Image Cmd | Container command | Container args | Command run |
|---|---|---|---|---|
| [/ep-1] | [foo bar] | not set | not set | [ep-1 foo bar] |
| [/ep-1] | [foo bar] | [/ep-2] | not set | [ep-2] |
| [/ep-1] | [foo bar] | not set | [zoo boo] | [ep-2 zoo boo] |
| [/ep-1] | [foo bar] | [/ep-2] | [zoo boo] | [ep-2 zoo boo] |
shell 脚本遇到错误时直接退出
set -e
在写的每个脚本都应该在文件开头加上set -e,
这句语句告诉bash如果任何语句的执行结果不是true则应该退出
查看CPU消耗前十的进程
[ec2-user@baolin ~]$ps -aux --sort=-pcpu |head
根据进程号找到可执行的文件路径
[ec2-user@baolin ~]$ ll /proc/<pid>/exe
lrwxrwxrwx 1 ec2-user ec2-user 0 May 30 06:41 /proc/<pid>/exe -> /usr/local/java/jdk1.7.0_79/bin/java
mysql单条语句生成insert sql语句
[ec2-user@baolin ~]$ mysqldump -h 192.1688.50.100 -t -uroot -p baolin_rel tbl_ap_version_i --where="vers_id < 100" > tbl_ap_version_i.sql
Enter password:
mysql查看表的列信息
MariaDB [adsdk_rel]> show full columns from 表名;
+-----------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-----------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-------------+
| usin_id | int(10) | NULL | NO | PRI | NULL | auto_increment | select,insert,update,references | |
| usin_deviceId | varchar(100) | utf8_general_ci | NO | | NULL | | select,insert,update,references | 设备ID |
| usin_appId | varchar(10) | utf8_general_ci | NO | | NULL | | select,insert,update,references | APP应用ID |
| usin_createTime | datetime | NULL | NO | | NULL | | select,insert,update,references | 日期 |
+-----------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-------------+
4 rows in set (0.01 sec)
查看Linux的网关
[root@linux_base#>> ~]#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
通过sshpass实现对秘钥的分发
# 安装 sshpass
# yum install sshpass -y
# 生成本地key
# ssh-keygen
[root@linux-node1#>> ~]#egrep -v "#|^$" scp_key.sh
IP="
192.168.100.11
192.168.100.12
192.168.100.13
"
for node in ${IP};do
sshpass -p 123456 ssh-copy-id -p22 ${node} -o StrictHostKeyChecking=no
if [ $? -eq 0 ];then
echo "${node} 秘钥copy完成,准备环境初始化....."
scp -P22 /etc/hosts ${node}:/etc/hosts
echo "${node} host 文件拷贝完成"
fi
done
当修改完时区后发现计划任务不能在指定时间执行:
# 重启一下计划任务
systemctl restart crond.service
Vim 粘贴格式错乱解决
:set paste
查看文件目录大于100 M的文件夹
root@cd849280f837e4584aa13572dc2ff51d/diff# du -sh * |egrep \(\[0-9\]\{1,3\}\)\{3\}M | sort
133M 04468714e8fc6d5437c54e5f8ab9a67d6b092b74dd4784a84d5bee3ad1217221
133M 5f457319fdabcfa6f22ed47f60af69a74f781b5b035fc49a6a5f0d1ab5d3855e
137M 76af62511fc0eb213aea6f4e183c2f2124c6b729401022dd480cec58c2f14a16
153M 9cabdd2e9f7c7aff0d23ad3fc80b924574a8fb7046d389a51bb843a186956d9a
181M 5d0c9517f3a8baab413a8407c0b72fc34130929c081145f58201205989b5f8f0
190M c5bcce19e9c189198e24613d7ec317c2747be5631f7610704f9b8856b7b80a36
203M 4cffaee108a74ed17a964e379754f7e33994b6e09192acfe65e288738911c29c
常用命令
ps的常见参数
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行
1 .查看java进程的pid
[ec2-user@ip-172-11-11-10 ~]$ ps -ef |grep java
2 .根据进程pid 查看有哪些线程 tid
[ec2-user@ip-172-11-11-10 ~]$ ps -mp 32355 -o THREAD,tid,time |sort -rn
3 .查询CPU占用前10的进程
[ec2-user@ip-172-11-11-10 ~]$ ps -aux --sort=-pcpu |head -10
TOP 常用参数
1 .查看当前进程的tid实时状态
[ec2-user@ip-172-11-11-10 ~]$ top -H -p 32355
2 .查看指定tid 的16进制值
[ec2-user@ip-172-11-11-10 ~]$ printf "%x\n" 8509
3 .使用jstack 查看该 pid的线程内容
[ec2-user@ip-172-11-11-10 ~]$ ./jstack PID |grep 'tid 16 进制值' -A 60
更多top的使用方法:
https://www.jianshu.com/p/3f19d4fc4538
Linux--奇思淫才的更多相关文章
- 关于 Chrome Console 查看DOM详情细节的奇思淫巧
我们期待打印出的dom效果如下: 但某些时候,打印出来,或者通过$0.$1.document.getElementById('####') 等方式打印出来的效果如下: 根据第一幅图我们不难看出,当打印 ...
- c# 扩展方法奇思妙用基础篇八:Distinct 扩展(转载)
转载地址:http://www.cnblogs.com/ldp615/archive/2011/08/01/distinct-entension.html 刚看了篇文章 <Linq的Distin ...
- c# 扩展方法奇思妙用
# 扩展方法出来已久,介绍扩展方法的文章也很多,但都是笼统的.本人最近一直在思考扩展方法的应用,也悟出了一些,准备将这最近一段时间对扩展方法的思考,写成一个系列文章.每个文章只介绍一个应用方面,篇幅不 ...
- c# 扩展方法奇思妙用集锦
本文转载:http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html 其中本人觉得很经典的:c# 扩展方法奇思妙用基础篇五:Dictio ...
- [奇思异想]使用Zookeeper管理数据库连接串
背景 有一套特定规格的应用(程序+数据库),当有业务需求时,就需要多部署应用,并且所有的应用都使用一个共同的后台来管理.应用新增后,如何通知后台更新连接串成了一个关键的问题.于是就产生了使用ZooKe ...
- c# 扩展方法奇思妙用基础篇八:Distinct 扩展
刚看了篇文章 <Linq的Distinct太不给力了>,文中给出了一个解决办法,略显复杂. 试想如果能写成下面的样子,是不是更简单优雅 var p1 = products.Distinct ...
- linux 接口地址全部清除才清理从此接口发出的下一跳路由
接口地址全部清除才清理从此接口发出的下一跳路由 如: eth7配置两个地址 eth7: 192.168.1.1 10.1.1.1 添加一条路由: route add -net 2.2.2.0/24 g ...
- c# 扩展方法奇思妙用基础篇五:Dictionary<TKey, TValue> 扩展
Dictionary<TKey, TValue>类是常用的一个基础类,但用起来有时确不是很方便.本文逐一讨论,并使用扩展方法解决. 向字典中添加键和值 添加键和值使用 Add 方法,但很多 ...
- [奇思异想]使用RabbitMQ实现定时任务
背景 工作中经常会有定时任务的需求,常见的做法可以使用Timer.Quartz.Hangfire等组件,这次想尝试下新的思路,使用RabbitMQ死信队列的机制来实现定时任务,同时帮助再次了解Rabb ...
随机推荐
- vue.js实战——购物车练习(包含全选功能)
vue.js实战第5章 54页的练习1 直接放代码好了,全选的部分搞了好久,代码好像有点啰嗦,好在实现功能了(*^▽^*) HTML: <!DOCTYPE html> <html l ...
- Linux -- 项目部署
一 . 负载均衡 负载均衡其实就是把其中一个服务器用做反向代理, 然后通过访问这个服务器实现负载均衡. 1.准备三台虚拟机 192.168.81.130 192.168.81.131 192.168. ...
- 访问docker仓库
仓库(Repositiry)是集中存放镜像的地方,分为公共仓库和私有仓库.一个容易与之混淆的概念是注册服务器(Registry).实际上注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库 ...
- Python——字符转换(int , bool ,str)
while True: pass while 1: pass #效果相同,后者 效果更快 s = 1 y = bool (s) #结果为True,int只要不是0,就为真 s = 'abc' y = ...
- java9最新发布
链接:http://pan.baidu.com/s/1slbRFa9 密码:hcdj 给大家分享可以去下载 已接受的特性 1. Jigsaw 项目:模块化JDK源码 Jigsaw项目即JEP201是为 ...
- luogu P1744 采购特价商品
实话说我本来想找SPFA的题,结果我硬生生的把这道题做成了Floyd 先来看题,我们会发现如果把他所给的变量都输入,那么会发现用Floyd的解法,输入占了main函数的一半长度... 题目分为两步走: ...
- C. New Year and Rating 差分方程 思维
题意: 一个CF玩家打CF 给出其比赛列表和上分(掉分)情况 ,但是没给初始分 问最后最高分是多少 (情况不存在,或者可能无穷大) 思路: 设初始分为x 那么之前的回合的分数前缀和为sum 如 ...
- Java基础 -- 复用类(组合和继承)
复用类有两种实现方式. 在新的类中产生现有类的对象,由于新的类是由现有类的对象所组成,所以这种方法称之为组合. 采用继承实现. 一 组合语法 下面创建两个类WaterSource和Sprinkler ...
- C++回顾day03---<模板>
一:函数模板 建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表.这个通用函数就称为函数模板.凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需要在模板中定义一次 ...
- C++回顾day03---<纯虚函数和抽象类以及虚析构函数,delete使用>
一:纯虚函数和抽象类 纯虚函数是一个在基类中说明的虚函数,在基类中没有定义,要求任何派生类都定义自己的版本 纯虚函数为各个派生类提供一个公共接口 纯虚函数的形式: virtual 类型 函数名(参数列 ...