3-6 檔案目錄的屬性操作
內容:
3-6-1 檔案屬性操作
某些檔案屬性可以直接利用命令改變它,改變之後檔案的特性也隨之改變,允許直接改變的屬性如圖 3-8 所示,更改途徑如下:
圖 3-8 檔案屬性
3-6-2 更改檔案權限 - chmod
可以利用 chmod 命令修改描述權限的 9 個位元,也就是更改檔案的權限,但僅檔案擁有者才可以變更其存取模式。修改一般檔案或目錄的操作方式,大致上都是一樣的,chmod 命令會使用到下列符號:
-
u 檔案的使用者(擁有者)
-
g 群組(group)
-
o 其他人(other)
-
a 所有人(包含 u, g, o)
-
= 指定權限
-
+ 增加權限
-
- 移除權限
範例一:增加擁有者執行(x)的權利,操作如下($ chmod u+x filename):
$
cat > file_1 【產生 file_1 檔案】
Good Lucky To You
Good Lucky To You
?
[1]+ Stopped cat >file_1
$ ls -l file_1 【觀察 file_1 的屬性】
-rw-rw-r-- 1 tsnien tsnien 36 Jul 5 15:30 file_1
$
chmod u+x file_1 【增加使用者執行權力】
$
ls -l file_1 【觀察 file_1 的屬性】
-rwxrw-r-- 1 tsnien tsnien 36 Jul 5 15:30 file_1 |
範例二:移除群組的讀與寫的權利,操作如下($ chmod g-rw filename):
$
ls -l file_1 【觀察 file_1 的屬性】
-rwxrw-r-- 1 tsnien tsnien 36 Jul 5 15:30 file_1
$
chmod g-rw file_1 【刪除群組讀與寫權限】
$ ls -l file_1 【觀察 file_1 的屬性】
-rwx---r-- 1 tsnien tsnien 36 Jul 5 15:30 file_1 |
另外,三組權限也可以直接利用數字表示,表示方法如下:
rwx rwx rwx (0~7 0~7 0~7)
r =0/1,0 則表示沒有該權限,1 表示有該權限;譬如擁有者有讀取與寫入的權限,則表示為:110,以 8 進位表示則為 6。因此,每一群組的權限為 0 ~7。
範例三:設定所有使用者都有讀與寫的權限,操作如下:
$ ls -l file_1 【觀察 file_1 屬性】
-rwx---r-- 1 tsnien tsnien 36 Jul 5 15:30 file_1
$
chmod 666 file_1 【設定 file_1 屬性】
$
ls -l file_1 【觀察 file_1 屬性】
-rw-rw-rw- 1 tsnien tsnien 36 Jul 5 15:30 file_1 |
3-6-3 更改檔案擁有者 - chown
並非檔案在自己家目錄之下,使用者對它就有完全的控制權;而是檔案的擁有者,才有完全控制權,而不論檔案存放於何處。使用者無論採用何種方法所產生的檔案,都是該檔案的擁有者,譬如利用 cp、cat 或 vi 所產生的檔案。但有許多情況產生檔案者與使用檔案並非同一個人,譬如系統管理者也許會產生某些檔案並複製到使用者的家目錄上,這些檔案的擁有者是系統管理者,接受檔案也無法直接控制。如此一來,系統管理者便需要將檔案的擁有者變更為對方,這就需要利用 chown 命令來達成。操作範例如下:
#
cp /etc/passwd file_1
# ls -l
total 8
-rw-r--r-- 1 root root 7521 Mar 30 20:35 file_1 |
$
chmod 777 file_1
chmod: changing permissions of `file_1': Operation not permitted |
# chown tsnien file_1
# ls -l
total 8
-rw-r--r-- 1 tsnien root 7521 Mar 30 20:35 file_1 |
$ chmod 777 file_1
$ ls -l
total 8
-rwxrwxrwx 1 tsnien root 7521 Mar 30 20:35 file_1 |
3-6-4 更改檔案群組 - chgrp
檔案擁有者便可以利用 chgrp 命令,變更檔案的所屬群組。譬如,上述範例中已將 file_1 的擁有者變更為 tsnien,因此,tsnien 便可以將該檔案的群組改變為 tsnien 群組,命令操作如下:
$
ls -l
total 8
-rwxrwxrwx 1 tsnien root 7521 Mar 30 20:35 file_1
$ chgrp tsnien file_1
$ ls -l
total 8
-rwxrwxrwx 1 tsnien tsnien 7521 Mar 30 20:35 file_1 |
3-6-5 更改檔案日期 - touch
當檔案新建立或遭受任何修改(如利用 vi 編輯)時,將會記錄最後修改日期,從這個日期時間可以觀察出該檔案是否被移動。但我們也可以不變更任何檔案內容,而直接藉由touch 命令將最後修正日期設定成目前的時間日期,操作如下:
$ ls -l
total 8
-rwxrwxrwx 1 tsnien tsnien 7521 Mar 30 20:35 file_1
$ touch file_1
$
ls -l
total 8
-rwxrwxrwx 1 tsnien tsnien 7521 Mar 31 14:24 file_1 |
執行 touch 命令($touch file_1)時,指定檔案(file_1)如不存在的話,則系統會產生該檔案,並使其內容空白。
|