Time of Update: 2018-12-04
雖然man上寫的很詳細,但有時用的時候可能並不想去man,還是寫些筆記,方便以後使用。基本命令格式如下tcpdump [- 包顯示格式參數] [- 捕獲控制參數] '過濾匹配條件' tcpdump可以以一定的顯示格式來列印滿足過濾條件的包資訊,包的來源可以是網路介面,也可以是檔案。 通常僅僅鍵入tcpdump就可以開始包的捕獲,但這時由於缺少捕獲條件,你想要的包會淹沒在一大批無用的資料中,而且缺少顯示格式參數的控制,tcpdump只會列印IP包頭資訊,有時你需要更精確的捕獲控制和更詳細的包資訊,
Time of Update: 2018-12-04
看APUE,得到些感性認識,然而不同的實現對於一些函數語意實現並不相同,導致編程時會出現一些混淆。下面記錄一些容易混淆的地方。 1 signal函數 BSD/Linux的實現並不在訊號處理函數調用時,恢複訊號的處理為預設,而是在訊號處理時阻塞此訊號,直到訊號處理函數返回。其他實現可能在調用訊號處理函數時,恢複訊號的處理為預設,因而需要在訊號處理函數中重建訊號處理函數為我們定義的處理函數,在這些系統中,較好的方法是使用sigaction來建立訊號處理函數。 2 發送訊號給進程,
Time of Update: 2018-12-04
1 於日期和日間背景知識 UTC時間:翻譯為國際標準時間,需要由世界上精確的原子時鐘來確定秒,並根據地球自轉快慢進行閏秒的調節。理論上此時間為世界上最準確的時間。目前各國採用的標準時間。 GMT時間:翻譯為格林尼治時間,由英國格林尼治天文台發布的時間。1960年之前作為世界標準時來使用。理論上正午12點為太陽經過橫穿本初子午線的時間,但由於地球自轉速度正在變慢,此時間會產生較大的時間誤差。但對於日常生活來說GMT和UTC的實際誤差並不太重要。
Time of Update: 2018-12-04
1、 一些標頭檔的作用:<assert.h>:ANSI C。提供斷言,assert(運算式)<glib.h>:GCC。GTK,GNOME的基礎庫,提供很多有用的函數,如有資料結構操作函數。使用glib只需要包含<glib.h><dirent.h>:GCC。檔案夾操作函數。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等<ctype.h>:ANSI
Time of Update: 2018-12-04
在驅動程式裡, ioctl() 函數上傳送的變數 cmd 是應用程式用於區別裝置驅動程式請求處理內容的值。cmd除了可區別數字外,還包含有助於處理的幾種相應資訊。 cmd的大小為 32位,共分 4 個域: bit31~bit30 2位為 “區別讀寫” 區,作用是區分是讀取命令還是寫入命令。 bit29~bit15 14位為 "資料大小" 區,表示 ioctl() 中的 arg 變數傳送的記憶體大小。 bit20~bit08 8位為
Time of Update: 2018-12-04
Linux核心中的等待隊列--init_waitqueue_head等 Linux核心中的等待隊列
Time of Update: 2018-12-04
轉載自:http://blog.csdn.net/dos5gw/article/details/5824461http://caiming1987612.blog.163.com/blog/static/118556676200961752714307/http://blog.chinaunix.net/u1/34474/showart_401078.htmlhttp://hi.baidu.com/%D3%F3%C4%E0%C4%EA%B8%E2/blog/item/6256fea7bfcea
Time of Update: 2018-12-04
一個牛人分析的linux驅動編寫的各種常式,詳細的可以訪問他的部落格:http://blog168.chinaunix.net/space.php?uid=25014876&do=blog&id=59420chinaunix的部落格進去太慢,此處已經轉載了全文,可以直接查看http://blog.csdn.net/fh400/article/category/539515/2前言:(總結已經基本寫完,這段時間我會從新排版和修正。錯誤總會有的,望能指正!)前段時間學習了嵌入式驅動,
Time of Update: 2018-12-04
主要是多處理器的時候SMP系統上的問題,不瞭解。恩。首先SMP系統每個CPU上面都會有一個idle進程。系統進行進程切換的時候必須關注每個CPU的變化。task_struct上有兩個欄位對此進行表明has_cpu //1表示在某個CPU運行,0表示無processor並且會儲存該任務啟動並執行CPU的編號以及上次啟動並執行CPU的編號。實際上,調度依據很多完成調度的函數是schedule。調度之前必須調用goodness()函數進行分析。該Function
Time of Update: 2018-12-04
**********************************************************Linux中Samba詳細安裝
Time of Update: 2018-12-04
對於一個程式,通常我們可以使用gdb之類的調用工具設定斷點進行調用。然而Linux系統提供了眾多的跟蹤工具,可以讓我們在沒有原始碼的情況下跟蹤程式都執行了哪些系統調用、動態庫調用、棧情況以及接收訊號等。可以讓我們不停止程式來觀察程式的執行流程。 strace 顯示執行程式的系統調用及接收訊號情況 strace [strace 選項] 可執行程式 可執行程式參數 選項說明: -o filename 將輸出寫到檔案filename中
Time of Update: 2018-12-04
啟動第一步--載入BIOS當你開啟電腦電源,電腦會首先載入BIOS資訊,BIOS資訊是如此的重要,以至於電腦必須在最開始就找到它。這是因為BIOS中包含了CPU的相關資訊、裝置啟動順序資訊、硬碟資訊、記憶體資訊、時鐘資訊、PnP特性等等。在此之後,電腦心裡就有譜了,知道應該去讀取哪個硬體裝置了。啟動第二步--讀取MBR眾所周知,硬碟上第0磁軌第一個扇區被稱為MBR,也就是Master Boot
Time of Update: 2018-12-04
今天使用select編程,問題很多,以前真的沒有仔細研究過。出現了以下幾個問題1 recvfrom在接收時,提供給系統調用的最後一個參數,用戶端的地址結構,其長度必須進行初始化,如果為0,則不能接收資料。2 select的第一個參數為所有監視的檔案描述符的最大值+1,而不是監視的檔案描述符個數+1。3 不要監視那些經常可用的檔案描述符,如果這樣做,select會一直返回。4
Time of Update: 2018-12-04
Linux下開發C程式,甚至是GUI程式,都可能需要處理複雜的命令列參數。健全、可靠的複雜命令列參數處理機制,可使程式方便使用,也更顯專業。Linux下幾乎所有的命令都提供了參數處理機制,包括短選項和長選項。 POSIX標準中對程式名、參數作了如下相關約定: * 程式名不宜少於2個字元且不多於9個字元; * 程式名應只包含小寫字母和阿拉伯數字; * 選項名應該是單字元活單數字,且以短橫‘-‘為前綴; * 多個不需要選項參數的選項,可以合并。(譬如:foo -a -b -
Time of Update: 2018-12-04
grep -irn "int socket" path_4_linux_src 或者 souceinsight 類似的工具查看 看了部分,發現bind ---> sys_bind 搜尋如下 * * AUTHOR: anhk * DATE: 2007-5-23 * * 這是學習網路部分的筆記, 比較粗糙, 並且把一些引用計數代碼去掉了. * 還有部分加鎖的代碼 * sys_socketcall[net/socket.c]函數是整個網路的中斷入口函數 */ asmlinkage
Time of Update: 2018-12-04
來源:http://blog.csdn.net/lwhsyit一、引言 通常情況下,對函數庫的連結是放在編譯時間期(compile time)完成的。所有相關的對象檔案(object file)與牽涉到的函數庫(library)被連結合成一個可執行檔(executable file)。程式在運行時,與函數庫再無瓜葛。這些函數庫被成為靜態庫(static
Time of Update: 2018-12-04
原理主要是刪除的檔案並沒有實際上從硬碟上摸去,只是inode索引刪除了相關的資訊,因此只要找到剛刪除檔案的block上,就可以恢複已經刪除的檔案。 以下方法在ext3的檔案系統上測試通過,ext2的沒有測試過。假設刪除的檔案在dir下面,位於/dev/sda5上。 主要藉助debugfs 1 運行debugfs,進入調度模式 2 執行open /dev/sda5 3 執行ls -d dir
Time of Update: 2018-12-04
工具1 sar sar命令包含在sysstat工具包中,提供系統的眾多統計資料。其在不同的系統上命令有些差異,這裡只說其在網路資料監控上的參數。 sar -n [DEV|EDEV|SOCK] interval cnt 某些系統提供的sar支援基於網路介面的資料統計,這個命令可以查看裝置上每秒收發包的個數和流量 sar -n UDP|TCP|SOCK interval cnt
Time of Update: 2018-12-04
轉自:http://bbs.chinaunix.net/thread-1925077-1-1.html經典!看了對低端實體記憶體和高3 核心的虛擬記憶體被連續映射到最低端的實體記憶體。這是所有問題的開始。為什麼要把核心的虛擬位址空間連續地映射到實體記憶體最低端?這個根本不是個問題。開發人員或是出於效率的原因或是出於實現的原因,就是做了這樣的設計。但這種設計卻引發了很多令人困惑的問題。假設我們使用32位版本核心,系統裝有2G實體記憶體,下面所說的“核心的虛擬記憶體”是指核心前896M虛擬記憶體。"
Time of Update: 2018-12-04
轉貼:在Ubuntu中,檔案位置預設不是和Windows地址欄一樣的(位置項),而是顯示是路徑名稱組合(路徑欄),這對於檔案路徑的獲得複製很不方便。比如,獲得某個檔案德 路徑,如果是地址欄,直接複製一下就可以了,但是Ubuntu的預設是不能直接複製德。所以為了方便,決定將地址欄修改為類似Windows地址欄的 風格。方法:終端,輸入gconf-editor, 定位到apps->nautilus->preferences,定位到