linux基礎命令:
cd: 切換目錄和路徑
pwd:檢視當前路徑
clear:清屏
mv:移動、剪下、重新命名檔案
ls:檢視當前資料夾下的內容
ls-a:顯示指定目錄下所有子目錄和檔案,包括隱藏檔案
ls-l:以列表方式顯示檔案的詳細資訊
touch:建立檔案
mkdir:建立目錄
mkdir -p:以遞迴形式建立目錄
more:以分屏形式檢視檔案內容
cat:檢視檔案內容
rm:刪除指定檔案
rm -f:刪除目錄
rm -rf:強制刪除
cp:拷貝檔案或者目錄0
tree:檢視當前目錄所有的檔案關係
find:查詢檔案或目錄的名字
grep:查詢檔案裡的內容
軟連線:ln -s 原檔案 目標檔案y
軟連線的概念:軟連線相當於windows的快捷方式,只是乙個符號連線,所以軟連線檔案大小都很小,當執行軟連線的時候,會根據連線指向找到真正的檔案,然後執行,如果原檔案丟失,軟連線無法訪問,會報錯。
打包:tar -cvf打包檔案
解包:tar -xvf解包檔案
壓縮:tar -zcvf 檔名.tar.gz 路徑
解壓:tar -zxvf 檔名.tar.gz 路徑 檔名
管道:ls -lh | more
管道的概念:在記憶體中建立乙個共享檔案,從而使通訊雙方利用這個共享檔案來傳遞資訊。由於這種方式具有單向傳遞資料的特點,所以這個作為傳遞訊息的共享檔案就叫做「管道」。
python物件導向
物件導向的概念:物件導向程式設計是一種程式設計方式,此程式設計方式的落地需要使用 「類」 和 「物件」 來實現,所以,物件導向程式設計其實就是對 「類」 和 「物件」 的使用。
物件導向的三大特性:封裝 繼承 多型
繼承:分為單繼承和多繼承 單繼承就是乙個類只能繼承乙個父類 而多繼承是乙個類可以繼承多個父類
封裝:把資料和行為相結合,形成乙個整體,隱藏實現細節,對外提供使用。
多型:多型依賴於繼承,乙個類的物件的引用,可以指向這個類的物件,也可以指向它的子類的物件,在程式執行之後才能知道具體執行哪個物件,通過這種形式讓程式有多種形態,被稱為多型。
父類名稱.方法名(self)
father.test1(self)
# 方法2 super().方法名()
super().test1()
# 方法3 super(子類名,self).方法名()
super(son, self).test1()
tcp和udp程式設計
tcp:傳輸控制協議
udp:使用者資料報協
tcp和udp的區別:tcp需要通訊雙方連線上才能通訊,而udp不需要連線上,但是可能會有收不到的情況。
socket:socket是套接字,網路上的倆個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端稱為乙個socket,想要實現tcp或者udp通訊,必須用socket去完成。
三次握e手的過程:
第一次握手:首先客戶端和伺服器都處於關閉狀態,再客戶端將標誌位syn置為1,隨機產生乙個值 seq=x,並將資料報傳送給伺服器,這時客戶端進入syn-sent狀態,等待伺服器確認。
第二次握手:伺服器接收到客戶端傳送過來的資料報後由標誌位 syn=1得知客戶端請求建立連線,伺服器將標誌位syn和ack都置位1,ack=x+1,再機產生乙個值 seq=y,並將資料報傳送給客戶端以確認連線請求,伺服器進入syn-rcvd狀態,此時作業系統為tcp連線分配tcp快取和變數
第三次握手:客戶端確認後,檢測ack是否為x+1,ack是否為1,如果正確則將標誌位ack置為1,並將資料報傳送給伺服器,伺服器檢測ack是否為y+1,ack是否為1,如果正確則連線成功,完成第三次握手客戶端和伺服器就可以開始傳輸資料。
四次揮手的過程:
起初a和b處於established狀態——a發出連線釋放報文段並處於fin-wait-1狀態——b發出確認報文段且進入close-wait狀態——a收到確認後,進入fin-wait-2狀態,等待b的連線釋放報文段——b沒有要向a發出的資料,b發出連線釋放報文段且進入last-ack狀態——a發出確認報文段且進入time-wait狀態——b收到確認報文段後進入closed狀態——a經過等待計時器時間2msl後,進入closed狀態。
長連線 短連線
長連線與短連線的區別:長連線可以省去較多的tcp建立和關閉的操作,減少浪費資源,節約時間,對於頻繁請求資源的客戶來說,較適用長連線;
短連線對於伺服器來說管理較為簡單,存在的連線都是有用的連線,不需要額外的控制手段,需要關閉。
長連線:一直保持連線,傳輸完也在保持連線,除非手動斷開連線。
短連線:需要傳輸資料的時候就連線,傳輸完就斷開。
了解vim開發工具
vim是從vi發展出來的乙個文字編輯器也稱**編輯器。**補全、編譯及錯誤跳轉等方便程式設計的功能特別豐富。
vim的基本操作:
1.首先用vim 檔名,建立新的檔案,進入不同的模式
2.按i,進入插入模式可以進行編輯,進入插入模式之後游標在內容前面。
3.進入模式編輯完成後,按esc鍵可以回到普通模式
4.:w 進入儲存
5.:q 進行退出
了解git工具
git是乙個分布式版本控制軟體,是一種在開發的過程中用於管理我們對檔案、目錄或工程等內容修改歷史,方便檢視更改歷史記錄,備份以便恢復以前的版本的技術。
在我剛剛提到的git是乙個分布式版本控制軟體,這個分布式是一種版本控制的方式,有乙個中心的伺服器控制最新版本**,每個開發者自己還有個本地倉庫,在開發過程中先將**提交到本地倉庫在推送到中心伺服器上。
程序和執行緒
執行緒的概念:執行緒是作業系統能夠進行運算排程的最小單位,它被包含在程序之中,是程序中的實際運作單位.
程序的概念:程序(process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。
執行緒實現**:
import threading (執行緒的導包)
import time
def run(n):
print("task", n)
time.sleep(1)
print('2s')
time.sleep(1)
print('1s')
time.sleep(1)
print('0s')
time.sleep(1)
if __name__ == '__main__':
t1 = threading.thread(target=run, args=("t1",)) 建立執行緒物件
t2 = threading.thread(target=run, args=("t2",))
t1.start()
t2.start()
程序實現**:
def func(i):
time.sleep(1)
print('這裡是子程序')
if __name__ == '__main__':
p = process(target=func, args=(1,)) 例項化乙個程序物件
p.start() 開啟乙個子程序
print('這裡是父程序')
注意:target表示呼叫物件,你可以傳入方法的名字
args表示被呼叫物件的位置引數元組,比如target是函式a,他有兩個引數m,n,那麼args就傳入(m, n)即可
kwargs表示呼叫物件的字典
佇列 棧 鎖
佇列:是一種容器,資料先入先出 執行緒佇列導包方法:queue.queue 程序對列導包方法:multiprocessing.queue
棧:是一種容器,資料先入後出
鎖:鎖就是當多個執行緒幾乎同時修改某乙個共享資料的時候,需要進行同步控制。
鎖的作用:當某個執行緒更改共享資料的時候,先將鎖住,其他執行緒不能更改,互斥鎖保證了每次只有乙個執行緒進行寫入操作,從而保證了多執行緒情況下資料的正確性。
Hadoop第一階段複習 3
mapreduce 一.mapreduce是個分布式運算程 序的程式設計框架,是使用者開發 基於hadoop的 資料分析應用 的核心框架。mapreduce核心功能是將使用者編寫的業務邏輯 和自帶預設元件整合成乙個 完整的分布式運算程式,併發執行在乙個hadoop集群 上。二.mapreduce優缺...
第一階段練習
1 輸入乙個整數,把該整數分別按照八進位制 十進位制 十六進製制形式輸出 include stdio.h main 2 輸入乙個小數 整數部分3位 小數部分5位 把該小數分別按照以下格式輸出 小數部分4位寬度,整個數字8位寬度 小數部分3位寬度,整個數字9位寬度,空白部分使用0填充 include ...
第一階段 2015 12 2016 03
距離上一次寫部落格,大半年就過去了,這半年,都做了些什麼呢,生活又都有些什麼變化呢。2015的下半年是收穫的半年吧。第二,學ios的過程中結識了新的朋友,耳機哥,是很棒的一件事。第三,得到了乙份很美滿的愛情。最終在一起,還好沒錯過。第四,開始正視自己的不足,不再逃避,開始認真製作簡歷,並開始找工作,...