20145318 《信息安全系統設計基礎》期中總結

20145318 《信息安全系統設計基礎》期中總結

Linux命令複習

Linux中的命令格式

  • Linux中命令格式爲:命令 [選項] [參數];[]表示是可選的html

    經常使用且實用命令

  • Ctrl+c :終止程序linux

  • :恢復以前輸入過的命令,容許恢復多條
  • Tab
    • 補全
      • 命令(參數)
      • 目錄
    • 提示可能要輸入的信息(命令、目錄等)
  • *:通配符。 eg. ls *.txt正則表達式

man

  • man是manul的縮寫,能夠經過man man來查看man的幫助
  • -a:在全部的man幫助手冊中搜索
  • -k:根據關鍵字搜索聯機幫助,是一種模糊搜索
  • -f:關鍵字精確搜索,等價於whatis指令,顯示給定關鍵字的簡短描述信息
  • -P:指定內容時使用分頁程序
  • -M:指定man手冊搜索的路徑
  • man 2 ls:會顯示第二區段中的printf命令man頁面,以下圖
man -k key | grep key1 | grep key2 |... 語句
  • 很是實用的語句,能夠結合多關鍵字查找,能夠稱爲搜索引擎,如圖:

cheat

  • cheat主要做用體如今與man命令的比較上,看完了man給出手冊的全部內容,可能仍是不會使用,如圖:
    shell

  • 這時cheat命令就看起來很是簡單明瞭並且實用,由於cheat命令只是舉出例子告訴你使用方法,如圖:
    編程

grep

  • grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。vim

  • 命令格式:grep [options]
  • [options]主要參數:
    • -c:只輸出匹配行的計數
    • -I:不區分大小寫(只適用於單字符)
    • -h:查詢多文件時不顯示文件名
    • -l:查詢多文件時只輸出包含匹配字符的文件名
    • -n:顯示匹配行及行號
    • -s:不顯示不存在或無匹配文本的錯誤信息
    • -v:顯示不包含匹配文本的全部行安全

      grep -nr xxx /usr/include
  • xxx爲某個宏,已知該宏保存在include文件夾中,就能夠用該語句查找。如圖:app

find

  • find命令用來在指定目錄下查找文件。任何位於參數以前的字符串都將被視爲欲查找的目錄名。若是使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。而且將查找到的子目錄和文件所有進行顯示。
  • 命令格式:find pathname -options [-print -exec -ok ...]
  • 參數:
    • pathname:find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄
    • print:find命令將匹配的文件輸出到標準輸出
    • exec:find命令對匹配的文件執行該參數所給出的shell命令,相應命令的形式爲'command' { } ;,注意{ }和;之間的空格
    • ok:和-exec的做用相同,只不過以一種更爲安全的模式來執行該參數所給出的shell命令,在執行每個命令以前,都會給出提示,讓用戶來肯定是否執行
  • 經常使用選項:
    • -name:按照文件名查找文件
    • -perm:按照文件權限來查找文件
      mtime -n +n:按照文件的更改時間來查找文件, - n表示文件更改時間距如今n天之內,+ n表示文件更改時間距如今n天之前
    • -type:查找某一類型的文件,諸如:b - 塊設備文件,d - 目錄,c - 字符設備文件,p - 管道文件,l - 符號連接文件,f - 普通文件
    • -size n:[c] 查找文件長度爲n塊的文件,帶有c時表示文件長度以字節計
    • -depth:在查找文件時,首先查找當前目錄中的文件,而後再在其子目錄中查找
      -amin n : 在過去 n 分鐘內被讀取過
    • -anewer file : 比檔案 file 更晚被讀取過的檔案
    • -atime n : 在過去 n 天過讀取過的檔案
    • -cmin n : 在過去 n 分鐘內被修改過
    • -cnewer file :比檔案 file 更新的檔案
    • -ctime 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 單位,b 表明 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。
    • -type c : 檔案類型是 c 的檔案。(一塊 = 512字節)
