linux之常用命令(六)

第一节:进程管理

一、进程的概念

   程序: 静态 (数据结构+算法)

      进程: 程序的运行状态,动态的(一个程序可能有多个进程)

      线程: 进程中执行任务最小单元

      进程在运行过程中可能会产生新的进程,进程之间产生父子关系。产生进程的进程称为父进程;被产生的进程称为子进程。

二、进程生命周期

      就绪状态: 除了cpu之外其他资源已具备

   运行状态: 获取到cpu的时间片

   阻塞状态: io阻塞操作

三、进程管理命令

1、查看进程

ps:查看进程运行状态(cpu,资源,pid,当前状态等)(process)

ps -aux:查看所有用户的所有进程

pstree: 查看进程树(能够查看进程继承关系 -p:能够查看pid)

top: 查看进程状态(定期更新状态)

jps: 查看jvm进程(jdk中的)

2、杀死进程

      kill pid:杀死进程

      kill -9 pid:强制杀死进程(常用)

   pkill pname:杀死进程

      pidof pname:根据名称获取pid

3、进程调度

   ctrl+c: 终止进程(只能终止前端进程)

   ctrl+z: 挂起进程

   fg: 切换为前台进程(foreground:前台)

   bg: 切换为后台进程(background:后台)

   jobs:查看任务

第二节:计划任务

一、简介

at:  服务名称atd, 指定时刻或者延迟指定时间执行一次任务。

crontab: 服务名称crond,间隔固定时间周期执行。分时日月周

二、crontab命令使用

   -u:指定用户

      -e:编辑计划任务文件(edit:编辑)

      -l:查看计划任务(list)

      -r:删除计划任务(remove:去除)

      -i:删除时用于提示(indicate:表明)

三、基本格式

      *  *  *  *  *  command

      分  时  日  月  周  命令

      第1列表示分钟1~59 每分钟用*或者 */1表示

      第2列表示小时0~23(0表示0点) 7-9表示:7点到9点之间 

      第3列表示日期1~31

      第4列表示月份1~12

      第5列标识号星期0~6(0表示星期天)

      第6列要运行的命令

四、计划任务文件(默认)

   /var/spool/cron/

通过crontab添加的计划任务都会存储在/var/spool/cron/目录里

第三节:grep(文本生成器)

一、简介

   文本搜索并打印匹配行,支持正则表达式

   -c:统计匹配行数(count:统计)

   -i:忽略大小写(ignore:忽略)

   -v:取反(vice versa; v.v. :反之亦然)

二、基本语法

grep 字符串 文件: grep a a.txt

cat a.txt | grep a

三、常见选项

grep -c b a.txt

rpm -qa | grep -i mysql

grep -v a a.txt

四、正则表达式

1、正则表达式的简单规则

.  : 任意一个字符

a* : 任意多个a(零个或多个a)

a? : 零个或一个a

a+ : 一个或多个a

.* : 任意多个任意字符

\. : 转义.

o\{2\} : o重复两次

[A-Z]

[ABC]

2、例子

正则表达(点代表任意一个字符)

grep 'h.*p' /etc/passwd

正则表达以hadoop开头

grep '^hadoop' /etc/passwd

正则表达以hadoop结尾

grep 'hadoop$' /etc/passwd

以h或r开头的

grep '^[hr]' /etc/passwd

不是以h和r开头的

grep '^[^hr]' /etc/passwd

不是以h到r开头的

grep '^[^h-r]' /etc/passwd

猜你喜欢

转载自www.cnblogs.com/zhangxiaofan/p/10970597.html