天天看點

檔案管理基本概念及部分通配符變量說明

                            檔案管理基本概念及部分通配符變量說明

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

檔案管理基本概念

檔案管理基本概念及部分通配符變量說明
檔案管理基本概念及部分通配符變量說明

檔案和目錄被組織成一個單根倒置樹結構;

檔案系統從根目錄開始,用/表示;

根檔案系統(rootfs):root filesystem;

檔案名稱根據檔案類型區分大小寫,因為U盤FAT格式為windows系統檔案類型,是以U盤檔案在Linux系統中也不分大小寫;

以 . 開頭檔案為隐藏檔案;

路徑分隔使用/;

檔案有兩類資料,中繼資料(meta data)和資料(data),中繼資料為檔案屬性,資料為檔案内容;

檔案系統分層結構由LSB定義的Linux發行版基礎目錄名稱命名法則及功用規定,這種标準稱作FHS(Filesystem Hierarchy Standard),即檔案系統層級标準。

括号用法

{ }在Linux中表示是一種組合,比如說echo file{1,2,3}.{txt,log},左側大括号中1,2,3分别與右側大括号txt,log分别組合,組合出來的結果為file1.txt,file1.log,file2.txt,

file2.log,file3.txt,file3.log;

[ ]在Linux中表示或的關系,比如說[19]表示1或9,f[ABc]表示fa,fA,fb,fB,fc。

通配符

*:比對0個或多個字元

?:比對任何單個字元

~:目前使用者家目錄

~使用者名:使用者名家目錄

~+:目前工作目錄

~-:~前一個工作目錄

[admin]:比對清單裡a、d、m、i、n任何一個字元

[^admin]:比對清單裡a、d、m、i、n以外的任何一個字元

[:digit:]:任意數字,相當于0-9

[:lower:]:任意小寫字母

[:upper:]:任意大寫字母

[:alpha:}:任意大小寫字母

[:alnum:]:任意數字或字母

[:blank:]:水準空白字元

[:space:]水準或垂直空白字元

[:punct:]:标點符号

[:print:]:可列印字元

[:cntrl:]控制(非列印)字元

[:graph:]圖形字元

[:xdigit:]十六進制字元

!數字:執行history中第幾條指令

!-1:執行倒數第一條指令

!:0:執行上一條指令,不加參數

!:字母:以該字母開頭最近指令

!?字母:包含該字母的指令

!$:p:輸出上一條指令參數内容

!$:*:輸出除指令外的所有字元

^字元1^字元2:替換上一指令的第一個字元中字元内容替換為字元2

!^:出現上一個指令的第一位參數

檔案命名規則

檔案名最長255位元組;

包括路徑在内檔案名稱最長4095個位元組;

用ls指令檢視檔案目錄後,藍色為檔案夾目錄,綠色為可執行檔案,紅色為壓縮檔案,淺藍色為連結檔案,灰色為其他檔案;

除了null和/,任何字元都可以作為Linux的檔案名。

常見目錄

~/.bash_history 曆史記錄檔案

/etc/issue 開機前文字提示

/etc/gdm/custom.conf,設定開機相關功能,圖中為開機自動登入使用者名為admin的賬戶

檔案管理基本概念及部分通配符變量說明

/etc/motd 開機後文字提示

/etc/profile.d/自定義名字.sh 提示符格式更改,格式PS1="\[\e[1;5;42;32m\][\u@\h \W]\\$\[\e[0m\]"

/root/.bashrc 設定自定義别名

/proc/meminfo 記憶體資訊路徑

變量中特殊符号意義

檢視幫助,用指令 man agetty,出現

檔案管理基本概念及部分通配符變量說明

常用字元解釋

\a  顯示系統日期,格式:星期 日期

\A  顯示系統時間,格式:HH:MM

\h  顯示主機名稱(簡稱)

\H 顯示主機名稱(全稱)

\t   顯示系統時間,格式:HH:MM:SS (24小時制)

\T  顯示系統時間,格式:HH:MM:SS (12小時制)

\u  顯示使用者名

\W 顯示工作站名稱

絕對路徑與相對路徑

絕對路徑:用詳細的目錄指向一個檔案或者檔案夾;

相對路徑:用相對于絕對路徑比較簡單的寫法來指向一個檔案或者檔案夾,比如說 ../root/即為相對路徑;

不是以/開頭的路徑都是相對路徑

