Linux程式設計知識點彙總

2021-10-05 11:43:48 字數 1796 閱讀 3627

shell 是指linux的使用者介面,使用者通過這個介面訪問作業系統核心的服務。

shell也是一種解釋型程式語言。

常見的shell種類:

linux作為伺服器的作業系統的優勢:

linux檔案系統是分層樹型結構,在根目錄「/」下有許多子目錄,比如:

通過chmod命令可以修改許可權。

命令功能

ls顯示當前目錄檔案

mkdir

建立目錄

rmdir

刪除目錄

rm刪除檔案

cp拷貝檔案

mv移動檔案或重新命名

tail

顯示檔案尾部

head

顯示檔案頭部

gzip

壓縮tar

打包tar -cvf

打包並壓縮

tar -zxvf

解壓&併發執行 ; 順序執行

用vim編寫命令列並儲存

用chmod +x 設定可執行許可權

./檔名執行

shell程式設計中的變數需要加上$符號。

gcc c原始檔 -o 目標檔案
g++ c++原始檔 -o 目標檔案
利用-o2可以進行**優化

hello.c——預處理,標頭檔案插入——hello.i——彙編——hello.s(彙編**)——hello.o(二進位制**)——鏈結——hello(可執行檔案)

make可以快速進行檔案編譯,可以只編譯修改過的依賴檔案

makefile檔案格式:

目標檔案:依賴檔案

產生依賴檔案的命令

gbd除錯工具:常用命令有

break 行號  //設定斷點
next  //逐行執行
system函式	呼叫shell命令
檔案操作:

檔案開啟 open、fopen

檔案讀取 read、fread

檔案寫入 write、fwrite

fork 常見父程序的複製,fd=fork(),fd為0表示建立成功

殭屍程序:沒有父程序的子程序

守護程序是指在後台執行的特殊程序

建立守護程序的方法:

建立子程序,終止父程序並釋放相關資源

建立新會話

改變工作目錄 管道

系統ipc(訊息佇列、訊號、共享記憶體)

套接字socket 函式

功能int socket(ip位址型別,套接字型別,傳輸曾協議)

建立套接字

bind()

用於將socket與本機上的乙個埠繫結

connect()

用於客戶端發起連線

listen()

用於伺服器監聽埠

accept()

用於伺服器接收客戶連線請求

send(socket描述符,輸出指標,資料長度)

用於資料傳送

recv(socket描述符,資料緩衝區,緩衝長度)

用於資料接收

死鎖是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的相互等待的現象。

死鎖產生的條件:

互斥條件:乙個資源每次只能被乙個程序使用。

請求與保持條件:乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。

不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。

迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。

shell 程式設計知識點彙總

程式設計的開始 bin bash 這部分內容是必須寫的,並且在首行,就是宣告這是乙個shell程式。如何執行shell指令碼 第一種是 附許可權給指令碼,直接執行 chmod 755 指令碼名字 例如 chmod 775 hello.sh 接著我們可以使用絕對路徑來執行我們的指令碼,就可以執行指令碼...

Python程式設計知識點彙總

開源生態好 語法簡單 由於python的生態好,有眾多的開源庫。因此python的程式設計更加注重 的復用,注重模組程式設計,對第三方庫的使用。庫名功能 turtle 繪圖math 數 算 pil影象處理 opencv numpy 多維陣列 request 請求html 用於爬蟲 bs4處理html...

C 程式設計知識點彙總

15 多型 16 虛函式 物件導向程式設計是將物件抽象成類,把類的資料與操作封裝在一起而進行的程式設計。優點 易維護 提高 復用率 用於不同引數型別獲引數數目不同時 inline 在被呼叫的每乙個地方都插入它的乙份拷貝,適用於小函式。全域性靜態變數 作用域在本檔案中,程度執行期間一直存在。區域性靜態...