Linux命令-ps命令
Linux中的ps(Process Status)命令用来列出系统中当前运行的哪些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具。
kill命令用于杀死进程。
linux上进程有5种状态:
123451. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系 ...
Linux命令-killall命令
Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
1.命令格式:1killall [参数] [进程名]
2.命令功能: 用来结束同名的的所有进程
3.命令参数:123456789101112-Z, 只杀死拥有scontext的进程-e, 要求匹配进程名称-I, 忽略小写-g, 杀死进程组而不是进程-i, 交互模式,杀死进程前先询问用户-l, 列出所有的已知信号名称-q, 不输出警告信息-s, 发送指定的信号-v, 报告信号是否成功发送-w, 等待进程死亡--help, 显示帮助信息--version, 显示版本显示
4.使用实例:实例1:杀死所有同名进程
1killall vi
实例2:向进程发送指定信号
123456#后台运行程序:vi &# 杀死vi进程:killall -TERM vi# 或:ki ...
Linux命令-kill命令
Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps、pidof、pstree、top等工具获取进程PID,然后使用kill命令来杀掉该进程。
kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。
1.命令格式:1kill [参数] [进程号]
2.命令功能: 发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
3.命令参数:12345-l, 信号,若果不加信号的 ...
Linux命令-grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式输出,它的使用权限是所有用户。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
1.命令格式:1grep [option] pattern file
2.命令功能: 用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。
3.命令参数:1234567891011121314151617181920212223242526-a --text, 不要忽略二进制的数据。 -A< ...
Linux命令-echo命令
echo命令用来打印信息,是一个最常用的命令。在命令行中常用来打印环境变量的值,已确定当前环境中是否设置了指定的环境变量。在shell脚本中,常用来打印信息和帮助调试程序。
1.命令格式:1echo <string>
2.命令功能: 用于字符串的输出
3.命令参数:12-n, 打印信息之后不换行。-e, 对字符串转义。
4.使用实例:实例1:打印当前的PATH设置
1echo $PATH
实例2:打印当前的LANG(系统语言)设置
1echo $LANG
实例3:打印之后不换行
12345# 此处使用了-n参数,避免在输出信息之后自动换行。# read命令从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量name[root@localhost ~]# echo -n "Please input your name: "; read name; echo "Your name is $name"Please input your name: lxyYour name is lxy
实例4:对输出信 ...
Linux命令-expect命令
expect可以实现shell实现不了的用户交互的需求。expect可以将交互写在一个脚本上,完成很多自动化的动作,比如ssh、ftp登陆等,都是需要交互需求的。
expect是需要安装的,直接yum -y install expect安装即可。
expect的四个关键命令为:spawn、expect、send、set,其中spawn是调用要执行的命令,expect是等待命令提示信息的出现也即捕捉用户提示信息,send是发送需要交互的信息来替代手工的输入,set则是输入变量值。
1.命令格式:1expect [选项] [ -c cmds ] [ [ -[f|b] ] cmdfile] [ args]
2.命令功能: expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。
在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输 ...
Linux命令-dirname命令
dirname命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个命令很少直接在shell命令行中使用,我一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。Linux下还有一个命令是basename,它与dirname相反,是取得文件名称部分。
dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个/后无字符,dirname命令使用倒数第二个/,并忽略其后的所有字符。dirname和basename通常在shell内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。
1.命令格式:1dirname <NAME>
2.命令功能: 截取给定路径的目录部分。
3.命令参数:4.使用实例:实例1:截取目录部分
1dirname /usr/bin/sort
输出:
1/usr/bin
实例2:截取目录部分
1dirnam ...
Linux命令-diff命令
diff(Difference)命令是linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁(patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。
1.命令格式:1diff [参数] [文件1或目录1] [文件2或目录2]
2.命令功能: diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
3.命令参数:12345678910111213141516171819202122232425262728293031323334-, 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。-a ...
Linux命令-date命令
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。
1.命令格式:1date [参数]... [+格式]
2.命令功能: date可以用来显示或设定系统的日期与时间。
3.命令参数:必要参数:
123456789101112131415161718192021222324252627282930313233%H, 小时(以00-23来表示)。 %I, 小时(以01-12来表示)。 %K, 小时(以0-23来表示)。 %l, 小时(以0-12来表示)。 %M, 分钟(以00-59来表示)。 %P, AM或PM。 %r, 时间(含时分秒,小时以12小时AM/PM来表示)。 %s, 总秒数。起算时间为1970-01-01 00:00:00 UTC。 %S, 秒(以本地的惯用法来表示)。 %T, 时间(含时分秒,小时以24小时制来表示)。 %X, 时间(以本地的惯用法来表示)。 %Z, 市区。%a, 星期的缩写。 %A, 星期的完整名称。 %b, 月份英文 ...
Linux命令-crontab命令
at命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由cron(crond)这个系统服务来控制的。Linux系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务的命令即crontab(cron table)命令。
1. crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
Linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
/etc/crontab文件包括下面几行:
123456789101112131415[root@l ...