Re: [問題] 安裝軟體的路徑錯誤

看板Linux作者 (流水)時間12年前 (2014/01/26 10:46), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串8/12 (看更多)
※ 引述《flied (libertines)》之銘言: : ※ 引述《Neisseria (Neisseria)》之銘言: : : 試著執行看看 : : $ which talys : lee@lee-X402CA:~$ which talys : /usr/bin/talys : : 確定系統上已經有 talys 執行檔 這應該就是可以直接call得到talys指令了 : : 假設已經在 verify 所在的資料夾... : : $ chmod +x verify : : $ ./verify 這是之前的文章 : lee@lee-X402CA:~/physics/talys/samples$ ./verify : bash: ./verify: 拒絕不符權限的操作 這是後來你執行的狀況 : lee@lee-X402CA:/bin$ chmod +x verify : chmod: 無法存取 ‘verify’: 沒有此一檔案或目錄 : lee@lee-X402CA:/bin$ ./verify : bash: ./verify: 沒有此一檔案或目錄 請注意妳現在的所在目錄, 比對兩次結果,你是不是該去 ~/physics/talys/samples 尋找你的verify 雖然不知道為甚麼你會在/bin裡面,姑且推論一下你的想法好了: 1. 你可能認為執行檔要在/bin底下才能跑? => 實際上不用,跟檔案權限有關系 但要注意的是,如果你要執行的不是在系統$PATH裡面的程式, 要用相對或絕對路徑的方式去呼叫。 像是你在 ~/physics/talys/samples裡面呼叫相對路徑 "./": ~/physics/talys/samples$ ./verify 或是絕對路徑 /home/你的帳號/physics/talys/samples/verify 若是你直接呼叫verify,就是呼叫到系統預先有的那隻verify工具。 2. 你可能不確定chmod的功能以及"bash: ./verify: 拒絕不符權限的操作"的成因 => 首先無論是script或程式一般來說都需要檔案權限才能執行; 這邊的權現有兩個面向:你的權限,和設定給檔案的權限。 我們先來看看一般權限的呈現方式: $ ls -ld /bin/bash -rwxr-xr-x 1 root root 959120 Mar 29 2013 /bin/bash 第一組rwx是這個檔案的擁有者root所能做的事情 read, write, execute 第二組rwx是這個檔案的擁有者群組,root群組所能做的事情 所以有在root群組且非使用者root則會參考這組設定 第三組rwx則是除此以外的人的權限。 所以說,我們可以看到/bin/bash這個檔案, - 擁有者root具有所有權限; - 擁有者群組root沒有修改(寫入)的權限,但可以讀取和執行; - 剩下的人亦是沒有修改、有讀取執行的權限。 一般的文字檔案類型往往是644,例如: $ ls -ld /etc/hosts -rw-r--r-- 1 root root 342 Jan 22 20:16 /etc/hosts 我想你的~/physics/talys/samples/verify應該也是類似的情形, 因此你需要的是幫他加上execute ~/physics/talys/samples/$ chmod +x verify sudo 可以幫你取得不同使用者的權限,但針對x這項設定通常需要用chmod來調整。 : lee@lee-X402CA:/bin$ verify : Verify CIE values, Version 1.4.0 : : 這樣代表系統上剛好有個執行檔也叫 verify : : 即使使用 sudo,在這裡同樣是執行系統上的 verify 而非該目錄下的 verify 這邊就只是你的系統有安裝一個叫做verify的指令, 但這你的使用經驗看來,那個指令並不是你這次安裝的步驟中需要呼叫到的。 -- ◣◣◣▂▃▂ ψ域 ◣◣▉▉█ ▂▂▂▂▂▂▂ ▂ ▂ 半分幻の庭師 ◣東方project系列  ̄ ̄ ̄ ̄ ̄ ̄ ̄ /▂▂▂▂▂ 魂 魄 妖 夢 PTT東方板 Touhou ∮▼▆▆▆▆▇  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◣◣ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.147.30.27

01/26 12:44, , 1F
先推,謝謝。
01/26 12:44, 1F
文章代碼(AID): #1Iv7SSnq (Linux)
討論串 (同標題文章)
文章代碼(AID): #1Iv7SSnq (Linux)