原创 linux-socket編程(八)讀、寫、異常事件發生條件

讀、寫、異常事件發生條件 可讀的條件: 套接口緩存區有數據可讀; 連接的讀一半關閉,即接受到FIN段,讀操作將返回0。 如果是監聽套接口,已完成連接隊列不爲空時。 套接口上發生了一個錯誤待處理,錯誤可以通過getsockopt指定SO_

原创 ctype.h頭文件下的函數

<ctype.h>頭文件提供一些函數,可以用來測試和映射字符。這些函數接受int作爲參數,它的值必須是EOF或表示爲一個無符號字符.如果滿足則返回非零值,否則返回0. 常使用到的函數: 1:判斷函數 1:int isalnum(int

原创 c語言-數據類型及指針總結

常用數據類型字節數 類型 16位 32位 64位 char 1 1 1 short int 2 2 2 int 2 4 4 unsigned int 2 4 4 float 4 4 4 double 8 8 8 long 4 4 8 lo

原创 數據通信-交換基礎-VLAN間路由的方法

第一章:通過子接口實現VLAN間的路由            技術背景:VLAN是廣播域。而通常兩個廣播域之間由路由器連接,廣播域之間來往的數據包都是有路由器提供中繼服務,這被稱爲:VLAN間路由。            一個VLAN即是

原创 linux-sudo權限(操作系統命令)

1:sudo權限: root把本來只能超級用戶執行的命令賦予普通用戶執行 sudo的操作對象是系統命令 2:sudo使用 visudo 實際修改的是 /etc/sudoers文件 root          ALL=         

原创 linux-文件系統管理(基本概念以及常使用命令)

1:分區類型 主分區:總共最多隻能分四個,爲了有更多的分區,需要拿出一個來作爲擴展分區。 擴展分區:只能有一個,也算作主分區的一種,也就是說主分區加擴展分區最多有四個。但是擴展分區不能存儲數據和格式化,必須再劃分爲邏輯分區才能使用。 邏輯

原创 linux-shell(四)-Bash基本功能-輸入輸出重定向

1:標準輸入輸出。 設備 設備文件名 文件描述符 類型 鍵盤 /dev/stdin 0 標準輸入 顯示器 /dev/stdout 1 標準輸出 顯示器 /dev/stderr 2 標準錯誤輸出   2:輸出重定向(意思就是本來應該輸出到顯

原创 數據通信-nat網絡地址轉換

1:技術背景 • IPv4地址已經耗盡。 • 局域網用戶普遍使用私有IPv4地址(不可路由),如何訪問公網(都需要部署nat纔可以上公網)? • 局域網中使用私有IPv4地址的服務器如何對公網提供服務? • 若需要對外隱藏內網的IP

原创 unix-網絡編程,套接字編程簡介

套接字地址結構: IPv4套接字地址結構通常被稱作“網際套接字”,它以sockaddr_in命名,定義在<netinet/in.h>頭文件中。 struct in_addr{ in_addr_t s_addr; //

原创 linux-socket編程(五)recv,getsockname,gethostname等函數學習

1:read與recv函數 recv首先查看一下幫助: recv的功能和read的一樣,都可以從套接口當中獲取數據,但是recv只能用於套接口I/O不能用於文件I/O,以及其他的I/O,read函數可以用於任何I/O。 recv相比於

原创 linux-socket編程(七)五種IO模型

1. 五種I/O模型 阻塞I/O         當套接口完成連接,可以使用recv函數向系統提出receive請求,來接收數據,這個請求是阻塞的,直到對等方發送數據過來。 非阻塞I/O 使用fcntl函數來將套接字改爲非阻塞模式。fc

原创 linux-socket編程(六) tcp

1:tcp的11種狀態:                                                    上面的狀態有10種,第11種是CLOSING,這個的產生條件是當服務器和客戶端同時發送關閉請求,這時候不會產生

原创 linux-shell(12)-Bash變量測試與內容替換

就是一個表:(主要是理解了,然後用的時候查表就行) 變量置換方式 變量y沒有設置 變量y爲空值 變量y設置值 x=${y-新值} x=新值 x爲空 x=$y x=${y:-新值} x=新值 x=新值 x=$y x=${y+新值} x爲空

原创 linux-文件系統屬性chattr權限

1:chattr命令格式(root使用)  chattr [+-=] [選項] 文件或目錄名  +:增加權限   -:刪除權限  =:等於某權限  選項: i : 如果對文件設置i屬性,只能查看文件,不允許對文件進行刪除,改名,也不能添加

原创 linux-文件特殊權限(SUID, SGID, SBIT)

1:SetUID的功能 只有可以執行的二進制程序才能設定SUID權限。(給其他文件設置沒有意義),命令執行者要對該程序擁有x(執行)權限,命令執行者在執行該程序時獲得該程序文件所有着的身份(在執行程序的過程中靈魂附體爲文件的屬主,相當於變