学习笔记(16)

1.ps aux TIME 是分配的时间片的总和

ps的状态

S: interruptable sleeping

D: uninterruptable sleeping

T: stopped

Z: zombie

+: 前台进程

l: 多线程进程

L: 内存分页并带锁

N: 低优先级进程

<: 高优先级进程

s: session leader, 会话(子进程)发起者

# ps xo pid,cmd,%cpu,tty x要在前,o后面要紧跟属性

# ps xo pid,cmd,%cpu k %cpu  按照cpu来排序,k 选项指定哪列排序  属性加-倒序

图形化界面的占用内存较高,生产建议以init 3 级别运行

# ps L 显示支持的属性

# euser,ruser     执行passwd命令两列不相同,因为passwd命令有特殊权限suid所以执行命令的用于要以命令所有者的身份来执行,所以euser应该是root,而ruser是执行该命令的用户

# renice 调整优先级 renice -n -10 2612

# nice -n 5 sleep 100 直接为进程指定优先级(只有root用户可以指定进程优先级)

# ps命令的属性psr可以查看到进程在哪颗cpu上运行

# ps -C f1.sh -C f2.sh (-C f1.sh,f2.sh)shell脚本需要#!/bin/bash

# ps -eo comm,etime,user |grep systemd 可以查看开机时间(etime为系统运行时间) grep搜索的内容要在ps的命令中出现

2.# pidof vim 只查看进程的id号,kill命令的时候可以使用  pidof httpd | xargs kill -9 注意要使用xargs 因为kill命令不接收标准输入

3.# uptime  load average 剩余多少个任务没有完成(1,5,10分钟内)

[[email protected] ~]#uptime

11:03:39 up  1:35,  4 users,  load average: 0.00, 0.01, 0.05

11:03:39 表示当前时间

1::35 表示的是服务器的运行时间(从开机至现在)

4 users: 表示当前用户开启的终端数(w 命令可查看)

load average: 分别表示1分钟,5分钟,10分钟的负载情况即1、5、10分钟还剩多少任务没有完成,值越大表明负载越高(值大小一般不超过1)

系统负载:指在特定时间间隔内运行队列中的平均进程数

# top

hi  硬中断(如敲击键盘鼠标似的为硬件中断)  si 软中断(程序的中断)

id(idle)  空闲

M:内存排序

P:CPU排序(默认排序方式)

d: 指定刷新的时间

l:是否显示uptime行

1:多CPU各自的显示状态信息(顺便可以查看cpu的个数,lscpu)

k:杀掉进程

W:保存状态至文件

4. pgrep -t terminal 指定显示某终端的进程,如:pgrep -t pts/0

pgrep -l 显示进程名和pid

5.清空free 命令中的buffer 空间的文件:/proc/sys/vm/drop_caches

# echo 1 > /proc/sys/vm/drop_caches 清空free 显示的buffer

6.vmstat 1  3  1秒一执行 3秒退出

7.一次写入大于内存的大小的数据,可以查看到swap占用的情况

# dd if=/dev/zero of=/data.file bs=2G count=3

8.pmap pid 查看进程内存的分配情况

9.kill -1 pid  重读配置文件(有时需要重新启动服务)

交互程序cat bc 可以使用ctrl + \ 来终止程序

kill 杀不掉mingetty,centos6的登录终端进程

killall 默认也是15信号

10.如ping 127.0.0.1 可以通过ping 127.1 来简写

11.ctrl + z  stopped ,使用bg 作业号来运行

kill -19 ping 可以让后台运行转变为后台休眠

kill -18 ping 可以让后台由休眠转为后台运行

12.Ctrl +c  是2号信号

13.作业在执行的时候依然可以输入命令来执行如 ping 127.0.0.1 &

14.jobs只能在本终端查看到后台的进程

15.使用&将进程放到后端执行,但依然是与终端有关的,可以通过ps aux 命令查看到,如果断网进程依旧关闭,为了避免此种情况可以使用screen ,断开后使用screen -r 恢复

16.并行执行

脚本中执行:

ping 127.1 &

ping 127.2 &

ping 127.3 &

命令行中并行执行

(ping 127.1 &);(ping 127.2 &);(ping 127.3 &)

{ ping 127.1 & ping 127.2 & ping 127.3 & }  注意两边的空格

17. 时间始终同步设置

vi /etc/chrony.conf  始终保持同步,如果时间差别太大的话要使用ntpdate 172.20.0.1来立即同步

