作者:
w180112 ([NOOB]我超RETARD我超廢 )
2017-08-11 21:02:41macOS是一個unix
所有unix裡面都是一切皆視為檔案
螢幕是檔案、鍵盤是檔案、word檔是檔案、你的shell檔是檔案
所有檔案都有分權限
權限又有三種分別是讀、寫、執行
又一個系統共有三類型使用者所以一個檔案共有9種權限
譬如說 如果某個shell檔缺少執行權限那./xxx.sh就不行 得使用sh ./xxx.sh用sh指令
來讀取shell的內容再執行
所以有些shell檔不能直接執行要加上sh指令是因為這個原因
所以根本沒有什麼執行檔這種東西 人人加上執行權限都可以執行 只是會發生什麼事就
不知道了
那為什麼要./呢
每個檔案都有自己的路徑
理論上在讀寫執行任何檔案的時候都得要告訴電腦那個檔案的路徑
只有少數重要的會事先告訴系統它們的路徑 這樣事後使用者在使用時就不用再打路徑了
至於./
.代表的是現在所在的檔案夾的意思
/代表該資料夾下面的檔案
假設你現在在/Users/user/Desktop下面並且想要執行裡面一個叫做test.out的檔案
可以打./test.out或~/Desktop/test.out
或/Users/user/Desktop/test.out
這些東西在所有unix系列OS都可以適用
作者: bravc29229 (neil) 2017-08-17 09:56:00
這不是基本中的基本嗎?
作者:
mooyjiang (MooyJiang)
2017-08-11 21:24:00推這種知識文,至少可以讓比較不熟悉Terminal的使用者知道在幹嘛
作者: mimicqneb 2017-08-11 21:38:00
Unix沒有副檔名概念 一切以權限為基礎 不管gui圖形介面cli命令列界面 都是一種殼層 介於表面與核心之間
作者: zl5130 (止鏡) 2017-08-11 22:22:00
另外小小補充一下,只有 /是系統的根目錄,使用時要注意
作者:
maplefff (maplefff)
2017-08-11 22:31:00"~"是系統根目錄,"."是當前目錄,".."是上一層目錄家目錄才對,就是你的使用者專屬資料夾其實你一打開terminal就是在"~",你可以輸入ls列出目錄內的檔案跟資料夾輸入 cd downloads,那你就會進入downloads裡面
作者:
ho83leo (LWHo)
2017-08-11 22:39:00好棒,我以為在Linux板
作者:
mwiei (makashii)
2017-08-11 23:09:00推一個
把 . 加進可執行搜尋路徑 就可以免打 ./ 了啦
其實也不是每一種 shell 都會幫你把 ~ 解釋成家目錄
沒打./,它不知道你在指目前的目錄,而是會去$PATH裡面找。
作者:
ISISxDOG (689ISISDOG)
2017-08-12 03:04:00不會用,用terminal到底是幹嘛?
作者:
Zepho (抹神)
2017-08-12 05:13:00樓上蝦哥買mac來滑FB的
作者:
maplefff (maplefff)
2017-08-12 05:28:00terminal當然是拿來用ssh逛ptt啊你不知道,mac板上九成都用terminal連的嗎
作者:
Neisseria (Neisseria)
2017-08-12 07:26:00終端機好用啊,加上 Homebrew 可以裝很多東西可以用 iTerm 代替,不太需要調校就比內建終端機美觀
作者: walkcc (walkcc) 2017-08-12 11:28:00
terminal 可以改 zsh 也很美啊
作者:
Dereg (朱革便)
2017-08-12 14:48:00用bash 也可以改 profile 上色呵呵
作者:
m81216 (被雨傷透)
2017-08-12 21:12:00文組看不懂只好推惹QQ
作者: asdg62558 (吐司皮克) 2017-08-13 17:30:00
不懂鳥哥 都有教 shell 怎麼使用
作者: soto2080 (DaGG) 2017-08-14 11:17:00
沒有homebrew的mac真的不敢想像
作者:
ptt0720 (濕濕)
2017-08-15 02:25:00推iterm2+zsh