Linux基本命令篇 – 檔案管理

來源:互聯網
上載者:User

什麼是檔案系統?

檔案系統是作業系統在分區上儲存檔案資訊的方法和資料結構.

Linux檔案系統具有類似的通用結構, 其關鍵組成部分有:

    超級塊 super block

    索引節點 inode

    資料區塊 data block

    目錄塊 directory block

 

三種基本許可權

代表字元 許可權 對檔案的含義 對目錄的含義
r 讀許可權 可以讀檔案的內容 可以列出目錄中的檔案清單
w 寫入權限 可以修改,刪節檔案 可以在目錄中建立, 刪除檔案
x 執行許可權 可以執行該檔案 可以使用cd命令進入該目錄

目錄上只有執行許可權, 表示可以進入或穿越它進入更深層次的子目錄.

目錄上只有執行許可權, 要訪問該目錄下的有讀許可權的檔案, 必須知道檔案名稱才可以訪問.

目錄上只有執行許可權, 不能列出目錄列表也不能刪除該目錄.

目錄上執行許可權和讀許可權的組合, 表示可以進入目錄並列出目錄列表.

目錄上執行許可權和讀許可權的組合, 表示可以在目錄中建立,刪除和重新命名檔案.

 

特殊許可權

特殊許可權

說明

SUID 當一個設定了SUID位的可執行檔被執行時, 該檔案將以所有者的身份執行. 也就是說無論誰來執行這個檔案, 他都有檔案所有者的特權, 任意的存取該檔案的人能使用全部的系統資源. 如果所有者是root的話, 那麼執行人就具有超級使用者的許可權.
SGID 當一個設定了SGID位的可執行檔運行時, 該檔案將具有所屬組的特權, 任意存取整個組所能使用的系統資源, 若一個目錄設定了SGID, 則所有被複製到這個目錄下的檔案, 其所屬的組都會被重設為和這個目錄一樣, 除非在複製檔案時加上-p(preserve, 保留檔案屬性)的參數, 才能保留原來所屬的群組設定.
sticky-bit 對一個檔案設定了sticky-bit之後, 任何使用者都有寫入權限, 但必須由屬主執行刪除, 移動等操作; 對一個目錄設定了sticky-bit之後, 存放在該目錄的檔案僅允許屬主執行刪除, 移動等操作.

 

一個設定了SUID的典型例子是passwd程式, 它允許普通使用者改變自己的口令, 這是通過改變/etc/shadow檔案的口令欄位實現的. 然而系統管理員絕不允許普通使用者直接改變/etc/shadow檔案的權利. 因為這絕對不是個好主意. 解決方案是將passwd的程式設定SUID, 當passwd程式被執行的時候後, 普通使用者將具有超級使用者的許可權, 而passwd程式運行結束之後, 回到普通使用者的許可權.

查看/usr/bin/passwd檔案的許可權的話, 它的使用權限設定如下: –rwsr-xr-x 當中的s代表suid.

查看/tmp目錄, 會發現它的許可權如下: drwxrwxrwt 其中的t就是sticky-bit

 

Linux檔案類型

普通檔案: 包括文字檔, 資料檔案, 可執行檔二進位程式檔案等.

目錄檔案: Linux系統把目錄看成是一種特殊的檔案, 利用它構成檔案系統的樹形結構.

裝置檔案: Linux系統把每一個裝置都看成是一個檔案. 其又分為塊裝置字元裝置.

連結檔案

 

檔案類型的表示

普通檔案 -
目錄 d
符號連結 l
字元裝置檔案 c
塊裝置檔案 b
通訊端 s
具名管道 p

系統檔案

*.conf 設定檔

*.rpm rmp包

*deb deb包

*.a 一種封存檔案

*.lock 一種鎖定檔案

*.~ 備份檔案

.* 隱含檔案

 

程式和指令碼

*.c C語言來源程式檔案

*.cpp C++語言來源程式檔案

*.h C或C++的標頭檔

*.o 程式對象檔案

*.pl Perl語言來源程式檔案

*.php PHP語言來源程式檔案

*.python Python語言來源程式檔案

*.tcl TCL指令檔

*.so, *.lib 庫檔案

 

建立檔案的命令: touch file1 該命令建立了一個名為file1的空檔案.

