原创 73條日常Linux shell命令彙總,總有一條你需要!

1.檢查遠程端口是否對bash開放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 2.讓進程轉入後臺: Ctrl + z 3、將進程轉到前臺: fg 4.產生隨機的十六進制數

原创 如何用 sysdig 監控和排查 Linux 服務器

如果你需要跟蹤一個進程發出和接收的系統調用,第一個想到是的什麼?你很可能想到了 strace,你是對的。 從命令行監控原始網絡通信你會用什麼工具?如果你想到了 tcpdump,你又做了明智的決定。如果你碰巧需要跟蹤打開的文件(換句 Un

原创 虛函數調用過程

1.(mov ecx,dword ptr [ebp-0Ch])將this指針壓入ecx 2.(mov edx,dword ptr [ecx])this指針指向該對象的首地址,而該處的前四個字節存放着該對象的虛函數表的首地址,將虛表指針

原创 共享內存

共享內存     共享內存是被多個進程共享的一部分物理內存。共享內存是進程間共享數據的一種最快的方法,一個進程向共享內存區域寫入了數據,共享這個內存區域的所有進程就可以立刻看到其中的內容。原理圖如下: 共享內存的實現分爲兩個步驟: 一

原创 進程間通信-管道(PIPE)和有名管道(FIFO)

  前面我們學習了一下進程,我們知道多,進程間的地址空間相對獨立。進程與進程間不能像線程間通過全局變量通信。 如果想進程間通信,就需要其他機制。          常用的進程間通信方式有這幾種 A.傳統的進程間通信方式

原创 爲什麼要三次握手

TCP 三次握手 TCP 連接是通過三次握手進行初始化的。三次握手的目的是同步連接雙方的序列號和確認號並交換 TCP 窗口大小信息。以下步驟概述了通常情況下客戶端計算機聯繫服務器計算機的過程: 1. 客戶端向服務器發送一個SYN

原创 vim設置和插件安裝

寫在前面   Linux下編程一直被詬病的一點是: 沒有一個好用的IDE, 但是聽說Linux牛人, 黑客之類的也都不用IDE. 但是對我等從Windows平臺轉移過來的Coder來說, 一個好用的IDE是何等的重要啊, 估計很多人就

原创 函數調用過程

引言 如何定義函數、調用函數,是每個程序員學習編程的入門課。調用函數(caller)向被調函數(callee)傳入參數,被調函數返回結果,看似簡單的過程,其實CPU和系統內核在背後做了很多工作。下面我們通過反彙編工具,來看函數調用的底

原创 Systemd 入門教程:命令篇

Systemd 是 Linux 系統工具,用來啓動守護進程,已成爲大多數發行版的標準配置。 本文介紹它的基本用法,分爲上下兩篇。今天介紹它的主要命令,下一篇介紹如何用於實戰。 一、由來 歷史上,Linux 的啓

原创 A星算法

A星尋路算法介紹 你是否在做一款遊戲的時候想創造一些怪獸或者遊戲主角,讓它們移動到特定的位置,避開牆壁和障礙物呢? 如果是的話,請看這篇教程,我們會展示如何使用A星尋路算法來實現它! 在網上已經有很多篇關於A星尋路算法的文章,但是大部

原创 虛函數-運行時多態的理解

形狀對外公開一個函數來把自己繪製出來。這是合理的,形狀就應該能繪製出來,對吧?由於繼承的原因,多邊形和圓形也有了繪製自己這個函數。現在我們來討論在這三個類中的繪製自己的函數都應該怎麼實現。在形狀中嘛,什麼也不做就行了。在多邊形中嘛,只要把

原创 探討read的返回值的三種情況

作者:[email protected] 博客:blog.focus-linux.net   linuxfocus.blog.chinaunix.net    本文的copyleft歸[email protected]

原创 全排列的遞歸與非遞歸算法實現

全排列在近幾年各大網絡公司的筆試中出現的比較頻繁 首先來看看題目是如何要求的(百度迅雷校招筆試題)。 用C++寫一個函數, 如 Foo(const char *str), 打印出 str 的全排列, 如 abc 的全排列: abc

原创 圖解正向代理、反向代理、透明代理

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://z00w00.blog.51cto.com/515114/1031287 套用古龍武俠小說套路來說,代理服務技術

原创 數據工程師常用的 Shell 命令

導讀:Linux以其強大的命令行稱霸江湖,Shell命令是數據極客的必修兵器。探索性數據分析,在需求和數據都不太明確的環境下,使用各種命令進行一次探索與挖掘。從基礎的文件查看到簡單的統計,再到一些常用的探索性分析命令,其目的都只是爲了更