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 ...
随机推荐
- Linux(Ubuntu)使用日记------tenserflow安装(pip安装法)
其实步骤是很简单的,只是一开始在网上找了一份错误的教程的原因,掉入了坑. 安装过程: 1. 检查pip版本 pip3 -V 要求使用最新版的pip 9.0.1,如果不是,按照下面的方法安装最新的pip ...
- union的特性,去重与不去重
转载:https://blog.csdn.net/kingmax54212008/article/details/33762921 union的特性,去重与不去重 集合操作有 并,交,差 3种运算. ...
- Java垃圾收集器概述
垃圾收集器的操作 查找未使用的对象,释放内存,并压缩堆,避免内存碎片 一个java程序,有执行应用程序逻辑的线程和执行GC的线程组.当GC跟踪对象引用,或在内存中移动对象,它必须确保应用程序线程没有使 ...
- 【C/C++】Dijkstra算法的简洁实现
Dijkstra的实现有很多种,下面给出一种较为简洁和高效的实现,可以作为模板快速使用. 1. 使用邻接表存储图: 2. 使用标准STL的vector存储每个点的所有邻接边: 3. 使用pair记录当 ...
- 【并发编程】一个最简单的Java程序有多少线程?
一个最简单的Java程序有多少线程? 通过下面程序可以计算出当前程序的线程总数. import java.lang.management.ManagementFactory; import java. ...
- docker_监控
目录 Docker 自带的监控子命令 sysdig Weave Scope cAdvisor Prometheus Prometheus 的架构 多维数据模型 Docker 自带的监控子命令 ps d ...
- latex 一些使用
texlive安装 https://blog.csdn.net/qq_38386316/article/details/80272396 管理员权限打开.bat 语言的安装可以减少 texwork 一 ...
- pta寒假作业2
题目二币值转换 题目代码 #include<stdio.h> int main (void) { int n, initial_n; scanf("%d", & ...
- Androidstudio 使用git插件提交代码
1.androidstudio中的项目已经推送到git仓库上(与仓库已经建立了联系) 参见: 2.右键目录--git---commit directory : 3.填写相应的commit Messig ...
- Entity Framework入门教程(9)---离线场景附加实体图集到上下文
附加离线实体图集到上下文 这节主要内容是通过不同的方法将离线实体附加到上下文中. 在离线场景中,保存一个实体要略微困难一些.当我们保存一个离线的实体图集或一个单独的离线实体时,我们需要做两件事.首先, ...