原创 bash 字符串

得到長度[Copy to clipboard] [ - ]CODE:%x="abcd" #方法一 %expr length $x 4 # 方法二 %e

原创 轉:GAS 的AT&T的語法規則

 Syntax  1.寄存器引用 引用寄存器要在寄存器號前加百分號%,如“movl %eax, %ebx”。 80386有如下寄存器: 8個32-bit寄存器 %eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%es

原创 如何恢復 Linux 上刪除的文件:ext2

要想恢復誤刪除的文件,必須清楚數據在磁盤上究竟是如何存儲的,以及如何定位並恢復數據。本文從數據恢復的角度,着重介紹了 ext2 文件系統中使用的一些基本概念和重要數據結構,並通過幾個實例介紹瞭如何手工恢復已經刪除的文件。最後針對 ext

原创 掌握 Linux 調試技術

    您可以用各種方法來監控運行着的用戶空間程序:可以爲其運行調試器並單步調試該程序,添加打印語句,或者添加工具來分析程序。本文描述了幾種可以用來調試在 Linux 上運行的程序的方法。我們將回顧四種調試問題的情況,這些問題包括段錯誤

原创 使用Busybox做一個小巧的Linux操作系統

 1.基礎知識 一個操作系統可以簡單的抽象爲,引導程序 內核 文件系統。   vmlinuz是Linux 內核的鏡像文件,可以被引導程序加載,從而

原创 超級詳細Tcpdump 的用法

閱讀提示: 第一種是關於類型的關鍵字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一臺主機,net 202.0.0.0 指明 202.0.0.0是一個網絡地址,port 2

原创 有用的linux命令

 1. pgrep:比如,你可以使用 pgrep -u root 來代替 ps -ef | egrep '^root ' | awk '{print

原创 linux軟中斷的實現

  中斷服務程序往往都是在CPU關中斷的條件下執行的,以避免中斷嵌套而使控制複雜化。但是CPU關中斷的時間不能太長,否則容易丟失中斷信號。爲此,Lin

原创 firefox_config

首先,在URL欄輸入“about:config”, 將打開一個參數的命令行清單,這就是我們以下進行編輯的第一步。 Firefox 加速技巧:修改參數- -讓靈動的Firefox跑得更快 1.network.http.pipelining

原创 用戶和kernel空間使用mmap共享內存

原來的程序:/* 文件操作 */static struct file_operations xxx_fops = {    ......    .mmap        =    _xxxx_mmap,    ......};static

原创 Bash check IP and port

33 #check arguments34 35 #check ip36 pattern_ip="^(([0-9]|[1-9][0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))\.){3}([0-9]|[1-9][

原创 c 語言中的宏,井號,可變參數

C(和C++)中的宏(Macro)屬於編譯器預處理的範疇,屬於編譯期概念(而非運行期概念)。下面對常遇到的宏的使用問題做了簡單總結。關於#和##在C語言的宏中,#的功能是將其後面的宏參數進行字符串化操作(Stringfication),簡

原创 vim diff two files

1 目錄樹相同的情況6.0和6.2的源碼往往具有相同的目錄樹結構,例如,都存在文件sys/i386/i386/machdep.c,且其中都有函數init386這時,如果我們想比較函數init386的不同之處

原创 QEMU - Running Debian in Debian

==Building Debian Images for QEMU== Install qemu and debootstrap: apt-get install qemu debootstrap Create imag

原创 kernel_debug

1.使用gdb調試    *  /proc/kcore文件是系統內核運行情況的內存映像    * 如果編譯內核的時候增加-g選項,即會在生成的二進制代碼vmlinuz或vmlinux中,添加調試相關的數據。