当前位置: 首页 > news >正文

Linux - 执行命令与脚本

01 - Linux执行多条命令

  • 方法1:在命令行下可以一次性粘贴多条语句,shell会依次执行并输出结果
  • 方法2:在一个命令行中,用分号将各个命令隔开或者使用&&连接各个命令
    示例:
# whoami;date;uptime
root
Fri Nov 4 10:58:17 EET 2016
10:58:17 up 1 day, 14:30, 1 user, load average: 1.23, 1.05, 1.04
# whoami&&date&&uptime
root
Fri Nov 4 10:58:36 EET 2016
10:58:36 up 1 day, 14:30, 1 user, load average: 0.96, 1.00, 1.02

02 - Linux区别&与nohup

&方式
使用 & 在命令结尾,可以让命令在终端的后台自动运行。
守护进程是不属于终端的单独进程组,终端关闭后,守护进程不会退出。
如果命令没有守护进程,无论加不加&,网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内相关进程退出。
也就是说,终端打开以后,bash等都是他的子程序,一旦终端关闭,系统将所有相关进程杀掉,执行中的任务也就取消了。

nohup命令
可以使用nohup命令忽略所有挂断(SIGHUP)信号,来实现在终端关闭后,命令不挂断地运行,nohup就是不挂起的意思( no hang up)。

命令格式:nohup command [ arg ... ] [ & ]
一般常用形式为:nohup command &
加不加&并不会影响这个命令,只是前台或者后台运行而已。

使用nohup命令提交作业,在缺省情况下所有输出被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件。
一般可在结尾加上"&"来将命令同时放入后台运行,也可用>filename 2>&1来更改缺省的重定向文件名。
例如:nohup command > myout.file 2>&1 &输出被重定向到myout.file文件中

03 - Linux开机自动执行命令或脚本

CentOS7

  • 在“/etc/rc.d/rc.local”文件中追加需要开机自动执行的命令和脚本
  • 确认“/etc/rc.d/rc.local”文件和要执行的脚本具有可执行权限;

Ubuntu

  • 在“/etc/rc.local”文件中添加需要开机自动执行的命令和脚本;
  • 添加的内容必须要放在“exit 0”一行之前;
  • 确认“/etc/rc.local”文件和要执行的脚本具有可执行权限;

04 - Linux用户登录或注销时执行命令或脚本

CentOS7

  • 用户登录时执行脚本:在用户目录下的“.bash_profile”或“.bashrc”文件中追加需要自动执行的命令和脚本;
  • 用户注销时执行脚本:在用户目录下的“.bash_logout”文件中追加需要自动执行的命令和脚本;

Ubuntu

  • 用户登录时执行脚本:在用户目录下的“.bashrc”文件中追加需要自动执行的命令和脚本;
  • 用户注销时执行脚本:在用户目录下的“.bash_logout”文件中追加需要自动执行的命令和脚本;

05 - Linux用户shell配置文件

CentOS7:

  • /etc/profile : 设置环境信息,作用于任何用户,当用户第一次登录时,该文件被读取;
  • /etc/bashrc : 设置bash shell环境信息,作用于任何用户,当bash shell被打开时,该文件被读取;
  • ~/.bash_profile : 每一个用户独有的bash shell信息,当用户登录时,该文件内容仅被读取并执行一次;用于交互式login shell;
  • ~/.bashrc : 每一个用户独有的bash shell信息,当用户登录时或打开新shell时,该文件内容被读取并执行;用于交互式non-login shell;
  • ~/.bash_logout : 当用户退出bash shell时, 该文件内容被读取并执行;

06 - Linux测量一个命令的运行时间

time命令:time a simple command or give resource usage
使用-p参数时,直接打印所需时间的数值,单位为秒

[root@CentOS-7 ~]# time date
Mon Nov 21 23:10:31 CST 2016
real    0m0.002s
user    0m0.000s
sys 0m0.002s
[root@CentOS-7 ~]# 
[root@CentOS-7 ~]# time -p date
Mon Nov 21 23:10:36 CST 2016
real 0.00
user 0.00
sys 0.00
[root@CentOS-7 ~]#

转载于:https://www.cnblogs.com/anliven/p/7572041.html

相关文章:

  • HashMap ConcurrentHashMap
  • 第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置...
  • 软件下载
  • 7. Oracle数据加载和卸载
  • 工作的第6个年头发现DateFormat是not synchronized
  • JAVA自学笔记18
  • android 9 patch
  • C#中string.format用法详解
  • session共享问题解决方案
  • C#编程(六十)----------LINQ的概述
  • 使用 Zipkin 和 Brave 实现分布式系统追踪
  • 让XCode自动CodeReview你的代码-OCLint使用
  • 对话翁志:京东大数据如何让技术真正落地
  • Logstash+FileBeat+MongoDB+Flask打造的日志系统(三)
  • 【SignalR学习系列】5. SignalR WPF程序
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【剑指offer】让抽象问题具体化
  • JavaScript 奇技淫巧
  • leetcode46 Permutation 排列组合
  • Mysql5.6主从复制
  • SpingCloudBus整合RabbitMQ
  • Vultr 教程目录
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 对超线程几个不同角度的解释
  • 关于List、List?、ListObject的区别
  • 解决iview多表头动态更改列元素发生的错误
  • 前端存储 - localStorage
  • 什么是Javascript函数节流?
  • 再次简单明了总结flex布局,一看就懂...
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • FaaS 的简单实践
  • 带你开发类似Pokemon Go的AR游戏
  • 容器镜像
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #pragma 指令
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (02)Hive SQL编译成MapReduce任务的过程
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Note)C++中的继承方式
  • (差分)胡桃爱原石
  • (动态规划)5. 最长回文子串 java解决
  • (分类)KNN算法- 参数调优
  • (九十四)函数和二维数组
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (三) diretfbrc详解
  • (三)uboot源码分析
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转)Oracle存储过程编写经验和优化措施
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .net core 控制台应用程序读取配置文件app.config