linux文件管理03 and 04--2week

1.linux系統中一切皆文件:
文件系統及目錄結構:
linux文件管理03 and 04--2week
/boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub)都存放於此目錄
 /bin:全部用戶使用的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序
 /sbin:管理類的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序
 /lib:啓動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)
 /lib64:專用於x86_64系統上的輔助共享庫文件存放位置
 /etc:配置文件目錄
 /home/USERNAME:普通用戶家目錄
 /root:管理員的家目錄
 /media:便攜式移動設備掛載點
/mnt:臨時文件系統掛載點
 /dev:設備文件及特殊文件存儲位置
 /tmp:臨時文件存儲位置
#

2.lsblk-列出系統的硬盤 du -sh 查看文件大小 pwd-顯示當前目錄
--echo '- - -' > /sys/class/scsi_host/host0(host2)/scan --虛擬機增長硬盤命令
--/proc /sys -進程目錄
目錄顏色:藍色-目錄,yellow-硬件目錄,粉色-套接字,棕色-管道文件,l綠色-可執行文件,紅色-打包或壓縮文件
--定義顏色文件路徑:/etc/DIR_COLORS
--除了斜槓和NUL,全部字符都有效.但使用特殊字符的目錄名和文件不推薦使用,有些字符須要用引號來引用它們
--標準Linux文件系統(如ext4),文件名稱大小寫敏感,例如:MAIL, Mail, mail, mAiL
-->linux文件類型:(-)rw- --- --- :括號中所表明的文件類型node

  • 普通文件
    d 目錄文件
    b 塊設備
    c 字符設備
    l 符號連接文件
    p 管道文件pipe
    s 套接字文件socket
    絕對路徑:也稱爲完整路徑從根開始 相對路徑:相對於當前目錄工做路徑
    ..:ll ../issue上一級目錄 .:ll ./network當前目錄
    --basename-取出相對的文件名忽略以前目錄 dirname-取出以前的文件名而不取出最後相對文件名 (變量表明一個字符串)
    #

    3.
    查看文件狀態:stat
    文件有兩類數據:metadata,:元數據定義-數據(Metadata),又稱中介數據、中繼數據,爲描述數據的數據(data about data),主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。元數據算是一種電子式目錄,爲了達到編制目錄的目的,必須在描述並收藏數據的內容或特點,進而達成協助數據檢索的目的,元數據就是數據的數據。
    data:
     三個時間戳:
    access time 訪問時間,atime,讀取文件內容
    modify time 修改時間, mtime,改變文件內容(數據)
    change time 改變時間, ctime,元數據發生改變
    linux文件管理03 and 04--2week
    file:文件名 size:文件大小(B)
    blocks:文件所佔區個數爲8的倍數(一般的 Linux 的扇區大小爲 512 B,連續八個扇區組成一個block)
    IO Block:每一個數據塊的大小(單位:B)
    regular file:普通文件(此處顯示文件的類型)
    Device:所在設備;
    Inode:文件的Inode號-儲存文件元信息的區域就叫作inode
    Links:硬連接次數
    Access:訪問權限
    id:(屬主id/屬主名)
    Gid:(屬組id/屬組名)
    Access:最近訪問時間
    Modify:數據改動時間
    Change:元數據改動時間
    修改時間戳:
    更改access time:
    linux文件管理03 and 04--2week
    修改Modify time:
    linux文件管理03 and 04--2week
    修改change time(元數據改動時間):
    linux文件管理03 and 04--2week
    -->更改atime也能夠經過touch -a /data/1.xt,同理mtime也能夠經過touch -m /data/1.xt來更改,若是將文件內容進行修改,修改後文件的mtime會進行更新,文件的inode信息更新回致使ctime更新。
    -->atime:訪問時間:讀一次文件的內容,這個時間就會更新。好比more、cat等命令。ls、stat命令不會修改atime
    mtime:修改時間:修改時間是文件內容最後一次被修改的時間。好比:vim操做後保存文件。ls -l列出的就是這個時間
    ctime:狀態改動時間。是該文件的inode節點最後一次被修改的時間,經過chmod、chown命令修改一次文件屬性,這個時間就會更新。
    linux文件管理03 and 04--2week
    #

    4.
    chkconfig iptables off -centos6關閉防火牆
    systemctl disable fireewalld -centos7
    vi /etc/selinux/config -更改成:disable setenforce 0 -能夠臨時關閉selinux getenforce -查看selinux 狀態
    文件通配符:linux

    • 匹配零個或多個字符 -ls .txt ls x*
      ? 匹配任何單個字符 ls a?.log
      ~- 前一個工做目錄 ls ~-/af.log
      [0-9] 匹配數字範圍
       [a-z]:字母(包含大寫字母)
       [A-Z]:字母(包含小寫字母)
       [wang] 匹配列表中的任何的一個字符
       [^wang] 匹配列表中的全部字符之外的字符
      預約義的字符類:man 7 glob
      [:digit:]:任意數字,至關於0-9
      [:lower:]:任意小寫字母
      [:alnum:]:任意數字或字母
      -->列出當前目錄命令:
      ls -a 包含隱藏文件
      ls -l 顯示額外的信息
      ls -R 目錄遞歸
      ls -ld 目錄和符號連接信息
      ls -1 文件分行顯示
      ls –S 按從大到小排序
      ls –t 按mtime排序
      ls –u 配合-t選項,顯示並按atime重新到舊排序
      ls –U 按目錄存放順序顯示
      ls –X 按文件後綴排序
      touch命令:
      touch [OPTION]... FILE...
      -a 僅改變 atime和ctime
      -m 僅改變 mtime和ctime -t [[CC]YY]MMDDhhmm[.ss]
      指定atime和mtime的時間戳
      -c 若是文件不存在,則不予建立
      linux文件管理03 and 04--2week
      用法描述:
      touch修改每一個指定文件file的存取(access)和/或修改(modification)時間戳記.除非使用-r或-t選項,這些時間戳記都將修改成當前的時間.使用-r選項時,這些戳記將按照文件 ref_file 的時間戳記來修改(即變得和ref_file時間戳記值相同).使用-t選項,則這些戳記將按照給定的時間值 time進行修改.同時使用或同時不使用選項-a和-m,存取和修改兩個戳記都將被更改.若只使用選項-a,則只修改存取戳記.一樣,只使用選項-m,則只修改修改戳記.若要修改戳記的文件尚不存在,除非使用-c選項,touch 將建立它(做爲空文件,並賦予0666的模式且受umask值的限制).
      -->POSIX標準定義的選項
      -a 修改文件 file 的存取時間.
      -c 不建立文件 file.
      -m 修改文件 file file
      -r ref_file 將參照文件 ref_file 相應的時間戳記的數值做爲指定文件 file 時間戳記的新值.
      -t time 使用指定的時間值 time 做爲指定文件 file 相應時間戳記的新值.此處的 time 規定爲以下形式的十進制數∶
      [[CC]YY]MMDDhhmm[.SS]
      #

      5.
      複製文件cp命令:
      cp:複製普通文件 -- 複製特殊文件須要增長選項
      多個文件夾複製到一個文件裏(文件報錯不支持) --屢次操做一個命令會產生冪等性
      \cp:原始命令不用別名(多個文件複製時)
      linux文件管理03 and 04--2weekgit

