天天看點

正式班D12

2020.10.21星期三  正式班D12

一、目錄結構

  1. 系統目錄結構

    1. 目錄

    檔案夾:存放的是具體有哪些檔案
    
     檔案:存放的就是具體的資料
               
    1. 需要記住的

      /dev/cdrom # CD光牒裝置,CD光牒裡存放的内容都在這裡,以後用來為我們的作業系統補包

      /dev/null # 黑洞檔案:把不想要顯示的内容丢入黑洞

      /etc/hostname # 主機名的配置檔案

      /etc/sysconfig/network-scripts/ifcfg-eth0 # 網卡的配置檔案

      /etc/resolv.conf # 指定遠端DNS位址

      /etc/hosts # 本機域名解析檔案

      /home/ # 以普通使用者命名的檔案夾 # 該普通使用者的家目錄

      /root # root的家目錄

      ~ # 代表目前使用者的家目錄

      挂載點

      ​/mnt

      /opt

      /tmp

      /media

      /proc/sys/net/ipv4/ # 與于網絡參數優化相關的檔案

      /var/log/ # 檢視日志

      tail -f /var/log/messages # 動态檢視日志

    2. 其他

      1. 系統相關目錄
        1. bin->usr/bin # 普通使用者使用的指令,如ls、date
        2. sbin->usr/sbin # 管理者使用的指令
      2. 啟動目錄
        1. boot # 存放的啟動相關的檔案,例如kernel,grub(引導裝載程式)
      3. 系統目錄檔案
        1. usr # 系統檔案,相當于C:\Windows
        2. lib->usr/lib # 庫檔案Glibc
        3. lib64->usr/lib64 # 庫檔案Glibc
      4. 使用者家目錄
        1. home # 普通使用者家目錄
        2. root # root使用者的HOME
      5. 配置檔案目錄
      etc # 配置檔案,很重要,系統級服務配置檔案都在這裡
      1. /etc/sysconfig/network-scripts/ifcfg-eth0  # 網絡配置檔案
        2. /etc/hostname  # 系統主機名配置檔案
        3. /etc/resolv.conf  # DNS用戶端配置檔案
        4. /etc/hosts  # 本地域名解析配置檔案
                 
      1. 裝置目錄檔案
      dev # 裝置檔案,如/dev/sda,/dev/sr0
      1. /dev/cdrom 和/dev/sr0  # 系統CD光牒鏡像裝置
        2. /dev/null  # 黑洞裝置
        3. /dev/random  # 生成随機數的裝置
        4. /dev/zero  # 源源不斷産生資料(類似取款機,随時随地取資料)
        5. /dev/pts/0  # 虛拟的*Bash Shell*終端,提供給遠端客戶使用(*0*代表第一個終端,*1*-->第二個終端)
        6. /dev/stderr  # 錯誤輸出
        7. /dev/stdin  # 标準輸入
        8. /dev/stdout  # 标準輸出
                 
      1. 虛拟檔案系統
      proc # 虛拟的檔案系統,反應的是核心,程序資訊和實時狀态
      1. 可變的目錄與臨時目錄
      var # 存放變化檔案,如資料庫、日志、郵件
      1. /tmp  # 系統臨時目錄(類似垃圾桶),系統定時删該目錄下長時間未通路的檔案
        2. /var  # 存放變化檔案
        3. /var/lib/mysql  # mysql
        4. /var/ftp  # vsftbd
        5. /var/spool/mail  # mail
        6. /var/spool/cron  # cron
        7. /var/log 系統日志檔案存放目錄  # log
        8. /var/tmp  # 臨時檔案(主要是程式産生的臨時檔案)
                 
      1. 裝置(主要指儲存設備)挂載目錄
        1. media # 移動裝置預設的挂載點
        2. mnt # 手工挂載裝置的挂載點
        3. opt # 早期第三方廠商的軟體存放目錄
        4. tmp # root使用者的HOME
      2. 其他
        1. lost+found # 孤兒檔案
        2. run # 存放程式運作後所産生的pid檔案
        3. srv # 實體裝置産生的一些檔案
        4. sys # 硬體裝置的驅動程式資訊
  2. 補充指令

    1. cd # 切換檔案夾
    2. pwd # 檢視目前所在的檔案夾
    3. cat # 檢視檔案内容
    4. stat檢視Linux的三種時間
      1. 通路時間:atime,檢視内容,用cat檢測
      2. 修改時間:mtime,修改内容
      3. 改變事件:ctime,修改内容、權限等都會改變
  3. 路徑

    1. 絕對路徑

      路徑是從根開始的,即/作為字首

      ​ Linux系統:/a/b/c/d/new.txt

      ​ Windows系統:C:\a\b\c\d\new.txt

    2. 相對路徑

      路徑不是從根開始的

      ​ Linux系統c/d/new.txt

      ​ Windows系統a\b\c\d\new.txt

