FHS
FHS(Filesystem Hierarchy Standard),文件系統層次化標準,FHS主要目的是希望讓用戶瞭解安裝文件通常放置的目錄。
FHS-compliant system:
分類 | 可分享的(shareable) | 不可分享的(unshareable) |
---|---|---|
不變的(static) | /usr /opt | /etc /boot |
可變的(variable) | /var/mail /var/spool/news | /var/run /var/locak |
解釋:
shareable: 可分享給其他系統(主機)掛載使用;
unshareable: 不適合分享給其他主機;
static: 有些數據基本是不會變化的;
variable: 進程變更的數據。
FHS目錄及其描述
目錄 | 描述 |
---|---|
/bin | binary,即用來存放二進制可執行文件,並且比較特殊的是/bin裏存放的是所有一般用戶都能使用的可執行文件,如:cat, chmod, chown, mv, mkdir, cd 等常用指令 |
/boot | 存放開機時用到的引導文件 |
/dev | device(並不是develop哦)設備目錄,任何設備都以文件的形式存放在這個目錄中 |
/etc | Editable Text Configuration(早期含義爲etcetera,但是有爭議),存放系統配置文件,如各種服務的啓動配置,賬號密碼等 |
/home | 用戶的主目錄,每當新建一個用戶系統都會在這個目錄下創建以該用戶名爲名稱的目錄作爲該用戶的主目錄。並且在命令行中代表當前用戶的主目錄,yousiku表示yousiku這個用戶的主目錄 |
/lib | library,存放着系統開機時所需的函數庫以及/bin和/sbin目錄下的命令會調用的函數庫(可執行程序 它的執行由可執行程序調用 可以理解爲軟件的模塊) |
/lib64 | 存放相對於/lib中支持64位格式的函數庫 |
/media | 可移除的媒體設備,如光盤,DVD等(一般沒人用 是空的) |
/mnt | mount,臨時掛載的設備文件 |
/opt | optional,可選的軟件包,即第三方軟件。我們可以將除了系統自帶軟件之外的其他軟件安裝到這個目錄下(但是不曾有人安裝過軟件) |
/proc | process 當前操作系統所有應用程序所對應的目錄,該目錄是一個虛擬文件系統,即該目錄的內容存放於內存中而不是硬盤中,存放着系統內核以及進程的運行狀態信息 |
/root | 超級管理員root的主目錄 |
/run | 最近一次開機後所產生的各項信息,如當前的用戶和正在運行中的守護進程等(存放pid文件,進程的號碼 表示我這個進程還在) |
/sbin | 存放一些只有root賬戶纔有權限執行的可執行文件,如init, ip, mount等命令 |
/srv | service,存放一些服務啓動後所需的數據 |
/sys | system,與/proc類似也是一個虛擬文件系統,存放系統核心與硬件相關的信息,系統開機內核要啓動的東西目錄(關機就沒東西了) |
/tmp | emporary,存放臨時文件,可以被所有用戶訪問,系統重啓時會清空該目錄所有一些重要的文件不要放在裏面,容易丟失 |
/usr | Unix Software Resource(並不是指user哦),存放着所有用戶的絕大多數工具和應用程序 |
/var | variable,存放動態文件,如系統日誌,程序緩存等(可變的,沒事就改的文件) |
find和grep的使用
1、find命令
在Linux中可以使用find命令在指定的目錄下查找文件。
【1】find命令的語法
find path -option [-print] [-exec -ok command] {} \;
find根據下面規則判斷path和exprssion,在命令列上的第一個-(),之前的部分爲path,之後的是expression,如果path爲空字符串,則使用當前路徑,如果expression是空字符串,則使用-print爲預設的expression。
【2】常用選項說明
-mount,-xdev:只檢查和指定目錄在同一文件系統下的文件,避免列出其它文件系統的文件
-amin n:在過去n分鐘內被讀取過的文件
-anewer file:比文件file更晚被讀取過的文件
-atime n:在過去n天內被讀取過的文件
-cmin n:在過去n分鐘內被修改過的文件
-empty:空的文件
-gid n or -group name:gid是n或group是name的文件
-ipath p,-path p:路徑名稱符合p的文件,ipath會忽略大小寫
-name name,-iname name:文件名稱符合name的文件,iname會忽略大小寫
-size n:文件大小是n單位的文件
-type c:文件類型是c的文件
-pid n:process id是n的文件
2、grep命令的使用
【1】grep命令語法
Linux中grep命令用於查找文件中符合條件的字符串,grep指令用於查找內容包含指定的範本樣式的文件
grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]
【2】常用說明
文本過濾顯示:grep
查找文件裏有字符h的字符串 : grep h文件名
匹配整個單詞: grep -w單詞文件名
匹配以q開始的行: grep ^[q]文件名
匹配以q結束的行: grep q$文件名
匹配以數字開頭的行: grep ^[0-9]文件名
匹配以q或者f開頭的行: grep ^[qf]文件名
不匹配以q或者開頭的行: grep ^[^qf] 文件名
匹配oo前面不是f或者g的字符串: grep [^gf]oo文件名
匹配以#號開頭的行: grep ^#
過濾空白行: grep ^$
如果要明確搜索子目錄: grep-rh./*
忽略子目錄: grep -d skip h ./*
查詢多文件時只輸出包含匹配字符的文件名
搜索時忽略大小寫: grep -i
搜索時顯示沒有匹配到的行: grep -v
搜索時顯示匹配到的那一行以及下2行: grep -A 2
搜索時顯示匹配到的那一行以及上2行: grep -B 2
搜索時顯示匹配到的那一行以及上下2行:grep -C 2
壓縮命令
tar命令
語法:tar [主選項+輔選項] 文件或者目錄
使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。
主選項:
c 創建新的打包文件。
x 從打包文件中釋放文件。
t 列出打包文件的內容,查看已經打包了哪些文件。
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因爲不可能同時壓縮與解壓縮。
輔助選項:
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮或解壓? 一般格式爲xx.tar.gz或xx. tgz
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮或解壓?一般格式爲xx.tar.bz2
-J : 是xz格式的選項
-v :歸檔或者解包的過程中顯示文件!這個常用
-f :使用文件名,請留意,在 f 之後要立即接文件名!不要再加其他參數!
-p :使用原文件的原來屬性(屬性不會依據使用者而變)
--exclude FILE:在打包的過程中,不要將 FILE 打包!
gzip和gunzip命令
gzip: .gz
-d: 等同於gunzip
-#:1-9,默認爲6,壓縮比
zcat: 查看.gz壓縮的文件內容
gunzip: 解壓縮.gz
bzip命令
bzip2: .bz2
-d: 解壓縮
-#:1-9,壓縮比,默認爲6
bcat: 查看.bz2壓縮的文本文件內容
xz和xzdec命令
xz: .xz
-d:解壓縮
-#:1-9,壓縮比,默認爲6
-k:壓縮時保留原文件
xzcat: 不解壓直接查看壓縮格式的文本文件
xzdec: 解壓縮.xz文件
zip和unzip命令
zip: 默認不刪除原文件
zip FILENAME.zip FILE1,FILE2,...
unzip: