1. 程式人生 > >shell_連結命令ln與nohup命令使用方法

shell_連結命令ln與nohup命令使用方法

ln命令是一個連結命令,工作中用的比較多的就是對一個檔案或者是目錄建立起軟連線。軟連線的概念類似於windows下的快捷方式。比如,在win下,我們經常在安裝完word、ppt等office程式後,在我們的桌面都會有一個word等的快捷方式,雙擊這些個快捷方式,就可以立刻開啟word等程式,而不需要去找word等安裝在哪裡。在linux下也是一樣的道理。在工作中,由於某些特殊原因,我們需要的目錄實在是太深了。比如,有一個目錄,如圖一所示:


圖一.很深的目錄

我們現在在/home目錄下,script指令碼在/home/sxp/sxp/poo-poo/taobao/com/data下,那我要編輯script指令碼,就要一步一步地使用cd命令進入到這個data目錄,是不是很麻煩?ln命令的作用就是解決這個。

我在/home/sxp目錄下使用

ln–s /home/sxp/sxp/poo-poo/taobao/com/data data,結果如圖二所示:


圖二.建立軟連結

注意:在sxp使用者下是無法使用ln命令建立軟連結的。原因很簡單。你在/root目錄下看/home目錄的許可權,是drwxr-xr-x,如圖三所示:


圖三.home目錄許可權

可以看出,home目錄所有者是root使用者,這是一個超級使用者,就是大老闆的意思,該賬戶可以對linux系統做任何事情,真是牛逼啊!而對於其他不相干使用者呢?比如對於本人sxp使用者,許可權是r-x(這種許可權表示法可以參見我的第一篇文件),也就是說,sxp對目錄/home不能寫,也就是不能在該目錄下建立目錄。不信?你可以自己試試哦。所以要切換到root使用者建立data目錄。su命令後續文件會講到。

在/home/sxp目錄下建立了data目錄後,直接用cd data就可以在/home/sxp下進入到/home/sxp/sxp/poo-poo/taobao/com/data的目錄了。

以上ln –s /home/sxp/sxp/poo-poo/taobao/com/data data程式碼中,我使用了-s選項,該選項表示軟連結的意思。不加的話預設是建立硬連結。

說完了ln,再來說說nohup命令。這個命令有點意思。現在工作中,一般都是在win上通過putty或者xshell(這兩個工具在我後續工具系列文件會講到)工具連到linux上。比如我在win上通過xshell連線到192.168.211.130,如圖四所示:


圖四.通過xshell連線到192.168.211.130linux上

現在在/home/sxp/sxp/poo-poo目錄下執行script指令碼,如圖五所示:


圖五.執行script指令碼

如果script指令碼的執行需要很長時間,你等不及了,於是關掉了xshell,這時,該linux機器上,script指令碼也關掉了。這還沒執行完呢,就關掉了,真鬱悶!咋辦?我關掉了xshell,沒讓script也停掉啊!此時就是nohup發揮用場了。

試試nohup script &命令,如下圖所示:


圖六.使用nohup執行指令碼

可以看到,提示符定在那裡不動了,而且還給出了6478這個數字,這個數字就是script指令碼對應的程序號。另外,介面也提示各位了,如果script指令碼有輸出的話,輸出全部都預設輸出到nohup.out檔案中。此時你可以關閉xshell了,不過script指令碼還在執行哦!