查找大於1M的普通文件

查找最近5分鐘修改的文件

Linux下C語言編程基礎

  • 實驗樓的學習資料:很是全面編輯器

    vi

  • vim其實就是一種文本編輯器,區別於記事本等的特色爲便於使用鍵盤操做,鍵盤操做的基礎是vi的幾個模式:
    • 三種經常使用模式:
      • 普通模式(Normal mode):在普通模式中,用的編輯器命令,好比移動光標,刪除文本等等。這也是Vim啓動後的默認模式。在普通模式中,進入插入模式比較普通的方式是按a(append/追加)鍵或者i(insert/插入)鍵。
      • 插入模式(Insert mode):在插入模式中,能夠按ESC鍵回到普通模式。
      • 命令行模式(Command line mode):在命令行模式中,執行命令(:鍵),搜索(/和?鍵)或者過濾命令(!鍵)。在命令執行以後,Vim返回到命令行模式以前的模式,一般是普通模式。
    • 三種不經常使用模式:
      • 可視模式(Visual mode):命令多與字母v有關,移動命令會擴大高亮的文本區域。高亮區域能夠是字符、行或者是一塊文本。
      • 選擇模式(Select mode):這個模式中,能夠用鼠標或者光標鍵高亮選擇文本,不過輸入任何字符的話,Vim會用這個字符替換選擇的高亮文本塊,而且自動進入插入模式。
      • Ex模式(Ex mode):這和命令行模式比較類似,在使用:visual命令離開Ex模式前,能夠一次執行多條命令。函數

        命令

  • 具體的命令和快捷鍵很是多,這裏不加贅述,能夠參考如下幾個資料:

gcc

  • gcc可以編譯用C、C++和Object C等語言編寫的程序。

編譯過程

  • 編譯命令:gcc hello.o –o hello:將當前目錄下的hello.c文件編譯成名稱爲hello的可執行文件,內部能夠分爲四步:
    • 預處理:gcc –E hello.c –o hello.i;gcc –E調用cpp
    • 編 譯:gcc –S hello.i –o hello.s;gcc –S調用ccl
    • 匯 編:gcc –c hello.s –o hello.o;gcc -c 調用as
    • 鏈 接:gcc hello.o –o hello ;gcc -o 調用ld
  • 運行:./hello:運行可執行文件hello

高級編譯

  • 在不一樣目錄下使用gcc,具體可見Linux實驗一

gdb

GDB調試

  • 進入gdb:
    • gcc -g xxx.c -o xxx
    • gdb xxx
  • 查看源碼:
    • (gdb) l:進行行號提示
    • (gdb) b n:在第n行設置斷點
    • (gdb) r:運行代碼,運行至斷點處
    • (gdb) n:單步運行
    • (gdb) c:使程序繼續往下運行,直到再次遇到斷點或程序結束
    • (gdb) q:退出GDB
    • (gdb) watch n:在"n"設置了觀察點,觀察變量的變化狀況
  • 四種斷點:
    • 函數斷點:b 函數名 條件表達式
    • 行斷點:b 行數或函數名 條件表達式
    • 條件斷點:b 行數或函數名 if表達式
    • 臨時斷點:tbreak 行數或函數名 條件表達式

複習實踐截圖


makefile

  • 功能:識別文件代碼是否更新,減小編譯工做量
  • 格式爲:
    • 目標體:依賴文件
    • [tab鍵]各目標體運行命令
  • 目標體:由make建立,一般是目標文件或可執行文件
  • 依賴文件:建立目標體所依賴的文件
  • 運行命令:建立每一個目標體時須要的運行命令,必須以tab鍵開頭。
  • 使用make的格式:make 目標體

    代碼結構樹

其餘(感悟、思考等,可選)

及時的總結是有效也是必要的,本週進行期中總結,重要命令都溫習了一遍。

學習進度條

參考資料

相關文章
相關標籤/搜索