linux命令同时的简单介绍

linux怎么使多条命令同时执行一次执行多个命令可以将多个命令用英文分号分割,比如像这样:
mkdir /tmp/mydir; touch /tmp/mydir/myfile
其实这样也不能算是同时执行,Linux的命令是顺序执行的,就算是shell脚本 , 里面写了一大堆命令,同样也顺序执行的 。如果前一个命令执行的时间比较长,后面的命令就只有等待了 。如果命令执行时间比较长,又想让命令同时执行,恐怕只能打开多个虚拟终端才行(右键虚拟终端界面,选择“打开标签”),打开多个登录的虚拟终端其实是运行了多个“会话”,多个“会话”中的命令才是“同时”执行 。
Linux如何同时关闭多个进程的技巧?示例:在Linux平台上后台运行4个vim进程,使用如下命令即可同时结束掉4个vim进程
ps -efww|grep vim |grep -v grep|cut -c 9-15|xargs kill -9
说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入 。
“ps -efww”是查看所有进程的命令 。这时检索出的进程将作为下一条命令“grep“的输入 , 注意要结束其它程序时 , 请将上面命令中的vim替换成其它程序名 。
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程 。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID 。
“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令 。
“kill -9”会强行杀掉指定进程,这样就成功清除了同名进程 。
linux 用一个find命令是否可以同时查找出某个目录下以log或者是out结尾的二种文件?find ./ -name "*.log" -o -name "*.out"\x0d\x0a其中-o是或者的意思,就是在当前目录下 , 查找以log或者out结尾的文件 。\x0d\x0a类似的还有-a,并且,查找同时满足多个条件的文件\x0d\x0a-not,查找不满足条件的文件 。\x0d\x0a具体例子:\x0d\x0asudo find /etc -size +1M -exec echo {} \;\x0d\x0a#在/etc目录下找文件大小在1M以上的文件并且显示,文件用换行符隔开 。\x0d\x0asudo find /etc -size +1M | xargs echo\x0d\x0a#达到-exec相同的功能但是用空格分开寻找到的文件 。\x0d\x0a#-exec后面的{} \;是不能少的 。\x0d\x0afind 紧跟的是指定开始寻找的绝对路径,我取当前路径 。\x0d\x0afind ./ -user 用户名\x0d\x0a#find后面接的是开始寻找路径名,它会在这个路径下递归寻找 。\x0d\x0a#-user 指定用户名\x0d\x0afind ./ -not -user 用户名\x0d\x0afind ./ -not -name 文件名\x0d\x0afind ./ -not -type 类型(一般文件f,目录d,字符文件c)\x0d\x0a#寻找不匹配的文件 。\x0d\x0afind ./ -user 用户名 -o -type f\x0d\x0a#寻找当前目录下用户你指定用户文件或者(-o)一般文件 。\x0d\x0afind ./ -size +1M -o -type d\x0d\x0a#寻找当前目录下文件大于1M的文件或者是目录 。\x0d\x0afind ./ -size -1M -a -type f\x0d\x0a#寻找当前目录下文件小于1M并且文件类型是一般文件的文件 。
linux命令输出到屏幕的同时保存到文件tee用于把命令结果打印在屏幕上并同时保存到文件 。
tee用法
描述:从标准输入中读取并同时写入到标准输出和指定的文件上
选项:
-a,--append:不覆盖,而是追加输出到指定的文件中
-i,--ignore-interrupts:忽略中断信息
若指定的输出文件为'-' , 则再次输出到标准输出上
实例:
tee Example.txt #将标准输入中输入的内容同时输出到Example.txt和标准输出上
实践:
例如 ifconfig | tee ifconfig.log
查看iconfig.log
注:
标准输入一般有键盘和其它文件 , 标准输出有屏幕等 。tee只能进行标准输入的输出 , 对于错误输入是不能输出的 。

推荐阅读