week3 文件屬性 特殊符號

1.linux ls -lhi 命令詳解

1.1 ls -ilh每一行含義

ls -ilh /etc/

執(zhí)行結果如下(截取部分)
33926932 drwxr-xr-x.  3 root root  101 Mar 28 16:35 abrt
17192799 -rw-r--r--.  1 root root   16 Mar 28 16:39 adjtime
  • 第一列:代表inote號碼,就像人的身份證號碼一樣,在同一磁盤分區(qū)
    下,是唯一的,系統(tǒng)識別的就是inote號碼

  • 第二列:文件類型
    - 代表普通文件
    d 代表目錄
    l 代表軟鏈接,符號鏈接
    c 字符設備 提供用戶的輸入輸出

本地連接會被系統(tǒng)分配到  /dev/tty
遠程網(wǎng)絡連接會被系統(tǒng)分配到 /dev/pts/xxx  

b 和塊設備 U盤,磁盤分區(qū),都被系統(tǒng)認為是塊設備

  • 第三列:執(zhí)行權限,按照三個一組分
    r 只讀
    w 寫入
    x 執(zhí)行
    (權限當中‘-’表示沒有此位的權限)
  • 第四列 硬鏈接數(shù)量
  • 第五列 所有者
  • 第六列 所屬組
  • 第七列 文件大小
  • 第八列 文件創(chuàng)建日期
  • 第九列 文件名(文件名不是文件屬性
  • 注:權限后邊的點,與selinux相關

2.linux文件屬性

2.1 inode與block

在linux系統(tǒng)設備或者存儲設備的分區(qū)被格式化為文件系統(tǒng)后,主要分為兩部分,第一個部分是inode 第二部分是block

inode (index node) 索引節(jié)點,linux 系統(tǒng)中文件的身份證號,同一個磁盤分區(qū)內inode號是唯一的

block block 用來存儲實際數(shù)據(jù),inode用來存儲文件的屬性信息(ex: 文件類型,權限,所屬用戶,所屬組,修改時間...)

inode特點:inode 在文件系統(tǒng)是唯一的,一個文件至少要占用一個inode以一個block,多個文件可以占用一個block ???? inode (硬鏈接)
block特點 一個block只能被一個文件使用,如果文件很小,但block很大,會造成剩余空間浪費,無法繼續(xù)唄其他文件使用。

注:block 余量不足會報警磁盤空間不足,同樣inode余量不足時也會報警磁盤空間剩余不足

2.2 軟鏈接與硬鏈接

硬鏈接

指通過索引節(jié)點(Inode) 來進行連接,在linux文件系統(tǒng)中 ,保存在磁盤空間中的文件都會分配一個Inode,在linux 中,多個文件,用有一個索引節(jié)點成文硬鏈接

軟鏈接

軟鏈接也叫符號鏈接(symbolick link)是一個包含指向另一個文件的inode的信息的文本文件,然后通過inode訪問數(shù)據(jù)block 原文件刪除則軟鏈接失效,查看文件時軟鏈接會閃爍(當原文件被刪除)就像是windows中的快捷方式。

軟鏈接創(chuàng)建命令

ln 【原文件】【目標文件(創(chuàng)建位置)】 創(chuàng)建硬鏈接
ln -s 【原文件】【目標文件(創(chuàng)建位置)】 創(chuàng)建軟鏈接
注意:軟鏈接可以跨分區(qū)創(chuàng)建,但是硬鏈接無法跨分區(qū)創(chuàng)建,因為inote不同磁盤不是唯一

  • 操作實例
為'/oldboy/test.txt' 創(chuàng)建硬鏈接
命令:'ln /oldboy/test.txt /tmp/test.hard'
創(chuàng)建硬鏈接
為'/oldboy/test.txt' 創(chuàng)建軟鏈接
命令:'ln -s /oldboy/test.txt /tmp/test.soft'
創(chuàng)建軟鏈接

軟鏈接的快捷指定方便于以后業(yè)務的升級與回推,升級更新出現(xiàn)問題,很快就可以將版本返回到舊的版本,非常方便,效率高效

硬鏈接小結

1. 硬鏈接,具有與原文件相同inode的不同文件名
2. 刪除硬鏈接或者原文件之一,文件實體(block)不會被刪除
3. 刪除硬鏈接,數(shù)據(jù)會被在磁盤檢查或者新數(shù)據(jù)寫入時候刪除回收,誤刪除,可通過另一個硬鏈接創(chuàng)建回來
4. 可以給文件創(chuàng)建硬鏈接防止誤刪除,最好還是備份
5. rm -f 刪除硬鏈接
6. 文件目錄不可以創(chuàng)建硬鏈接
7.創(chuàng)建硬鏈接' ln 【原文件】【目標文件(創(chuàng)建位置)】 '

軟鏈接小結

1. 軟鏈接類似快捷方式,存放原文件路徑,執(zhí)行原文件
2. 刪除原文件,軟鏈接依然存在嗎,但是失效
3. 創(chuàng)建軟鏈接' ln -s 【原文件】【目標文件(創(chuàng)建位置)】'
4. 軟鏈接和原文件是不同類型文件,inode不同
5. 可以創(chuàng)建目錄和文件的軟鏈接,可以跨區(qū)
  • 軟鏈接失效實例


    軟鏈接失效

實踐:描述linux中軟鏈接與硬鏈接的區(qū)別

1.刪除文件軟鏈接對硬鏈接無影響
2.刪除文件硬鏈接對文件及軟鏈接文件無影響
3.刪除原文件對硬鏈接讀取數(shù)據(jù),文件軟鏈接失效
4.同時刪除原文件和硬鏈接,軟鏈接則失效
5.很多硬件設備中的快照,類似于硬鏈接原理
6.從定義上,鏈接有兩種,一種為軟鏈接,類似于快捷方式,存放指向原文就得inode信息,于原文件inode不同,硬鏈接,與原文件有相同的inode,可以指向數(shù)據(jù)block
7.從創(chuàng)建方式上 硬鏈接創(chuàng)建 ln 【原文件】【目標文件】硬鏈接 ln -s 【原文件】【目標文件】
8.從創(chuàng)建對象上,文件目錄不能創(chuàng)建硬鏈接,但是目錄可以創(chuàng)建軟鏈接,因為軟鏈接可以跨文件系統(tǒng),硬鏈接則不能,同一個文件,不同分區(qū)inode節(jié)點號相同,但是不是同一個文件

3. 文件屬性命令

3.1 which

which [文件] 顯示命令的全路徑 包括幫助信息路徑

  • 操作實例


    which命令

3.2 whereis

whereis [命令] 查看命令及相關內容

  • 操作實例


    whereis命令

3.3 tar

tar 打包壓縮命令

常用選項:
'z' 通過gzip這個軟件壓縮文件
'c' create 創(chuàng)建, 打包文件,與z一起使用,否則還是占用空間
'v' verbose顯示壓縮過程
'f'  file 指定壓縮文件位置
't' 查看壓縮文件
'x' 解壓縮
  • 操作實例
將/etc/的文件打包壓縮到/tmp/etcback
tar zcf /tmp/etcback etc/ 
  • 操作實例


    tar備份etc目錄
查看壓縮包
tar -tf /tmp/etcback
  • 操作實例


    查看壓縮包
解壓縮 
tar xf /tmp/etcback  不指定路徑默認解壓到當前目錄
  • 操作實例


    解壓縮
解壓到指定位置選項 ' -C'  注意大寫
  • 操作實例
指定解壓縮到/oldboy

3.4 date

查看修改系統(tǒng)時間

常用選項
%Y 年
%m month 月
%d 日
%F= %Y-%m-%d  顯示年月日  2019-4-16
%H hour 小時
%M minute 分鐘
%S sec 秒 
%T=%H:%M:%S 顯示日期 21:24:42

  • 操作實例
年月日單獨顯示
F單獨顯示
時分單獨顯示
時分秒單獨顯示
同步網(wǎng)絡時間  'ntpdate ntp1.aliyun.com' (需要安裝ntpdate包, yum install -y ntpdate)
  • 操作實例
同步時間

3.5 find

find 查找目錄下文件
格式 find 【搜索的目錄】【選項】【參數(shù)】

find /etc/ -type f -name "*.txt"
查找/etc/文件名以.txt結尾的普通文件
常見選項:
-name 名字 
-type 類型  f  普通文件 d 目錄 l 軟鏈接 
-size 大小  size +1M  大于1M size -100k  小于 100k

-iname  搜索文件名不區(qū)分大小寫

-maxdepth 最大查找多少層,'注意:一定要放在最前面(否則會報錯)' maxdepth1 是該目錄下一層進行搜索

  • 操作實例


    -name
name與iname選項
-size
-type
-maxdepth

4 特殊符號與通配符

4.1 特殊符號

"$"  普通用戶提示符,放在變量前面,'代表變量內容 輸出變量要在變量前加入 $'
"#"  注釋,給人看的。機器忽略,root提示符

"| " 管道符 把一個命令的標準輸出作為標準輸入傳給另一個命令!
"\ "  逃脫符,即將有特殊含義的字符還原成字符本意,例如 echo \$ 僅代表$符號
" ; "  表示命令的結束,也是命令間的分隔

4.2 表示位置的特殊符號

.   cd .  回到當前目錄
..  cd .. 回到上一級目錄
~   cd ~ 回到當前用家目錄 
-   cd - 回到上一次操作的目錄下 
'注:直接輸入 cd 命令回到當前用戶家目錄'

4.3 重定向符號

'>' 或 '1>' 標準輸出重定向 覆蓋原文件內容
'>>' 或 '1>>' 標準追加輸入重定向 不覆蓋文件內容,追加
'2>' 標準追加錯誤重定向,把錯誤信息追加到文件結尾
'2>>'  標準錯誤輸出重定向, 先清空文件,然后把錯誤信息寫入文件中

4.4 引號系列

單引號 '    單引號 引號里面是啥,就一直是啥不會改變,輸出和處理,都是所見即所得
雙引號 ""   雙引號  與單引號相似,但是雙引號里面的特殊符號會被解析,執(zhí)行,然后輸出
不加引號    與雙引號一樣,支持花括號,比如生成序列,創(chuàng)建有規(guī)律的文件或者目錄
反引號 ``   反引號 引命令的 等價$() 優(yōu)先處理符號內的命令,符號內必須是命令,否則會報錯

4.5 通配符

"*"   匹配任何字符串或文本,包括空字符串  常用于操作文件,可于很多命令搭配使用
"{}"  1. 生成序列,用于創(chuàng)建多個有規(guī)律的文件或者目錄 
      2.引用變量作為變量與普通字分隔
"?"   匹配一個字符,* 可以匹配任意字符,沒有個數(shù)限制,但是? 輸入幾個就匹配幾個字符或者文本
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Linux系統(tǒng)一般有4個主要部分:內核、shell、文件系統(tǒng)和應用程序。 內核、shell和文件系統(tǒng)一起形成了基本...
    請愛護小動物閱讀 3,254評論 0 22
  • Linux系統(tǒng)一般有4個主要部分: 內核、shell、文件系統(tǒng)和應用程序。內核、shell和文件系統(tǒng)一起形成了基本...
    偷風箏的人_閱讀 3,378評論 1 17
  • 第一章 1.Linux是一套免費使用和自由傳播的類UNIX操作系統(tǒng),它可以基于Intel x86系列處理器以及Cy...
    yansicing閱讀 5,572評論 0 9
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重復值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,952評論 0 9
  • 數(shù)據(jù)備份 數(shù)據(jù)備份對于一個高可用的系統(tǒng)來說,是必不可缺的。 使用從庫備份 同步數(shù)據(jù)庫基本有兩個方案, 1:主庫備份...
    ankerjian閱讀 315評論 0 3

友情鏈接更多精彩內容