二、檔案管理

  1. 指令

    1. pwd # 檢視目前所在的目錄

    2. cd # 切換目錄

      1. cd - # 傳回上次目錄
      2. cd # 直接回家,等同于cd ~
      3. cd . # 保持目前目錄不變
      4. cd .. # 切換到目前目錄的上一級目錄
    3. ls # 浏覽

      1. ls # 預設浏覽目前目錄
      2. ls -l 目錄 # 浏覽目錄下的子目錄及子檔案名的詳細資訊
      3. ls -al 目錄 # 浏覽的結果包含隐藏檔案
      4. ls -dl 目錄 # 檢視目錄
    4. tree # 檢視目錄樹(需先安裝tree指令,執行yum install tree -y)

      1. tree -a 目錄 # 顯示所有檔案,包括隐藏檔案
      2. tree -d 目錄 # 隻顯示子目錄
      3. tree -L 1 目錄 # -L:周遊目錄的最大層數,後面跟大于0的整數
      4. tree -F 目錄 # -F:在條目後加上檔案類型的訓示符号,如目錄後會加上左斜杠/
      5. 其他
        1. -C # 在檔案和目錄清單上加上色彩,便于區分各種類型
        2. -D # 列出檔案或目錄的更改時間
        3. -f # 在每個檔案或目錄前,顯示完整的相對路徑名稱
        4. -g # 列出檔案或目錄所屬組的名稱,沒有對應名稱則顯示群組識别碼
        5. -I # 不顯示符合範本樣式的檔案或目錄名稱
        6. -P # 隻顯示符合範本樣式的檔案或目錄名稱
        7. -l # 遇到性質為符号連接配接的目錄,直接列出該連結所指向的原始目錄
        8. -s # 列出檔案或目錄大小
        9. -t # 用檔案或目錄的更改時間排序
        10. -u # 列出檔案或目錄的擁有者名稱,沒有對應名稱則顯示使用者識别碼
  2. 增删改查(建立、複制、移動、删除)

    1. 建立

      1. 建立檔案(touch建立的是文本檔案,字尾隻是區分)
        1. 建立單個檔案
          1. touch file1.txt # 無則建立,有則更新時間(相對路徑)
          2. touch /root/a.txt # 無則建立,有則更新時間(絕對路徑)
        2. 建立多個檔案
          1. 用空格分開

            touch a.txt b.txt c.txt

          2. 用{}

            touch {d,e,f}.txt

            touch {1..3}.txt # 1.txt 2.txt 3.txt

            touch {1..2}{a..b}.txt # 1a.txt 1b.txt 2a.txt 2b.txt

      2. 建立檔案夾(mkdir)
        1. 用空格分開

          mkdir /root/a /root/b

        2. 用{}

          mkdir /root/{a,b,c}

          mkdir -p a/b/c/d # 遞歸建立(a目錄不存在)

    2. 删除

      rm -rf # r:删目錄,f:強制删除

      *rm -rf ** # 删除目前目錄下所有内容

      rm -rf /* # 删根

      rm -rf -i # i:互動

      rm -rf -v # v:提示過程

    3. 複制

      1. 複制檔案

        cp 源檔案 目标檔案

      2. 複制檔案夾

        cp -r

      3. 将某檔案夾下所有檔案複制到新檔案夾

        cp -r /boot/ /test/* # 将boot目錄下所有檔案複制到/test/目錄下

      4. 複制的同時保留原資訊

        cp -a /home/jack/a.txt /mnt/b.txt

      5. 目标檔案夾(有寫、執行權限)中有同名檔案(無寫權限)

        cp -f /test/a.txt /test1/a.txt

        (實際步驟:先執行rm -rf /test/a.txt再執行cp /text/a.txt /text1/)

    4. 移動(相當于剪切)

      1. mv
        1. mv 源位址 目标位址
        2. 示例
          1. mv file2 /home/dir3 # 将file2移動到/home/dir3裡
          2. mv file4 file5 # 将file4重命名為file5(目前位置的移動就是重命名)
      2. rm
        1. 示例

          cd /home

          rm -rf dir1 # 删除/home/dir1

        2. 常用搭配

          -r # 遞歸

          -f # force強制

          -v # 詳細過程

  3. 檢視檔案内容(cat)

    1. 常用搭配

      1. -n # 顯示行号
      2. -A # 包括控制字元(換行符),例如Linux中的$、Windows中的^M$
    2. 拓展

      1. dos2unix 檔案 # 将Windows格式的檔案轉換成Unix格式
      2. unix2dos 檔案 # 将Unix的檔案轉換成Windows格式
    3. less more head tail

      1. head /etc/passwd # 檢視passwd檔案的前十行(預設十行)
      2. head -2 /etc/passwd # 檢視passwd檔案的前兩行
      3. tail /etc/passwd # 檢視passwd檔案的最後十行(預設十行)
      4. tail -2 /etc/passwd # 檢視passwd檔案的最後兩行
      5. more /etc/passwd # 每次在螢幕上顯示一屏(一頁)内容,且在底部出現"-More-(n%)"的資訊

        (n%是指顯示檔案内容的百分比)按空格下一頁,b上一頁;more +40 a.txt表示從第40行開始檢視

      6. less /etc/passwd # 螢幕上顯示一屏(一頁)内容,向下鍵一次翻一行
      7. logger yangsheng # 手動産生日志資訊
      8. tail -4 a.txt | head -2 # 檢視a.txt的倒數第三和第四行
      9. tail -f /var/log/messages # 動态檢視檔案的尾部
    4. grep

      針對檔案内容進行過濾

      xxx | greb yyy