1. 程式人生 > >Linux系統下alias重新命名的命令,如何呼叫原生命令呢?

Linux系統下alias重新命名的命令,如何呼叫原生命令呢?

在Linux系中,對於已經利用alias重定義別名的命令,如何在指令碼中使用原命令?例如想使用cp的原命令,使得目標檔案存在是直接覆蓋,而不是進行確認是否覆蓋(彈出是否覆蓋是因為為了安全起見,好多Linuxer對cp命令進行了alias cp `cp -i`重新命名了)。

可以使用: \cp 命令,即在原命令前加上'\',這樣,執行時用的就是原始的命令,而不會使用alias重新命名的命令。

例如:Linux:~admin$ \cp a.txt ../        即假如上層目錄下有a.txt檔案,則直接覆蓋,而不會使用alias重新命名過的cp -i命令。



Tips:
可以使用:alias -p命令,檢視系統已經重新命名的命令。

後臺程序的啟用命令: nohup command > /dev/null 2>&1 &

解釋:先對標準輸出進行重定向,到/dev/null,然後將標準錯誤輸出等同於標準輸出,這樣,標準輸出和錯誤輸出都到/dev/null了。

以上命令有別於 nohup command 2>&1 > /dev/null &:當產出標準錯誤的時候,因這個標準錯誤重定向到了標準輸出,而標準輸出是輸出到螢幕。這個時候標準輸出還沒有被重定向到/dev/null,於是在螢幕上列印了。當產生標準輸出時,那麼它就不是標準錯誤,2>&1無效,於是標準輸出重定向dev/null,不列印到螢幕。所以最終結果將是:標準錯誤列印到螢幕,而標準輸出不列印到螢幕。



另外,沒試過的兩個命令:ftp工具ncftpget和ncftpput,可以實現後臺的ftp上傳和下載。