linux下執行程式為什麼要用

2021-10-02 23:43:29 字數 1269 閱讀 3283

注:

1、以下測試在ubuntu 9.10上進行,其他平台未測試。

2、這個只是我個人的理解,不一定完全正確

一、原因(先給出原因,後面再解釋為什麼)

不加 ./ 時shell要去 $path 環境變數下找命令是如何執行的,但是 $path  下並沒有該命令,所以無法執行;加上 ./ 後,告訴shell這個命令就在當前目錄下,你直接執行就行了,這樣命令就能執行了。

簡單解釋:shell命令執行時的環境變數預設是 $path ,即到 $path 下找命令該如何執行,shell常用的命令在 $path 都有,所以可以直接執行。使用者新建的檔案所在的路徑不在 $path 下,故直接用檔名來執行是無法執行的,必須加 ./ 表示命令就在當前目錄下,不要去 $path 中找,直接執行就行了。這裡再次說明了./ 表示的是當前目錄,而不是執行命令的意思

二、解釋1(執行a.out檔案)

1、新建乙個hello.c檔案,內容如下圖所示,檢視該檔案顯示並無執行許可權,且root也沒有

2、使用gcc命令編譯該檔案,生成了 a.out檔案,該檔案有執行許可權,且三類使用者都有

3、使用 ./a.out 執行該檔案,成功執行,輸出結果正確

4、使用 a.out 執行該檔案,提示找不到命令,sudo a.out也提示找不到命令

5、使用命令:echo $path 顯示出當前環境變數中並無a.out 所在的路徑

6、新增a.out 所在的路徑到臨時環境變數:export path=$path:/home/book/test/  ,再次檢視path,確保新增成功

7、再次使用 a.out 執行該檔案,成功執行,輸出結果正確

8、到此,說明新增環境變數後,即使不加 ./ 也可以執行檔案

9、以上操作見下圖所示

三、解釋2(執行my.s**件,普通檔案,目錄)

不再詳述步驟,直接看下圖中的說明

2020-02-20 @北京 疫情依然嚴峻啊

Linux下後台執行程式

一 為什麼要使程式在後台執行 我們計算的程式都是週期很長的,通常要幾個小時甚至乙個星期。我們用的環境是用 putty 遠端連線到日本 linux 伺服器。所以使程式在後台跑有以下三個好處 1 我們這邊是否關機不影響日本那邊的程式執行。不會像以前那樣,我們這網路一斷開,或一關機,程式就斷掉或找不到資料...

Linux下執行程式tips

pspc上傳資料夾 c users admin pscp r c test jccheng home jccheng c users admin pscp r jccheng home jccheng test fill.out d result 後台執行程式 nohup matlab fill.o...

執行程式 Linux系統下執行c 程式

引言 為什麼要在linux下寫程式?分享資料報括 c c linux,nginx,zeromq,mysql,redis,fastdfs,mongodb,zk,流 cdn,p2p,k8s,docker,tcp ip,協程,dpdk等等。首先要問一下自己,為什麼要寫這個程式。如果我們寫乙個執行在wind...