chmod 在 764 上拋出缺少操作數,在 664 上拋出 OK

chmod 在 764 上拋出缺少操作數,在 664 上拋出 OK

為了調試目的,將專案中的所有內容設為777( rwxrwxrwx) 後,我想降低開放性並將根資料夾中的目錄(而不是檔案)設為664( rw-rw-r--)。

為此,我使用了(來自如何使用 bash 指令列出資料夾?):

chmod 664 -- */

這正如預期的那樣。然後我意識到我需要目錄上的執行位才能進入它們。所以我嘗試:

chmod 764 -- */

但這引發了一個missing operand after "764"錯誤。

我可以手動更改權限(chmod 764 <dir-name>),並且沒有那麼多目錄,所以這不是一個大問題,但我想了解。

為什麼我不能使用chmod 764 */將目前路徑中的目錄設定為rwxrw-r--

答案1

如果您設定了 shell glob 選項,那麼這將是有意義的

  • *包括以., 和開頭的名稱
  • 不符合任何內容的通配符就會消失,而不是繼續存在。 (例如,如果您沒有任何名稱以 開頭的文件foo,則該命令echo foo*將列印一個空白行而不是按foo*字面列印。)

如果上述情況成立,則第一個指令設定為模式 664,這表示您在發出第二個指令時.沒有讀取權限。.所以*/無法擴展,chmod 764 -- */變成了chmod 764 --

相關內容