檔案相關指令
markdown
touch -直接建立一個檔案
```
touch 檔名
```
ln - 建立連結指令
```
ln -s 來源檔名 連結檔名
EX : ln -s filename.txt filename2.txt
ln 常用參數
-s, –symbolic: 建立 symbolic link。
-f, –force: 如果目標檔案已經存在,不會提出詢問,而會直接強制覆蓋檔案。
-i, –interactive: 如果目標檔案已經存在,會先提出詢問,不會直接強制覆蓋檔案。
-n, –no-clobber: 不會覆蓋任何檔案。
ln [-sf] 來源檔 目標檔
參數:
-s :如果 ln 不加任何參數就進行連結,那就是hard link,至於 -s 就是symbolic link
-f :如果 目標檔 存在時,就主動的將目標檔直接移除後再建立!
```
連結有分兩種 : 軟連結跟硬連結
軟鏈結:
1.軟鏈結,以路徑的形式存在。類似於Windows作業系統中的快捷方式
2.軟鏈結可以 跨檔案系統 ,硬鏈結不可以
3.軟鏈結可以對一個不存在的檔案案名進行鏈結
4.軟鏈結可以對目錄進行鏈結
硬鏈結:
1.硬鏈結,以檔案副本的形式存在。但不佔用實際空間。
2.不允許給目錄創建硬鏈結
3.硬鏈結只有在同一個檔案系統中才能創建
軟連結,砍掉來源檔案,連結就失效了,硬連結中斷一個的話可視為只是斷開一個門的概念,並不會真的去刪除檔案,除非所有的硬連結都砍掉了,這樣才真的會消失連結。
目錄及檔案詳細資訊
```
lrwxrwxrwx. 1 root root 7 2014-11-05 01:00 rc>rc.d/rc
說明
lrwxrwxrwx. ⇒ 存取權限
1 ⇒ 連結數量
root ⇒ 擁有者
root ⇒ 擁有群組
7 ⇒ 容量大小
2014-11-05 01:00 ⇒ 最後修改時間
rc>rc.d/rc ⇒ 目錄或檔案名稱
```
權限管理指令
```
chmod +x 檔名
EX: chmod +x run.sh
chown [-R] 帳號名稱 檔案或目錄
EX: chown root:root initial-setup-ks.cfg
chmod 修改權限
chmod -R 整個目錄下的權限一同改變
chown 修改擁有者
chown -R 整個目錄的下一同改變
chown :name 這樣的指令效果等同於 charp指令效果
charp 修改擁有群組
```
ACL管理指令
```
setfacl [-bkRd] [{-m|-x} acl參數] 目標檔名
選項與參數:
-m :設定後續的 acl 參數給檔案使用,不可與 -x 合用;
-x :刪除後續的 acl 參數,不可與 -m 合用;
-b :移除『所有的』 ACL 設定參數;
-k :移除『預設的』 ACL 參數,關於所謂的『預設』參數於後續範例中介紹;
-R :遞迴設定 acl ,亦即包括次目錄都會被設定起來;
-d :設定『預設 acl 參數』的意思!只對目錄有效,在該目錄新建的資料會引用此預設值
getfacl FileName ⇒ 取得ACL狀態
setfacl FileName ⇒ 設定ACL權限
setfacl -m u:User1:w test.txt ⇒ 替test.txt 設定User1帳號有w的權限
setfacl -m g:User1:w test.txt ⇒ 替test.txt 設定User1群組有w的權限
```
留言
張貼留言