linux命令格式:html
command [options](選項) [arguments](參數) []表示可選linux
ls命令:git
ls或ls .顯示是當前目錄的內容,這裏「.」就是參數,表示當前目錄,是缺省的能夠省略。咱們能夠用ls -a .顯示當前目錄中的全部內容,包括隱藏文件和目錄。其中「-a」 就是選項,改變了顯示的內容,以下圖所示:正則表達式
man命令:shell
此命令爲幫助命令,man是manul的縮寫,以下圖:vim
此外還有個man -k,即搜索引擎,如圖:安全
由於後面跟的數字裏面:app
1是普通的Linux命令框架
2是系統調用,操做系統的提供的服務接口編輯器
3是庫函數, C語言中的函數
5是指文件的格式,好比passwd, 就會說明這個文件中各個字段的含義
6是給遊戲留的,由各個遊戲本身定義
7是附件還有一些變量,好比向environ這種全局變量在這裏就有說明
8是系統管理用的命令,這些命令只能由root使用,如ifconfig
因此
就是咱們要找的C函數中的sort
-k:根據關鍵字搜索聯機幫助,是一種模糊搜索
-f:關鍵字精確搜索,等價於whatis指令,顯示給定關鍵字的簡短描述信息
-P:指定內容時使用分頁程序
-M:指定man手冊搜索的路徑
man 2 ls:會顯示第二區段中的printf命令man頁面。
若是搭配grep命令會更好用,可更準確找到目標qsort:
說到grep,就不能漏了它。
grep
grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。
命令格式:grep [options]
主要參數:
-c:只輸出匹配行的計數
-I:不區分大小寫(只適用於單字符)
-h:查詢多文件時不顯示文件名
-l:查詢多文件時只輸出包含匹配字符的文件名
-n:顯示匹配行及行號
-s:不顯示不存在或無匹配文本的錯誤信息
-v:顯示不包含匹配文本的全部行
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個小時內修改的文件
vim編輯器的教學:
在終端中輸入vimtutor
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模式前,能夠一次執行多條命令。
如下爲編譯運行hello.c文件爲例:
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 行數或函數名 條件表達式
以下圖:
http://www.cnblogs.com/HZW20145322/p/5930337.html
http://www.cnblogs.com/HZW20145322/p/5958651.html
http://www.cnblogs.com/HZW20145322/p/5967973.html
http://www.cnblogs.com/HZW20145322/p/5991372.html
http://www.cnblogs.com/HZW20145322/p/6014388.html
書本上的知識又複習了一遍,錯題還沒看完。
說實話這門課踏踏實實的學習以後,發現其實並不難,包括考試以及知識點,只要肯學,願意花時間去看,無聊的時候不是看手機而是多看會兒書均可以積累,有所進步。
這一次的知識總複習使我腦殼裏的知識點框架總結了一遍,也把以前學的忘了的找了回來,沒有停滯不前。
說真的,真正學習是從不及格開始,可是我發現這種不及格迫使我去認真學習,無心間養成按時學習的習慣,這是我很高興的地方,也許就是壓力帶來動力。
我以爲對於像我這種一開始不願學的之後能夠在找老師的時候老師多提問書上知識,或者讓咱們總結,給一種壓力,也是一種學習動力。
這周個人vmware.vmx文件不見了,個人全部東西都從新弄了一遍,包括git···。
前七週的代碼託管
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 100/100 | 1/1 | 13/20 | |
第二週 | 100/200 | 1/2 | 15/38 | |
第三週 | 100/300 | 1/3 | 20/60 | |
第五週 | 70/370 | 2/5 | 30/90 | |
第六週 | 200/570 | 2/7 | 40/90 | |
第七週 | 0/570 | 2/9 | 30/120 | |
第八週 | 0/570 | 2/9 | 50/170 |