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 ~]#

Linux - 执行命令与脚本的更多相关文章

  1. 详解如何在 Linux 启动时自动执行命令或脚本

    我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时 ...

  2. 在 Linux 启动或重启时执行命令与脚本

    有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本.我们要怎样做呢?本文中我们就对此进行讨论. 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系 ...

  3. jenkins 执行ssh 远程linux执行命令

    1.远程机器编写脚本: 脚本名称为: /app/jboss/jboss-as/logs/ALL_SERVICE_STOP.sh 功能为:停止某个服务器某个目录下面的所有应用 #!/bin/bash p ...

  4. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  5. NET Core 跨平台执行命令、脚本

    一.前言 我们可能会遇到需要在程序中执行一些系统命令,来获取一些信息:或者调用shell脚本..NET Core 目前已经可以跨平台执行,那么它如何跨平台执行命令呢,请看下面的讲解. 二.Proces ...

  6. java远程调用linux的命令或者脚本

    转载自:http://eksliang.iteye.com/blog/2105862 Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar) 使用步骤如下 ...

  7. Linux 执行定时任务 shell脚本

    Linux上面执行定时任务,我们可以利用crontab -e直接编辑定时任务 另外我们还可以写好shell脚本,定时去执行shell脚本,这两个方法都可以起到定时执行的作用 下面我详细说一下入如何执行 ...

  8. Python远程linux执行命令

    1.远程登录到linux上,使用到的模块paramiko #远程登陆操作系统 def ssh(sys_ip,username,password,cmds): try #创建ssh客户端 client ...

  9. expect脚本远程登录、远程执行命令和脚本传参简单用法

    expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expe ...

随机推荐

  1. 示例:pm_multiple_models 匹配——形状匹配

    * This example program shows how to use HALCON's shape-based matching* to find multiple different mo ...

  2. JAVA数据库连接池C3p0 以及阿里Druid提供的连接池

    一:连接池的定义 本质上就是个容器(集合) 存放数据库连接的容器,当系统初始化后,容器被创建,容器中就会申请一些连接对象,当用户来访问数据库的时候,从容器中取连接对象,用户用完之后,归还. 二:常用的 ...

  3. Spring注解方式配置Redis

    @Configuration public class RedisConfiguraion { @Bean public JedisConnectionFactory redisConnectionF ...

  4. hdoj4734(数位dp优化)

    题目链接:https://vjudge.net/problem/HDU-4734 题意:定义一个十进制数AnAn-1...A1的value为An*2n-1+...+A1*20,T组样例(<=1e ...

  5. Windows云服务器购买

    一直点击下一步 支付

  6. FortiGate路由模式--静态地址线路上网配置

    1.需求:外网接口使用专线,由运营商分配指定的静态地址,内网为192.168.1.0/24网段,实现基本上网功能. 运营商分配ip地址:202.1.1.10,网关地址:202.1.1.9, DNS:2 ...

  7. sqlserver2017 重装过程中出现“无法找到数据库引擎启动句柄”错误的解决办法

    sqlserver数据库引擎修改账号名,详情参考:http://blog.51cto.com/djclouds/2089047?utm_source=oschina-app 在SQL Server安装 ...

  8. mybatis多表关联

    1.比如我有两个一个是菜单表t_menu,一个是权限表t_jurisdiction.表结构如下: 2.我想要将这两个表关联,查询特定的role_id下的菜单情况,这也是我们经常用在权限管理系统中的做法 ...

  9. pythone函数基础(9)操作数据库连接

    #操作数据库连接import pymysqlconn = pymysql.connect(host='118.24.3.40',user='jxz', password='123456',port=3 ...

  10. Python - 最大公约数算法

    # Python 3.6 # 最大公约数,最大公因子 # Greatest Common Divisor # 辗转相除法 def gcd(num1: object, num2: object) -&g ...