linux 中的 chmod 與 chown 命令
持續創作,加速成長!這是我參與「掘金日新計劃 · 6 月更文挑戰」的第11天,點選檢視活動詳情
chown
chown
,change owner。更改檔案的所屬使用者及組。
通過 ls
命令,第三第四列便是檔案所屬使用者及使用者組。
bash
$ ls -lah .
total 1.2M
drwxr-xr-x 11 shanyue shanyue 4.0K Jun 22 18:42 .
drwxr-xr-x 5 root root 4.0K Jun 24 11:06 ..
drwxr-xr-x 2 shanyue shanyue 4.0K Jun 10 15:45 .circleci
drwxr-xr-x 2 shanyue shanyue 4.0K Jun 10 15:45 .codesandbox
-rw-r--r-- 1 shanyue shanyue 294 May 22 2021 .editorconfig
-rw-r--r-- 1 shanyue shanyue 759 Jun 10 15:45 .eslintignore
-rw-r--r-- 1 shanyue shanyue 8.4K Jun 10 15:45 .eslintrc.js
drwxr-xr-x 7 shanyue shanyue 4.0K Jun 14 19:06 .git
-rw-r--r-- 1 shanyue shanyue 12 May 22 2021 .gitattributes
通過 chown -R
,可一併將子檔案所屬使用者及使用者組進行修改。
``` bash
將 . 資料夾下當前目錄的使用者及使用者組設為 shanyue
-R:遍歷子檔案修改
$ chown -R shanyue:shanyue . ```
chmod
mode
指 linux 中對某個檔案的訪問許可權。
通過 stat
可獲取某個檔案的 mode。
``` bash
-c:--format
%a:獲得數字的 mode
$ stat -c %a README.md 644
%A:獲得可讀化的 mode
$ stat -c %A README.md -rw-r--r-- ```
在瞭解 mode 之前,我們先看一下檔案的許可權。
- r: 可讀,二進位制為 100,也就是 4
- w: 可寫,二進位制為 010,也就是 2
- x: 可執行,二進位制為 001,也就是 1
而 linux 為多使用者系統,我們可對使用者進行以下分類。
- user。檔案當前使用者
- group。檔案當前使用者所屬組
- other。其它使用者
再回到剛才的 644
所代表的的釋義
``` bash
rw-:當前使用者可寫可讀,110
r--:當前使用者組可讀,010
r--:其它使用者可讀,010
所以加起來就是 644
-rw-r--r-- ```
而通過 chmod
即可修改使用者的許可權。
bash
$ chmod 777 yarn.lock
另外也可以以可讀化形式新增許可權,如下所示:
``` bash
u: user
g: group
o: other
a: all
+-=: 增加減少複製
perms: 許可權
$ chmod [ugoa...][[+-=][perms...]...]
為 yarn.lock 檔案的使用者所有者新增可讀許可權
$ chmod u+r yarn.lock ```
作業
- 熟悉 cd、pwd、ls、exa、tree 等命令
- 在
ls
單指令列出檔案列表時為何不顯示.git
目錄,應如何顯示 - 在 Node.js 或其它語言中如何獲得
pwd
- 在 Node.js 或其它語言中如何獲得
ls
子檔案列表。參考 fsp.readdir 及 readdir
- 十年經驗前端架構師求職,目標是換個大廠繼續做技術專家
- linux 中的 chmod 與 chown 命令
- 伺服器免密碼快捷登入
- 檔案系統中的目錄與切換操作
- 如何開發一個支援 SSR 同構應用的 npm 包
- 寫給前端的 nginx 配置指南,基於 docker 所有配置秒級執行
- 【前端部署附錄一】寫給前端的 docker 極簡入門
- 深圳五年經驗前端負責人求職,目標位元組 30k,關於低程式碼平臺建設及私有化定製化交付
- 成都某 985 大二學生前端面試實錄,基礎很強,強過諸多兩年經驗,期待一個實習,個人預測畢業即大廠SP Offer
- 重慶大三女生剛學了兩個月前端面試實錄,這像不像剛學前端的你們,八股文一定要背熟
- 兩年前端,廣州求職,要價 14k,依我說,小夥子可以多要點,涉及元件建設、工程化以及豐富的專案經驗
- 什麼是有區分度的好的面試問題,來看看位元組跳動這道實現非同步 sum 的問題
- 【前端部署第二篇】基於 docker/compose 部署一個最簡單的前端專案