系統基礎-很重要,在使用過程中感觸更深,持續更新

權限:

         文件權限: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 將整個文件系統進行還原 





















發佈了10 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章