. 表示本機目錄,..表示上一級目錄,在/etc目錄下想通路統計/root/.bashrc,可以用cat ../root/.bashrc

變量

$HOSTNAME:顯示主機名

$HISTSIZE:曆史記錄數目,最多1000條

$HISTFILE:指定曆史檔案,預設為~/.bash_history

$HISTFILESIZE:指令曆史檔案記錄曆史的個數

$HISTTIMEFORMAT="%F%T":顯示時間

$HISTIGNORE="指令1:指令2*:...":忽略指令1,指令2開頭的曆史

$HISTCONTROL:環境變量

$OLDPWD:上一次目錄坐在位置變量

$PATH:外部指令所在目錄

$PS1 :指令行提示符格式

$PWD:目前目錄所在位置

$USER:使用者名

tab鍵用法

如果使用過程中無法用tab進行聯想,在軟體包中安裝tab安裝包:.bash-compltion.noarch

CentOS6中隻能補全指令,CentOS7中可以補全指令目錄和檔案名

Command後2次tab:顯示所有子指令或者檔案補全

字元2tab:顯示字元後所有指令

~2tab:顯示所有使用者清單

$2tab:顯示所有變量

/2tab:顯示所有根目錄下子目錄,包括隐藏目錄

./2tab:顯示目前目錄下子目錄,包括隐藏目錄

*2tab:目前目錄下子目錄,不包括隐藏目錄

快捷鍵

Alt+b:光标向左移動一個單詞首

Alt+f :光标向右移動一個單詞尾

Alt+r:删除目前整行

Alt+d:光标向右删除至單詞尾

Alt+c:從光标處開始向右更改為首字母大寫的單詞

Alt+u:從光标處開始,将右邊一個單詞更改為大寫

Alt+l :從光标處開始,将右邊一個單詞改為小寫

Alt+t :交換光标處和之前的字元位置

Alt+N:輸入指定字元後,重複顯示該字元N次

Ctrl+a:光标移到指令行首,相當于Home

Ctrl+b:光标向左移動一個字元

Ctrl+e:光标移到指令行尾,相當于End

Ctrl+f :光标向右移動一個字元

Ctrl+d:删除光标處的一個字元

Ctrl+h:删除光标前的一個字元

Ctrl+k:從光标處删除至指令行尾

Ctrl+t:交換光标處和之前的字元位置

Ctrl+u:從光标處删除至指令行首

Ctrl+w:從光标處向左删除至單詞首

Ctrl+x:光标在指令行首和光标之間移動

Ctrl+y:将删除的字元粘貼至光标後

rm相關

1.在生産中,rm實質是一個比較危險的指令,是以我們首先可以自己找個目錄建個起到windonws中垃圾箱作用的目錄/trash,mkdir /app/touch,并且使用自定義建立别名alias rm =mv -t /trash,這樣也大大降低了rm誤删重要檔案跑路的機率;

 2.當删除某個被其他人通路的檔案時,因為此時直接删除不會釋放空間,是以需要先>該檔案,再使用删除指令;

 3.檔案删除并不是真正意義的删除,而是被系統貼上delete的标簽,表面這些資料無用可以覆寫,是以出現我們使用電腦删除資料時進度很快的情況。

索引節點inode、軟連結(符文連結)與硬連結

1.每個檔案都有一個與衆不同的節點編号;

2.軟連結:可以了解為windows中的快捷方式,使用ln -s時相對連結相對的是原檔案目錄,而不是建立該軟連結的目錄。軟連結可以跨分區、跨裝置;

3.硬連結:給一個檔案起另一個名,兩個名字具有相同的節點,隻要該檔案有1個節點存在,該檔案節點編号就不會釋放。硬連結不能跨分區、跨裝置。

檔案系統指針

硬碟存儲檔案時:

如果檔案<=48KB時,會啟用直接塊指針,12個指針每一個指針指向每塊4KB的小資料塊;

如果48KB<檔案<4MB時,會啟用間接塊指針,将一個4K的小資料塊分割成1024個小塊,每個小塊裡包含4個位元組,每一個位元組作為1個指針指向下一級4K的資料塊,此時容量為4MB;

如果4MB<檔案<4GB,和上同理,位元組指向位元組指向4k資料塊,此時容量為4GB;

以此類推,檔案系統最高到4TB。                            

繼續閱讀