Bo2SS

Bo2SS

10 《Linux入門及使用》復習總結

課程內容#

vim 基本使用#

  • 快速跳轉
    • 行首:0 [^ 有效行首]
    • 行末:$
    • 文件開始:gg
    • 文件末尾:G
    • 任意行:12G—— 跳轉到 12 行
  • 複製
    • 拷貝
    • 剪切
    • 多行操作
  • 刪除
    • x:刪除一個字符
    • d
      • 2dd:從當前行刪除 2 行
      • d2G:刪除第 2 行到當前行

Linux 歷史#

  • C 語言:怎麼來的?和系統結合的緊密性?
  • Linux 本質 [Linux 通常指的是 Linux 內核、Linux 操作系統]
  • Linux 和 Windows 的不同 [Linux 早期對使用者的態度:會的都說好,不會的你隨意]
  • Unix [MacOS;谷歌提出了雲計算後,Unix 系統的廠家基本只剩蘋果了]

Shell#

  • zsh
    • 相關文件
    • 環境變量的概念:存在 shell 進程中
    • 執行命令的本質:大部分是執行文件,開一個子進程 [保證命令間不干擾],運行完子進程結束,返回結果
  • man
    • 簡約版:tldr
    • 英語語感
    • 檢索:前後移動 ——N/n
    • C 語言底層庫函數
    • 搜索引擎 [Google 英語搜索]:提升自己的信息處理能力
  • 命令怎麼查找
    • tab [zsh 提供]
    • man -k [-f:基於明確的單詞搜索]
    • apt search [apt-cache search]

Linux 具體使用#

  • 文件及目錄
    • 遠程拷貝
      • scp [基於 ssh-> 基於 tcp]
      • sshfs [基於 ssh、遠程文件系統]:可以將遠程服務器的目錄掛載到本地
        • 可應用於嵌入式開發過程
    • 文件查閱
      • cat
      • head
      • tail
        • -f:可查看動態更新的文件,一直讀文件末尾,用來監控日誌 [會阻塞]
      • more
      • less [比 more 更友好]
        • 可回看
        • 檢索時高亮顯示
    • 移動、複製
      • cp、mv
      • ln
        • 硬連接
        • 軟連接:刪除軟連接時一定要小心,名字後別多加 / [會進入到目錄]
          • [PS] Python 結束對 2 的支持;Python 的版本切換只需更改軟連接即可
      • rm:可封裝成 mv + 定時清理
    • 文件類型及權限
      • 7 種
        • 普通文件
        • 目錄:大小一般為 4K,夠用
        • 字符:基於網絡、串口 --> 鍵盤、鼠標
        • 塊:block,存儲設備
        • 管道 [更多的情況是父進程生兩個孩子,中間建立管道]
        • 連接
        • socket
      • 權限
        • rwx
          • x 對於目錄表示可進入
        • 用戶分組:u、g、o
        • 命令
          • chmod、chgrp、chown
          • usermod:針對用戶
        • 特殊權限
          • set uid:擁有尚方寶劍的人就有權利
          • set gid:到了某個地方就有特定的身份
          • sbit:黏著位,只有文件所屬者有刪除權限
        • 隱藏屬性
    • 文件時間
      • atime [訪問]:更新過於頻繁不好,可以通過設置隱藏屬性不更新
      • ctime [修改權限]
      • mtime [修改內容]:ls 默認顯示的
      • touch
      • 站得越高,越需要考慮磁碟的壽命 [損耗、電費]
    • 文件定位
      • 特殊文件的定位
        • which
        • whereis
      • 普通文件
        • locate:基於數據庫 db,即時需要 updatedb [使用場景少]
        • find
  • 數據處理[適於將來工作]
    • cut、tr、sort、uniq、grep、head、tail
    • 重定向:>、>>、<
    • read:讀入數據 [注意輸入數據的格式]
  • 進程管理
    • ctrl + z
    • fg
    • bg
    • jobs
    • crontab -e/-l [應該會,會看任務的格式]* 圖片
  • 系統信息的獲取[試試即可]
    • uname、top、free、dstat、htop、nmon、uptime

Shell 編程#

  • 變量
    • 命令替換符:``
    • 特殊變量:$0、$#、$?、$@、$*
    • ❗ = 兩邊沒有空格
  • 輸入輸出
    • read
    • echo
    • printf
  • 分支
    • test 表達式
      • man test
      • 整數判斷:整數計算 $[] (還有 expr、let,能記住一個即可)
      • 字符串:== 🆒
    • if:[[ ]] 🆒
    • case
  • 循環
    • for
      • for i in `seq 1 100` --> seq 需被系統不停地調用
      • for ((i=1; i<=100; i++)) 🆒效率更高
    • while [一般用 while 1]
    • until [一般不用]
  • 函數 [簡單程序一般不需要]
  • 數組
    • 數組的初始化 [可有可無;沒初始化就為空;初始化耗時]
    • unset
    • 遍歷
    • $ 變量

⭐[PS]素數篩線性篩必考!

Tips#

  • 考試包含全英文題

附:思維導圖#

【宿船長出品】

  • 圖片
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。