權限:
文件權限:RWX W 並沒有刪除文件的權限,但是可以刪除文件的內容,沒有內容的文件也就沒有了意義,不是麼。
路徑權限:RWX 注意之間的區別。 R 讀取路徑下的文件及其文件夾列表信息,W 表示對路徑具有修改的權利,複製,更改,刪除等。X 表示可以進入路徑內,使之成爲工作路徑。沒有了X權限,也就意味着,沒有進入路徑的權限, 如果讓其具有進入並查看文件夾內容的權利的話,具備最基礎的RX權限。
權限的修改:
chmod ,chown,chgrp
chmod u=rwx,go=r /root/home/file
chmod 744 /root/home/file
chmod -R 744 /root/home -R 遞歸對home下的所有文件及文件夾修改權限爲744
檔案的分類:
一般檔案:regular file 標識- 包含了: ASCII BINARY DATAFILE
目錄文檔 : 標識 d
鏈接檔 : 標識 l
設備與裝置文檔: 包括了區塊設備文檔,字符設備文檔,區塊設備文檔爲b 存儲設備,如硬盤字符設備標識c 鍵盤 鼠標 等
資料接口文件:標識s
數據傳輸文件:標識p
關於目錄:
目錄結構:
/
bin/ 一般用戶可用,開機用到的程序
boot/ 包含了核心檔案 vmlinuz grub
dev/ 設備檔案 /dev/null dev/sda/
etc/ 主要爲配置文件,init.d 各種scripts的啓動
home/ 家目錄
lib/ 目標函數庫 moudles 不同版本的核心模組
media/ 用於掛載 移動媒體
mnt/ 同上
opt/ 第三方軟件
proc/ 系統信息,軟件信息,不佔用磁盤空間,駐在內存中。如cpuinfo 等。
root/
sbin/ 系統相關的命令文件
srv/ 服務文件service
sys/ 內存中的文件,如核心檔案等
tmp/
usr/ UnixSoftwareResource
X11R6/
bin/
include/
lib/
local/
sbin/
share/
src/
var/
catch/
lib/
log/
lock/
run/
spool/
cron/
mail/
mqueue/
lpd/
linux檔案與目錄管理:
相對路徑與絕對路徑。相對路徑將用於scripts中對變量的設置,使其更爲的方便。
mkdir -p -m 744 test1/test2
-p遞歸建立
-m 設置權限,不用理會umask
rmdir 只能刪除空目錄,可以遞歸刪除 -p
文件的搜索路徑:PATH
添加搜索路徑/root PATH="$PATH":/root
cp
-a -pdr
-d 複製鏈接屬性所指的文件,而非鏈接文件
-p 複製文件源屬性
-r 遞歸複製目錄
-i 如果目標文件存在,則詢問是否覆蓋
複製過程中,沒有使用p 選項,則複製的文件的屬性和權限會發生改變
沒加參數複製鏈接檔會默認複製源文件,添加p選項,纔會複製鏈接檔。
擁有者和羣組信息則不會複製。
rm
刪除如-aaa的文件
rm -- -aaa
cat -n 則顯示行號
tail -f 會持續更新文件 檢測文件變化 ctrl+c 取消操作
od 查看非文本文檔
od -t 【參數】 filename
a : 默認字符輸出
c : ASCII 碼輸出
d : 十進制輸出 decimal
f : 浮點數輸出
o : 八進制輸出
x : 十六進制輸出
以ASCII 碼輸出 /etc/passwd
od -t c /etc/passwd
修改檔案時間或建立新檔案touch
linux下的三個時間
modification time (mtime) 檔案內容被修改的時間
status time (ctime) 狀態改變時間 如權限 羣組
access time (atime) 訪問時間
ls -l --time=atime /etc/passwd
ls -l --time=mtime /etc/passwd
ls -l --time=ctime /etc/passwd
touch -[acdmt] filename
-a 只修改access time
-c 只修改ctime status time
-m 只修改 mtime modification time
-d 選擇修改日期而不是當前日期 --date=20120807
-t 選擇時間而不是當前時間 格式: YYMMDDhhmm
umask
拿掉的權限如果umask=022
文件權限 -rw-rw-rw - ----w--w- = -rw-r--r--
文件夾權限 drwxrwxrwx - d----w--w- = drwxr-xr-x
chattr [-+=] [ASacdistu] filename 修改檔案隱藏屬性
+ 追加一個隱藏屬性,其他屬性不受影響
- 去除一個隱藏屬性, 其他屬性不受影響
= 屬性改爲=後的隱藏屬性
A : 檔案的atime不會因爲access 而改變
S : 一般檔案是異步寫入磁盤,添加了S 選項後,檔案將同步寫入磁盤
a : 添加a後,檔案則只允許添加,不能刪除內容
c : 添加c選項後,檔案將自動被壓縮,使用時將自動解壓 ,適合大的文檔
d : 設置了d屬性後,當dump運行時,將不會對含有d屬性的文檔做備份
i: 文檔將不能被修改(刪除,改名,設定鏈接檔也無法寫入)只有root 有權利設置此屬性
s : 如果檔案被刪除,則將會完全的移除硬盤,無法挽回
u : 與s屬性相反,當檔案被刪除,則檔案還會保存在磁盤中,可以將文件挽回
添加了i屬性的文件,root也無法刪除,修改
顯示檔案隱藏屬性,lsattr -【adR】 filename
-a 將文件的隱藏屬性 顯示
-d 如果文件是目錄,則顯示目錄本身的屬性,而不是目錄內的文件屬性
-R 連同子目錄也列舉出來
檔案的特殊權限
SUID SGID SBIT
set UID 位於文檔所有者的X 權限上
ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 25980 Feb 22 2012 /usr/bin/passwd
SUID 只對二進制文件有效,而對scripts這樣的文本程序無效執行者需要對文件有執行的權限
只在文件的執行過程中有效
執行者將對文件擁有 所有者的權限
如果有執行該命令的權限,則在使用二進制文件(命令)的過程中,獲得命令所有者的權限
set GID
SGID 可以對文檔和目錄進行設定
SGID 對二進制程序有用
程序執行者對程序有執行權限
執行者在執行該程序的過程中獲得該程序所在組的權限
當SGID對目錄進行設置時,
用戶對目錄具有RX權限,也就是可以進入目錄中,用戶在該目錄下的有效羣組將變爲該目錄的羣組,若用戶在該目錄下具有W權限,就可以建立新檔案,該檔案的羣組與此目錄羣組相同。
StickyBit
SBIT只對目錄有效,對於檔案沒有作用。
SBIT作用是:
用戶對目錄具有RX權限,就可以具有寫入權限。
用戶在該目錄下建立檔案的時候,只有自己和root有權限對該檔案進行刪除。
將文件file設置爲-rws--x--x
chmod u=rws,go=x file
將file添加SGID 和SBIT
chmod g+s,o+t file
file 查看文件類型
which command 查詢command 的路徑
which是根據用戶當前PATH設定的環境中,尋找是否含有command
如果which cd 將會提示找不到cd 會提示找不到cd 因爲cd是bash內建的命令,不會在PATH的環境變量中出現,當然也就搜索不到了。
文檔名的搜尋:
whereis -bmsu
參數: -b 只找到binary格式的檔案
-m 只找在說明文件manual路徑下的文檔
-s 只找source 來源檔案
-u 搜索不在上述來源的檔案
locate -ir keyword
-i 忽略大小寫
-r 後接正規表示法的顯示方式
locate passwd 找出與passwd相關的文檔名
locate搜索的是 在/var/lib/mlocate/裏面的數據庫所搜索到的
跟新數據庫的方法 updatedb
find 【path】【option】【action】
選項與參數;
與時間相關的參數
-atime
-ctime
-mtime
以-mtime 爲例,
-mtime n 意義在n天之前一天之內被更變過的檔案
-mtime +n n天之前(n天前的所有時間)被修改的檔案
-mtime -n n天之內被修改的內容
-newer file file爲一個存在檔案,列出比此檔案更新的檔案。
find / -mtime 0 找出/下 從現在開始24小時內文檔修改的檔案
find / -mtime 3 找出/ 距現在3天的那天24小時被修改的文檔名
find /etc -newer /etc/passwd 找出在/etc下 比passwd更新的文件名
與使用者和組名相關的參數
-uid n
-gid n
-user name
-group name
-nouser尋找不再passwd中含有的用戶的文件名
-nogroup尋找不再/etc/group 中的用戶的文檔
尋找/下 檔案爲username的檔案
find / -user username
尋找/ 下非passwd中列舉的檔案文件
find / -nouser
與檔案名稱和權限相關的檔案
-name filename 搜尋文件名爲filename的檔案
-size 【+ - 】 size 尋找大於,小於 size 的文檔
c代表字節 k代表kb
-type type 尋找類型爲type的文件
-perm mode 尋找檔案權限剛好爲mode的檔案
-perm -mode 尋找權限中包含mode的檔案
-perm +mode 尋找權限中含有(就是權限中與mode有交集)的檔案
尋找/下具有特殊權限的文件 SUID SGID SBIT
find / -perm +7000
額外可進行的動作
-exec command 添加額外的命令 要將命令和參數全部寫出 不能用命令別名 如ls -l 而不能寫爲ll
-print 將結果打印在屏幕
這是個預設動作
find / -perm +7000 -exec ls -l {} \;
用戶在一個檔案中讀取文檔的權限
文檔權限 R 目錄權限 x 和讀取命令
用戶在檔案中修改文檔的權限
文檔權限r w 目錄權限 x 修改的命令 vi nano
linux磁盤與文件系統管理
硬盤的構成:sector 扇區爲存儲的最小單位,大小爲512bytes 將扇區組成一個圈即構成了磁柱 cylinder
第一扇區很重要,包含了MBR 和分區表
MBR 佔446字節 分區表佔用64字節
關於分區表 ;
primary extended logical
最多四個primary 可以將一個或2個或3個primary標註爲 extended,將extended繼續分割的分割槽爲logical
能格式化format的只有primary和logical
文件系統特性:
df
實體鏈接和符號鏈接 ln
hard link 不能跨文件系統,不能對目錄產生hard link 文件連接數數會增加 ln oldfile newfile 不依賴源文件 源文件被刪除,依舊可以訪問hardlink 來訪問文件數據
Symbolic link符號鏈接 也就是快捷方式 inodenumber 會增加,相當與添加了一個新文件,指向源文件的block文件連接數不會增加 ln -s oldfile newfilelink 依靠源文件 若源文件刪除,則symbolic link 失效
ln 默認產生 hardlink 添加-s 參數則產生符號鏈接 -f 選項是 如果目標文件存在,則現將其刪除,再創建文件,若目標文件不存在,就直接產生目標文件訪問目錄的符號鏈接,也就是訪問了目錄本身,如果對鏈接目錄內容作出修改,那麼源目錄也將收到影響,就是和快捷方式一樣啦
目錄的鏈接
新建立一個目錄,由於目錄中會存在. 和,, 分別代表當前目錄和上層目錄 ,所以建立目錄後,目錄具有的鏈接數是2 當在目錄中建立新目錄時,則上層目錄鏈接數加1,以爲那個/..代表了上層目錄呀。
硬盤分區 fdisk 只對整個硬盤有效
格式化
mke2fs [ -b block ] [ -i block ] [ -L ] [-cj ]
-b 設置每個block大小 支持1024 2048 4096 三種
-i 多少容量給一個inode
-c 檢查磁盤錯誤 下達一個 進行快速讀取測試
下達兩個-c -c 會測試讀寫 ,速度很慢
-L 後面可以接標頭名稱lable
-j 本來爲ext2 添加-j 則會加入journal而成爲ext3
磁盤檢查 fsck badblocks
掛載 mount
mount -t filesystem -L lable -o others -n devname mountpoint
-o others ro 只讀 rw 讀寫
remount 重新掛載
umount
手動建立裝置檔案: mknod
mknod bcp Major Minor
裝置種類:
b 設定裝置爲周邊存儲設備
c 設定設備爲周邊輸入設備
p 設置設備爲FIFO 檔案
Major主要裝置代碼
Mnior 次要裝置代碼
e2label 裝置名稱 新的label
e2label /dev/sda1 harddisk1
將/dev/sda1 標記爲harddisk1
開機掛載 /etc/fstab /etc/mtab
建立一個預訂大小的文件檔案
dd if=/dev/zero of=/root/Download/newfile bs=1M count=512
建立位於/root/Download 名爲newfile的文檔,大小爲512M
if inputfile 輸入
/dev/zero 是一個一直輸出0 的裝置
of=outputfile
輸出
bs block大小
count 多少個block
掛載
mkfs -t ext4 /root/Download/newfile建立文件系統
mount -o loop /root/Download/newfile
查看 df 就會發現 原本分割槽沒法生改變的情況下 我們新建立了分割槽 掛載了 newfile文檔
dump 備份整個文件系統 還可以設置備份等級。
dump [-Suvj ] [-level][-f 備份檔]待備份資料
dump -W
選項與參數 :
-S 只是列出後面備份的文件需要多少空間纔可以備份完畢
-u 將這次備份的時間記錄到 /etc/dumpdates
-v 將dump檔案的過程顯示出來
-j 加入對bzip2 的支持 默認bzip等級爲2
-level 就是我們說的壓縮等級了
-f 後面直接產生檔案
-W 列出在etc/fstab裏面具有dump設定partition 是否有備份過
dump 對目錄進行備份
dump -0j -f /root/Download /root/Download/dump.bz2
j 參數將使用bzip2 進行壓縮,從而節省磁盤空間
restore
恢復數據
restore -t 【-f dumpfile】 【-h】可以對dump文檔進行查看
restore -C 【 -f dumpfile 】 【-D 掛載點】 比較實際檔案與dumpfile的差異
restore -i 【-f dumpfile】 進入互動模式
restore -r 【 -f dumpfile】 還原整個文件系統
-t參數用來查看dump中包含了什麼備份文件
-C 可以將dump中的文件拿出來與實際數據進行比較
-i 進入互動模式
-r 將整個文件系統進行還原