Linux环境中的exec命令详解
简介:Linux中的Shell脚本是一个特殊的应用程序,它介于操作系统和系统内核之间,充当一个命令解释器的角色。负责接收用户输入的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。Shell脚本的执行方式有两种,一种是新产生一个shell,然后执行相应的shell scripts,新产生一个shell然后再执行scripts的方法是在scripts文件开头加入以下语句。一般的script文件(.sh)即是这种用法。这种方法先启用新的sub-shell(新的子进程),然后在其下执行命令。其标志位#!/bin/sh。另一种是在当前shell下执行,不再启用其他shell。即source命令,不再产生新的shell,而在当前shell下执行一切命令。source命令即点(.)命令。其标志为source:。
本文主要介绍Linux系统中的exec命令使用方式,详细内容请参考下文。
一、Linux系统
1、登录Linux系统

2、查看Shell环境

二、EXEC命令
1、exec简介
说明:exec执行指定命令,并替换当前 Shell 进程。exec命令通常用在 Shell脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。
比如:# exec ls

2、exec格式和选项
命令格式:exec [-cl] [-a name] [command [arguments]]
选项说明:
-a <name>
作为第 0 个参数传递给 COMMAND 命令。
-c
在一个空环境中执行 COMMAND 命令。
-l
在 COMMAND 命令的第 0 个参数中加一个短线。
3、exec常用实例
实验一:删除全部扩展名为.tmp 的文件
find ./ -name '*.tmp' -exec rm {} \;

实验二:查找全部的 PNG 文件并将其转换为 JPG
find ./ -name '*.png' -exec convert {} {}.jpg \;

实验三:在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行
find ./ -name "*.txt" -exec grep "bin" {} \;

实验四:将30天前的.log文件移动到old目录中
find /var/log -type f -mtime +30 -name "*.log" -exec cp {} /old \;


实验五:使用grep命令查找root字符
find /etc -name "passwd*" -exec grep "root" {} \;
