一、複習第一周的大致內容:
1、unix與linux、ubuntu系統
unix是2023年貝爾實驗室的肯·湯普遜、丹尼斯·里奇,合作研發一款通過的作業系統,多使用者、多工、安全、穩定,收費。
linux是林納克斯·託瓦斯的仿照unix系統寫的乙份期末作業,然後他把原始碼分享在了ftp站點了,然後在全世界程式設計師的努力下合作開發出一套類unix的作業系統,它繼承了unix的很多優點,而且開源免費。
ubuntu它是基於linux增加了介面和一些常用的應用軟體,而開發出的一套適合普通人使用的linux系統,叫作linux的發行版系統,與它型別似的:紅旗、中標麒麟、中興新支點、深度。
2、檔案系統
bin 目錄下儲存的是一些常用的系統命令
sbin 目錄下儲存的是一些管理使用者才能使用的高階命令
boot 目錄下儲存的是系統啟動所需要的資料
dev 目錄下儲存的是硬體裝置檔案
etc 目錄下儲存的是作業系統的各種配置檔案
home 目錄下儲存的是使用者主目錄,home下會為每個系統使用者建立乙個以使用者名稱命名的目錄(使用者主目錄),該對它有絕對的控制,一般也只在該目錄下操作。
lib 目錄下儲存是庫檔案(**庫)
media 目錄下儲存的是多**裝置,比如光碟、u盤、共享資料夾。
整個檔案系統是以樹型結構管理的,可以上下進入,不能左右進入。
它是專門負責管理硬碟上檔案的軟體,以目錄樹的形式來管理硬碟上的檔案。
最頂層目錄叫根目錄 用/表示
在home目錄每個使用者都乙個屬於它自己的目錄,叫使用者主目錄,是以使用者名稱命名的,用~表示
… 表示上一級目錄,.表示當前目錄
檔案系統中用於描述檔案位置的叫路徑,從要根目錄開始詳細描述乙個檔案的位置稱作絕對路徑(/home/sll/test.txt),從當前目錄開始描述乙個檔案的位置稱作相對路徑(…/test/test.txt)。
3、檔案相關命令
touch、mv、cp、rm、cat
4、目錄相關命令
mkdir、rm -rf、rmdir、cp -frp、cd
5、網路相關命令
ifconfig/ipconfig、ping、telnet/ssh、ftp/tftp
6、其它相關命令
clear、ls、pwd、find、grep、chmod、sudo、tar
7、萬用字元、管道、重定位
萬用字元:用於匹配檔名的,*、?
管道:把一條件命令的執行結果當作另一命令的資料來源,cmd | cmd
重定位:把命令執行結果從原來顯示到穎轉為寫入檔案,>、>>。
8、鏈結檔案
類似於windows下的快捷方式,但又不同,有軟鏈結和硬鏈結。
ln 原始檔 鏈結檔案,預設建立出來的叫硬鏈結。
ln -s 原始檔 鏈結檔案,建立軟鏈結。
注意:硬鏈結是直接鏈結資料,而軟鏈結是鏈結乙個位置,區別就是鏈結目標被刪除後,硬鏈結能夠正常訪問,而軟鏈結不能再訪問。
9、終端的使用技巧
tab 可以自動補全
up/down 調出歷史記錄
man 檢視命令、函式幫助
man n key
n:1 查命令
n:2 查系統呼叫
n:3 查c標準庫函式
ctrl+alt+t 開啟終端
ctrl+shift+t 新建終端標籤頁
home 游標跳轉到行首
end 游標跳轉到行尾
二、vim檔案編輯器(新內容)
vim是終端(可以在遠端登入時使用)下可以使用的文字編輯器,它採用純鍵盤進行操作(效率高但學習難度大),支援擴充套件,是一款成長型文字編輯器。
一般unix/linux系統都會自帶vi,而vim是它的增強版,需要安裝才能使用,ubuntu系統:sudo apt-get install vim
1、vim的簡單用法
vim hello.c 進入vim,如果檔案不存在則建立。
按i鍵,進入插入模式,可以編輯檔案。
按esc鍵,輸入:x,儲存退出。
2、vim有三大主要模式
正常模式:vim剛進入進的模式,此模式下適合閱讀、修改檔案,有大量的快捷鍵可供使用。
插入模式:按i鍵可進入插入模式,此模式下用來編輯檔案。
行底模式:在正常模式下輸入:,此模式下可以執行一些命令,對vim進行一些設定。
3、vim的模式切換
正常 i 插入
插入 esc 正常
正常 : 行底
行底 esc 正常
注意:插入與行底模式不能相互轉換,必須通過正常模式中轉。
4、正常模式下的快捷鍵
i 在游標前面進入插入模式
i 游標跳轉到行首進入插入模式
a 在游標後面進入插入模式
a 游標跳轉到行尾進入插入模式
o 在下面建立乙個空白行進入插入模式
o 在上面建立乙個空白行進入插入模式
x/del 刪除乙個字元
dw/de 刪除乙個單詞
d/d$ 刪除到行尾
dd 刪除一行
n(數字)dd 刪除n行
注意:刪除後內容還保留(最後一次)在緩衝區中,使用p貼上(下面)出來,這樣達到移動**的效果。
yy 複製一行
n(數字)yy 複製n行
注意:要配合p使用
u 撤銷一次操作
u 撤銷一行操作,只能撤銷一行(最近一次修改的行)。
ctrl+r 取消撤銷操作
r 替換乙個字元
cw 替換乙個單詞(刪除單詞並進入插入模式)
n+enter 游標向下移動n行
n+g 游標移動到第n行
gg 回到檔案開頭位置
g 回到檔案末尾位置
hjkl 左下上右
vim file.c +n 進入vim後游標跳轉到第n行
5、插入模式下的操作(為了能使使用者的手放在主鍵盤區)
ctrl+i 功能與tab鍵一樣,寫**時能夠對齊。
ctrl+j 功能與enter鍵一樣
ctrl+c 功能與esc鍵一樣
ctrl+p 自動補全
6、行底模式下的操作
w 儲存
q 退出
wq 儲存退出
x 儲存退出
x 加密
/key 查詢,n查詢下乙個,n查詢上乙個
%s/old/new 替換單詞
!cmd 執行linux系統命令
set nu 顯示行號
set nonu 不顯示行號
set ts=4 設定tab鍵寬度
注意:行底模式下設定只是臨時有效,一旦vim退出就失效了,把設定命令寫入配置檔案就可以長期有效了,配置檔案在主目錄下.vimrc。
7、學習建議(學長)
1、vim操作有點複雜,不是一學就會,需要一段刻意練習,ubuntu中有自帶的教程,vimtutor。
2、vim支援很多外掛程式可以擴充套件,但不建議使用,適可而止。
三、shell指令碼
可以把shell指令碼理解為可以執行的文字檔案,裡記錄了一些系統命令(外加一些變數、函式、流程控制語句)。
如:1、專案構建指令碼
2、批量開啟指令碼
3、編譯指令碼
四、c語言介紹
起源:1969貝爾實驗室的肯·湯普遜、丹尼斯·裡奇想使用bcpl開發一款作業系統,在開發過程中發現原有的程式語言有缺陷,他們就對bcpl做了公升級,簡稱newb,然後再次開過系統,之後將newb進一步完善,也就有了現在的c,他們合作開發的作業系統就是unix。
發展:各家公司都制定了自己的c語言標準,導致c語言無法通用、移植性差,在美國電氣工程師協會的組織,於2023年制定出c語言的第版語法標準——c89;經過一段時間的發展於2023年制定出的第二版**標準——c99,對c語言進行了完善和增強;到2023年以後各種高階程式設計異軍突起,c語言的市場占有率逐漸下降,於2023年制定出新語法標準——c11,此版本融合了眾多程式語言的優點,幾乎可以說是進行了全新的設計,但目前用的不多。
特點:1、c語言是為編寫操作而設計一門程式語言。
2、肯·湯普遜、丹尼斯·里奇在設計之前沒有想到普通人也能用上電腦,因此c語言的語法檢查不嚴格,存在一些天然的漏洞和缺陷。
3、c語言特別適合對硬體直接程式設計,執行速度快、節約硬體資源,所以特別適合對嵌入式開發。
4、c語言執行速度快,因此也非常合適開發高效能伺服器,實現一些軟體的核心演算法。
5、c語法特別自由,自由源於自律。
注意:闖紅燈沒被撞死(程式能夠執行,但不代表程式正確)
第二週的乙個簡單梳理
這周開始了方向上的學習,主要是對於html的一些基礎知識 首先將我了解到的一些基礎標籤及其作用列舉如下 address定義位址 caption 定義 標題 dd 定義列表中定義條目 div 定義文件中的分割槽或節 dl 定義列表 dt 定義列表中的專案 fieldset 定義乙個框架集 form建立...
第二週的戰鬥
本週學習內容 貪心演算法 最核心的思想 以小見大,區域性看整體,以區域性的最優來求出全域性的最優解。這種題沒有什麼標準答案,每個人都有自己的想法,我們要做的是在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,它所做出的僅僅是在某種意義上的區域性最優解。他沒有什麼框架,...
暑假的第二週
這周前兩天完成了小學期作業的檢驗,本來這些程式在上週就寫完了,但在老師檢驗的時候又檢查出了問題。然後老師又毫不客氣的要我回去改。我犯了乙個很大的錯誤,就是在檔案匯入的步驟時,沒有寫入檔案,這是乙個很大很低階的錯誤 另乙個就是在寫程式的時候,沒有仔細的看題目要求。沒有題目要求用類封裝,所以在寫程式的時...