CP選項:
-i 覆蓋前提示
linux文件管理03 and 04--2week
alias-採用的是別名:替代cp -i
-r, -R 遞歸複製目錄及內部的全部內容
linux文件管理03 and 04--2week
-a 歸檔,至關於-dR --preserv=all
-d --no-dereference --preserv=links 不復制原文件,只複製連接名
--preserv[=ATTR_LIST] -p 等同--preserv=mode,ownership,timestamp
mode: 權限
ownership: 屬主屬組
timestamp:時間戳
links
xattr
context
all cp /etc/fstab ~wang
-v --verbose
-f --force
-u --update 只複製源比目標更新文件或目標不存在的文件
-b 目標存在,覆蓋前先備份,形式爲 filename~
--backup=numbered 目標存在,覆蓋前先備份加數字後綴
例:天天將/etc/目錄下全部文件,備份到/data獨立的子目錄下,並要求子目錄格式爲 backupYYYY-mm-dd
linux文件管理03 and 04--2week
#

6.
mv命令:mv - 移動 (更名) 文件
改「源文件」名到「目標文件」名, 或移動「源文件」(能夠不僅一個)到一個「目錄
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
#

7.
rm刪除:
經常使用選項:
-i 交互式
-f 強制刪除
-r 遞歸
--no-preserve-root 刪除/
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
rm -f :強制刪除的時候不會有任何提示
linux文件管理03 and 04--2week
rm -r:在刪除文件目錄的字母時會遞歸提示
mkdir 建立目錄:
-p: 存在於不報錯,且可自動建立所需的各目錄
-v: 顯示詳細信息
linux文件管理03 and 04--2week
-m MODE: 建立目錄時直接指定權限
linux文件管理03 and 04--2week
#