server 172.20.0.1 iburst

systemctl enable chronyd

systemctl start chronyd

centos6: /etc/ntp.conf   centos7: /etc/chrony.conf  两版本的名字不同

service ntpd start

chkconfig ntpd on

18.at 17:00    ctrl+d 结束

at -l 查看作业

at -c 1  查看指定作业的详细,内容来自 /var/spool/at

ls -l /var/spool/at/  at命令写入到该文件中

at now + 15minutes

at 计划任务中如果有标准输出是发送至邮件中的,为避免大量垃圾邮件可以重定向至/dev/null

at now + 1minutes < at2.txt

echo wall atjob | at now + 1 min

at 支持标准输入,所以可以使用< 和 |

/etc/at.{allow|deny},默认只有黑名单,可以手动创建白名单,白名单黑名单都有的用户白名单的优先级高

白名单有的话,只有白名单的人才可以执行at,如果白名单里面没有,黑名单里面有的则没有权限,没有白名单,不在黑名单的人可以执行,白名单黑名单全没有的时候只有root可以执行at

脚本中使用at计划任务

at 18:00 <<EOF

rm -rf /data/*

EOF

白名单黑名单只是禁止用户再去创建at计划任务,如果将原有人员添加至黑名单,计划任务还是可以执行

19.ctrl + D (Ctrl + \) 关闭交互程序

20.crond 计划任务和at 计划任务 如果有标准输出会输出至邮件

21.crond的配置文件/etc/crontab,需要指定执行的用户名,命令写入的疾患任务不需要加

/var/log/cron 日志文件

10 21 * * * centos /bin/echo "Howdy!" 输出会发送至邮件

普通用户可以使用crontab 来创建,不能使用/etc/crontab来创建

# crontab -e (/var/spool/cron/下面创建计划任务文件,但是不能使用vim直接编辑,该文件有特殊权限suid,不能直接修改)

# crontab -e -u username

# crontan -r -u wang 删除计划任务

22.df |grep '^/dev/sd*' | sed -r '[email protected]*[ ]+([0-9]{1,3})%.*@\[email protected]' |sort -nr |head -1

23.循坏重启(centos7)

在出现引导菜单时输入e键

在linux 16开头行的末尾加rd.break后输入ctrl +x

启动之后使用mount 命令查看根分区挂载的目录,因为是只读方式挂载所以要使用mount -o remount,rw /sysroot/ 来以读写的方式重新挂载

vim /sysroot/etc/crontab 编辑计划任务,删除循环重启行后保存,init 3 启动

@reboot root reboot 循环重启

centos 6

在出现引导菜单时输入a键

最后加 空格 1 后 Enter

启动后修改循环重启计划任务文件vi /etc/crontab

24.rpm -ql crontabs

run-parts  指定目录下面所有可执行脚本全部运行

25.cat /etc/crond.0hourly 系统定义的

可以将计划任务写入到/etc/cron.*系统定义的目录中

按要求将可以将自己的脚本放到指定的目录中来定时执行

26./etc/anacrontab     period in days 隔多长时间来执行

27.脚本中加sleep 20 每20秒中执行一次

vim f1.sh

cmd 0

sleep 20

cmd 20

sleep 20

cmd 40

死循环

vim f1.sh

cmd

sleep 20

f1.sh

usleep 1000000 微秒级别

28.Centos6 修改配置网卡前要关闭NetworkManager,否则重启network服务容易报错,#service NetworkManager stop chkconfi NetworkManager off

29.Centos7同步时间时多次不成功,后来发现是时区的问题,# timedatectl status 查看时区信息, #timedatectl set-timezone Asia/Shanghai

30.脚本中匹配数字的时候,可以使用正则表达是 if [[ $num =~ ^[0-9]{1,3}$ ]] ;then ... (补充: [[]] 内部使用的正则表达式扩展正则表达式)

31.[[email protected] ~]# free

total       used       free     shared    buffers     cached

Mem:       1004112     937232      66880       3728      26232     585796

-/+ buffers/cache:     325204     678908

Swap:      2047996          8    2047988

325204 = 66880 - 26232 - 585796

678908 = 66880 + 26232 + 585796

32.算数运算

# echo $((1+2))

# echo $[1+2]

# echo 1+2 |bc

33.man 5 crontab

note: The day of a command’s execution can be specified by two fields — day of month, and day of week.  If both fields are restricted

(ie, aren’t *), the command will be run when either field matches the current time.  For example,

"30 4 1,15 * 5" would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday.

34.vim 编辑器中使用的是标准的正则表达式

:%s/^[[:space:]]\+//  删除所有行首的空格

原文地址:http://blog.51cto.com/9980200/2113058

时间: 2024-11-08 18:13:18

学习笔记(16)的相关文章

python基础教程_学习笔记16:标准库:一些最爱——random

标准库:一些最爱 random random模块包括返回随机数的函数,可以用于模拟或者用于任何产生随机输出的程序. 事实上,所产生的数字都是伪随机数,它们以一个可预测的系统作为基础,除非是为了强加密的目标,否则这些随机数还是足够随机的.如果真的需要随机性,可以使用os模块的urandom函数. 重要函数 函数 描述 random() 返回0<=n<1之间的随机实数n,其中0<n<=1 getrandbits(n) 以长整型形式返回n个随机位(二进制数) uniform(a,b) 返

springmvc学习笔记(16)-异常处理器

springmvc学习笔记(16)-异常处理器 springmvc学习笔记16-异常处理器 异常处理思路 自定义异常类 全局异常处理器 错误页面 在springmvcxml配置全局异常处理器 异常测试 本文主要介绍springmvc中异常处理的思路,并展示如何自定义异常处理类以及全局异常处理器的配置 异常处理思路 系统中异常包括两类: 预期异常 运行时异常RuntimeException 前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. 系统的dao

Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行

Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之后,在Ext.Net GridPanel的行头会出现一个展开图标,点击图标以后能够将这一行展开: 使用XTemplate实现行折叠/展开 这是最简单的一种实现,我们只需要在GridPanel的定义中加入下面的代码: <Plugins> <ext:R

[原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

前端学习笔记--16/5~22/5 jQuery,HTML5+CSS3+JS 简易微信贺卡开发

先写一下上周的总结,基本上没有偷懒,每天都有认真学习前端知识.但是有一点目标不清晰.我上周订下来的计划只完成了50%,即是只完成了坐H5+CSS3+JS的小demo.imooc上的jQuery练习并没有完成,而且还差不少. 周六去了一天潜江吃大虾,不过作为弥补,星期天一整天又把缺的时间补回来了. 至于健身,上周属于间隔期,不过在周日这些计划也都重新启动了.到今天也已经完成了执行. 下面来单步跟踪一下每天学的只是吧. 5.16 jQuery使用each()方法遍历元素. 语法: $(selecto

ArcGIS API for JavaScript 4.2学习笔记[16] 弹窗自定义功能按钮及为要素自定义按钮(第五章完结)

这节对Popups这一章的最后两个例子进行介绍和解析. 第一个[Popup Actions]介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer的形式测量要素的长度为例子进行介绍. 第二个[Custom popup actions per feature]则是上一个的升级,如果说上一个例子的功能是写死的,那么这个例子就把这个功能写活了.什么意思呢?上个例子的测距仅仅能测距,没有什么别的特别的.而这个例子以啤酒店的分布(点要素图层)为例,在自

Hadoop学习笔记—16.Pig框架学习

一.关于Pig:别以为猪不能干活 1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算.Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口. Compare:相比Java的MapReduce API,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构.

JDBC学习笔记(16):利用反射技术奖查询结果封装为对象

1 package com.xxyh.jdbc; 2 import java.lang.reflect.InvocationTargetException; 3 import java.lang.reflect.Method; 4 import java.sql.Connection; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.ResultSetMetaData; 8 i

Scala中Curring实战详解之Scala学习笔记-16

package com.leegh.function /** * @author Guohui Li */object Curring { def main(args: Array[String]): Unit = { def muliple(x: Int, y: Int) = x * y def multipleOne(x: Int) = (y: Int) => x * y println(multipleOne(6)(7)) def curring(x: Int)(y: Int) = x *

JPA学习笔记(16)——JPA高级

1.JPA的实体生命周期: JPA的实体有以下4中生命周期状态: (1).New:瞬时对象,尚未有id,还未和Persistence Context建立关联的对象. (2).Managed:持久化受管对象,有id值,已经和Persistence Context建立了关联的对象. (3).Datached:游离态离线对象,有id值,但没有和Persistence Context建立关联的对象. (4).Removed:删除的对象,有id值,尚且和Persistence Context有关联,但是已