Linux學習筆記(1) 當前目錄的可執行程序

今天才看到的  解決了我的一大疑問
第一次使用gcc居然編譯後不能運行 原來如此
在linux下執行當前文件夾下的可執行文件
前面必須加上./
比如用gcc編譯一斷代碼並執行
$gcc  -o  a.out   example.c
$./a.out

第一條命令表示將源代碼example.c編譯爲可執行文件a.out
第二條命令執行生成的a.out 
$ a.out會顯示  bash: a.out: command not found
這是因爲linux並沒有將當前路徑加入到環境變量裏
這和windows下不一樣
這樣的目的是爲了安全

比如有人給管理員報告自己的文件夾裏xx文件有問題
那麼root就會進入用戶目錄 一般會執行ls命令看看存在那些文件
如果用戶把惡意程序改名爲ls放在該目錄.......
所以linux並沒有將當前路徑加入到環境變量裏

可惜windows管理員大都使用圖形界面管理服務器
否則這是也是一個提權的好方法
不過用來捉弄人還是可以的
比如在程序的同一目錄下建立假的dll文件讓程序無法運行........ 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章