這是入門的文章,如果你已經是 shell 高手請多多指教,3ku!
最近在整一個 android 項目,需要用到 linux shell 的知識??????!!
還好,之前只是寫過一些簡單的 shell,也看過很多大牛寫的 shell 檔案,佩服的淚牛滿面,書到用時方恨少。
只好拚命補習!還好,項目結了,感慨萬千,特此小記!
ls 這個命令只要是接觸過 linux 的人,基本上都使用過它。有木有?!
使用 vim 編輯器開啟 why.sh 這個檔案,編輯內容如下(你也可以任意寫,但是要按 shell 的套路來):
很簡單的 shell,呵呵!
執行指令碼可以 ./why.sh,但是此時你不可以執行它,使用 ls -l 找找答案。
可以看出,沒有執行許可權(x)。在往下面說之前,先瞭解一下 - rw- r-- r-- 是什麼意思。
rwx 可以使用位元據 0、1 來表示,即存在就是 1,不存在就是 0,所以 rwx 是111(十進位是7),以此類推:
r- - 就是 100, -wx 就是011,r-x 就是 101.
把 - rw- r-- r-- 分為(1)(2)(3)(4)四個部分來說。
(1) - 表示是一個檔案,(d 表示是一個目錄, l 表示該檔案是一個連結檔案)
(2)rw- 表示目前使用者可以操作這個檔案的許可權(可讀可寫不可執行,值是110 = 6)
(3)r-- 表示與目前使用者同一個組的可以操作這個檔案的許可權(可讀不可寫不可執行,100 = 4)
(4)r-- 表示其它使用者可以操作這個檔案的許可權(可讀不可寫不可執行,值是100 = 4)
如果你使用 chmod 777 filename,就相當於開放這個 filename 的所有許可權給任何使用者組的使用者。
另外,我們還需要知道 u、o、g、a 表示什麼含義??
他們分別是 user、other、group、all 的簡寫。所以下面的含義很簡單:
chmod u + 許可權(r 、w、x) file
chmod o + 許可權(r 、w、x) file
chmod g + 許可權(r 、w、x) file
chmod a + 許可權(r 、w、x) file
分別表示:
改變目前使用者、其它使用者、目前使用者同組的、所有使用者對 file 的操作許可權。
這個時候,就可以改變 why.sh 檔案的許可權為可執行了,兩種方式(等效的):
chmod u+x why.sh
chmod 744 why.sh
改變之後,如:
那麽,你就可以執行這個小指令碼了。
chown、chgrp 可以改變檔案的屬主和使用者組。這裡不再贅述!