touch .file2 該命令建立了一個名為.file2的隱藏檔案. 查看隱藏檔案需要用ls -a命令.

sudo touch /boot/file1 該命令使用超級使用者的許可權在/boot目錄下建立名為file1的空檔案.

刪除檔案的命令: rm test  該命令刪除test檔案

rm test .test 該命令刪除多個檔案.

Unix和Linux中,如果沒有任何返回,就是說明命令運行成功了.

 

查看檔案的命令: cat, less, more.  less跟cat的區別是less是分屏顯示. more跟less的區別是more不能用上方向鍵回選, 翻到最後自動結束. cat不管檔案多大, 全部顯示, 自動結束.

 

拷貝命令: cp /boot/grub/menu.lst ./menu.bak.lst 該命令把boot下的menu.lst複製到目前的目錄, 複製的檔案名稱為menu.bak.lst.

. 代表目前的目錄.

.. 代表目前的目錄的上一級目錄.

 

重新命名檔案命令: mv menu.bak.lst menu.backup 該命令將目前的目錄下的menu.bak.lst重新命名為目前的目錄下的menu.backup檔案. 其實他是一個剪下命令. 它既可以移動一個檔案, 也可以重新命名一個檔案.

 

尋找檔案的命令: find

例如: sudo find / –name ls 該命令會從根目錄找, 尋找名字為ls的檔案.

sudo find / –name “ls*” 從根目錄開始尋找, 尋找名字以ls開頭的檔案.

使用ctrl + c來終止搜尋的執行.

 

管理檔案許可權的命令: chmod

chmod [-R] {[ugoa][+-=][rwxst]}

-R 表示遞推地對該目錄下的所有子目錄實施使用權限設定.

{}內的內容稱為一個模式, 可以指定多個模式, 多個模式之間用逗號間隔.

u 表示屬主(user)
g 表示所屬組使用者(group)
o 表示其他使用者(other)
a 表示所有使用者(all)

+ 表示增加許可權
- 表示刪除許可權
= 表示分配許可權, 同時將原有許可權刪除
r 表示允許讀取
w 表示允許寫入
x 表示允許執行

chmod go-r testfile1 略

chmod u+x testfile1 略

chmod u-x,go+r testfile1 屬主刪除執行許可權, 組和其他使用者添加讀取許可權.

chmod g=u testfile1 將組使用權限設定為跟屬主相同

chmod o+u testfile1 對其他人添加屬主具有的許可權

chmod 755 testfile2

chmod 600 testfile2

數值設定法

執行 二進位 八進位 說明
- - - 000 0 沒有許可權
- - x 001 1 允許執行
- w - 010 2 允許寫入
- w x 011 3 允許執行和寫入
r - - 100 4 允許讀取
r - x 101 5 允許執行和讀取
r w - 110 6 允許寫入和讀取
r w x 111 7 允許執行寫入和讀取

改變檔案所屬的使用者與所屬的使用者組的命令: chown

命令格式: chown [-R] <使用者[:組]><檔案或目錄>

同樣地, 若操作對象是目錄, 則遞迴地對該目錄下面的所有的子目錄實施設定.

要單獨改變組, 可以使用下面的格式:

chown [-R] <:組><檔案或目錄> 注意: 組前必須有":"

例: chown jason /home/jane/testfile3 改換屬主為jason

chown :users /home/jane/testfile3 改換所屬的組為users

chown group1:group1 /home/jane/testfile3 將屬主和屬組改成group1

chown -R apache:apache /home/osmond/testdir 將testdir目錄及其子目錄下的所有檔案或目錄的屬主和組讀改成apache

Umask命令

使用者可以使用umask命令設定檔案的預設產生掩碼. 預設的產生掩碼告訴系統當建立一個檔案或目錄時, 不應該賦予其哪些許可權. 如果使用者將umask命令放在環境檔案(.bash_profile)中, 就可以控制所有建立的檔案或目錄的存取權限.

命令格式: Umask [u1u2u3]

其中u1表示的是不允許屬主的許可權; u2表示的是不允許同組的人有的許可權; u3表示的是不允許其他人有的許可權.

可以使用不帶任何參數或帶-S參數的umask命令查看當前預設產生掩碼.

$ umask

0022

$ umask –S

u=rwx, g=rx, o=rx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.