8.
rmdir 刪除空目錄
-p: 遞歸刪除父空目錄
-v: 顯示詳細信息
rm -r 遞歸刪除目錄樹
linux文件管理03 and 04--2week
-使用> 命令從新創建文件而且刪除文件內的數據
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
-- 使用>> + 文件 -建立文件(不清空文件數據)
linux文件管理03 and 04--2week
rename批量更改文件名:
linux文件管理03 and 04--2week
索引節點:inode(index node)表中包含文件系統全部文件列表
一個節點 (索引節點)是在一個表項,包含有關文件的信息( 元數據 ),包括:
文件類型,權限,UID,GID
連接數(指向這個文件名路徑名稱個數)
該文件的大小和不一樣的時間戳
指向磁盤上文件的數據塊指針
有關文件的其餘數據
保存文件是經過節點表來保存的
linux文件管理03 and 04--2week
命令參數個數是有限的
節點編號用光會致使磁盤未滿,可是報錯:no space left to device
linux文件管理03 and 04--2week
例:
拿/boot來講所用的索引節點總共524288個,沒建立一個文件就會增長一個節點,當全部的節點數大於總的節點數時會致使節點數不夠,可是磁盤利用率並未滿;
#

9.
ln -硬連接:ln 硬連接等於cp -p 加 同步更新。
本質:同一文件多個名稱,不能跨分區和設備
linux文件管理03 and 04--2week
更改文件名但屬性和inode節點名徹底不變
linux文件管理03 and 04--2week
--硬連接不支持文件夾
linux文件管理03 and 04--2week
-->軟鏈接:也稱爲符號連接
ln -s :建立軟鏈接 軟鏈接依賴於原始文件
建立軟鏈接原始文件要寫相對路徑是相對於軟鏈接路徑 而不是當前路徑
針對文件夾也能夠建立 跨分區也能夠
軟連接能夠理解成快捷方式。它和windows下的快捷方式的做用是同樣的。
linux文件管理03 and 04--2week
區別: 軟連接文件的大小和建立時間和源文件不一樣。軟連接文件只是維持了從軟連接到源文件的指向關係
硬連接文件和源文件的大小和建立時間同樣。硬連接文件的內容和源文件的內容如出一轍,至關於copy了一份
linux文件管理03 and 04--2week
跨分區也能夠實現軟鏈接:
linux文件管理03 and 04--2weekvim

刪除軟硬連接:
--刪除硬連接其中的一個並不影響數據,indoe是目錄文件的惟一標識,而軟鏈接至關於windows快捷方式,刪除了快捷方式並不會影響原數據。
linux文件管理03 and 04--2week
硬連接和軟鏈接區別總結;
--硬連接:同一個文件多個名字 軟鏈接:不一樣文件
--硬:不支持跨分區 軟:支持跨分區
--硬:不支持目錄建立 軟:支持
--相互關係:相互平等關係 軟:相互依賴
--inode(索引節點):硬-相同 軟:不一樣
--硬連接鏈接數會增加 軟鏈接不會增加
--路徑問題:硬-原始文件路徑是相對當前工做路徑 軟:原始文件要寫相對路徑是相對於軟鏈接路徑而不是當前路徑
--文件類型:硬;不變 軟鏈接表現爲:L
--具體命令實現方式也不一樣:硬-ln 軟:ln -s
-->
file命令:檢查文件的類型,而後肯定適當的打開命令或應用程序使用
經常使用選項:
-b 列出文件辨識結果時,不顯示文件名稱
-f filelist 列出文件filelist中文件名的文件類型
-F 使用指定分隔符號替換輸出文件名後默認的」:」分隔符
-L 查看對應軟連接對應文件的文件類型
--help 顯示命令在線幫助
linux文件管理03 and 04--2week
#
10.
vim:文本編輯器
vi和vim區別:vi是系統自帶的,VIM是vi的加強版
+# 打開文件後,讓光標處於第#行的行首,+默認行尾
文本編輯種類:
行編輯器: sed
全屏編輯器:nano, vi
vim - Vi Improved
配置文件:永久有效
全局:/etc/vimrc
我的:~/.vimrc
使用vi:
linux文件管理03 and 04--2week
使用vim命令:
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
使用vim命令來打開相對應的文件能夠有行數和顏色等之間的加強。
三種主要模式:
命令(Normal)模式:默認模式,移動光標,剪切/粘貼文本
插入(Insert)或編輯模式:修改文本
擴展命令(extended command )模式:保存,退出等
命令模式 --> 插入模式
i insert, 在光標所在處輸入
I 在當前光標所在行的行首輸入
a append, 在光標所在處後面輸入
A 在當前光標所在行的行尾輸入
o 在當前光標所在行的下方打開一個新行
O 在當前光標所在行的上方打開一個新行
擴展命令模式:
:q 退出
:q! 強制退出,丟棄作出的修改
:wq 保存退出
:x 保存退出
#

11.
複製/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的 行首的空白字符。
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
--grep名令:Grep 搜索以 FILE 命名的文件輸入 (或者是標準輸入,若是沒有指定文件名,或者給出的文件名是 - 的話),尋找含有與給定的模式 PATTERN 相匹配的內容的行。默認狀況下, grep 將把含有匹配內容的行打印出來,相對應的GREP選項命令可查看:man grepwindows

相關文章
相關標籤/搜索