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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM