Time of Update: 2018-12-03
下面的程式本人已經過測試,證明確實可用----------------------------------------------------------------------------------------------------------POSIX的Linux作業系統沒有提供線程掛起和恢複的常式,在網上找了找,看到一個老外寫的程式,感覺想法不錯,放在這裡大家分享一下。 #include <pthread.h>static pthread_mutex_t
Time of Update: 2018-12-03
—--摘抄自鳥哥的私房菜- http://linux-vbird.bluedata.org/linux_base/0320bash.htm#variable雖然http://blog.csdn.net/zhuying_linux/article/details/6633022http://blog.csdn.net/longxibendi/article/details/6125075講的也可以,但是關於linux變數的說法還是有些混亂。還是按照鳥哥的說法來吧。1. 變數就是以一組文字或符號等,
Time of Update: 2018-12-03
最近在新的平台上測試程式,以前一些沒有注意到的問題都成為了效能瓶頸,通過設定一些TCP/IP選項能夠解決一部分問題,當然根本的解決方案是重構代碼,重新設計伺服器架構。先列出幾個TCP/IP選項:選項man 7 socket:SO_REUSEADDRSO_RECVBUF/SO_SNDBUFSO_KEEPALIVESO_LINGERman 7
Time of Update: 2018-12-03
1、awk擷取檔案中指定項:系統讀取一行資料根據"$"符合後的數字判斷擷取具體的項目,之後繼續讀取下一行直到檔案結尾。例如: awk '{print $2}' awktest。列印第二項字元。 awk '{print $2}' awktest > tt.txt。預設以空格為分隔字元,系統通過檢索空格,發現空格後第一個非空白字元到下一個空白字元之間的字元即為第二項。 awk -F ',' '{print $2}' awktest >
Time of Update: 2018-12-03
系統提供的socket緩衝區大小為8K,你可以將之設定為64K,尤其在傳輸即時視頻時。 socket發送資料時候先把資料發送到socket緩衝區中,之後接受函數再從緩衝區中取資料,如果發送端特別快的時候,緩衝區很快就被填滿(socket預設的是1024×8=8192位元組),這時候我們應該根據情況設定緩衝區的大小,可以通過setsockopt函數實現 #include <stdio.h> #include <stdlib.h> #include <unistd.h&
Time of Update: 2018-12-03
sed從檔案的一個文本行或從標準輸入的幾種格式中讀取資料,將之拷貝到一個編輯緩衝區,然後讀命令列或指令碼的第一條命令,並使用這些命令尋找模式或定位行號編輯它。重複此過程直到命令結束。sed 執行個體詳解:1、列印指定內容: 1)、關鍵字搜尋:sed -n '/what/'p setText:列印帶有“what”的行 2)、行號搜尋:sed -n '1,3'p setText:列印1-3行 3)、關鍵字和行號混合搜尋:sed -n '4,/do/p'
Time of Update: 2018-12-03
38、sort執行個體詳解 1、sort -t: -r sorttext:按照“:”為分隔字元,依照第一個域分類,-r表示逆序。 2、sort -t':' -k2 sorttext:-k2表示按照第二於域進行排序 3、sort -t: -k3n -k4 sorttext:-k3n表示依照第三域按照數值排序;-k4表示按照字元排序,即一個一個字元比較。如果數字按照字元比較:比如10和2比較,10將小於2,按照第一位比較。 4、sort -t: -k3.2,3.2n -k4
Time of Update: 2018-12-03
1、命令執行順序控制: 例如:cat leeboy.txt && echo "open the file success","&&"當前面一個命令成功後,運行後邊一個命令,否則不運行後邊的命令。 cat leeboy.txt || echo "open the file failed","||"當前面一個命令失敗後,運行後邊一個命令,否則不運行後邊的命令。 2、grep詳解:grep "lee" *
Time of Update: 2018-12-03
tr用來從標準輸入中通過替換或刪除操作進行字元轉換。執行個體詳解:1、tr -s "[0-9],[a-z]" < trText:指定數字和小寫字母,將重複的刪除,只保留第一個。例如I love yyyyyyou,通過命令後I love you。 2、cat trText | tr -s "[\012]":刪除空行,其中\012是八位元 cat trText | tr -s '\n':也是刪除空行。3、tr a-z A-Z < trText:將小寫轉換成大寫
Time of Update: 2018-12-03
awkRegex及內建函數執行個體詳解:1、模糊比對:awk '{if($3~/97/) print $0}' data.f:如果第三項中含有”97”則列印該行 awk '{if($4!~/ufcx/) print $0}' data.f:如果第三項中不含ufcx有則列印2、精確匹配:awk '{if($5==66) print $0}' data.f:如果第五項是66則列印awk '{if($5!=66)print $0}'
Time of Update: 2018-12-03
一、awk指令碼小程式,計算某一檔案夾中檔案的大小和。#!/bin/awk -f#命名:file_tot.awk#功能:計算當前檔案夾中檔案大小和#使用方法:ls -l|./file_tot.awk#print a header firstBEGIN{print"this is the size of all files"print"fileName\t\tfilesize"print"----------------------------------"}#let's add the
Time of Update: 2018-12-03
1、ls -l查看檔案類型。 d 目錄。 l 符號連結(指向另一個檔案)。 s 通訊端檔案。 b 塊裝置檔案。 c 字元裝置檔案。 p 具名管道檔案。 - 普通檔案,或者更準確地說,不屬於以上幾種類型的檔案。 2、chmod 修改檔案許可權,多用數字法例如:符號模式:chmod u+x o-w myfile 絕對模式:chmod 777
Time of Update: 2018-12-03
關於Linux中select的一個簡單案例:#include <stdio.h>#include <sys/select.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>int main(){int keyboard;int ret;fd_set readfds;char key;struct
Time of Update: 2018-12-03
1、 使用[……]可以用來匹配方括弧[ ]中的任何字元,例如:ls [mr]* 可以列出以m或者r開頭的檔案或檔案夾。rm t[1-6]*,表示刪除檔案,其中1-6表示從數字1到6之間的任一數字。lst[!e]*,表示檔案名稱的第二個字元不為e。2、echo -e 允許後面的輸出進行轉義,如echo -e "hello \n $a",將會換行輸出。\c 不換行。\t 跳格。\n 換行。3、shell的一個小例子:#!/bin/shecho -e "what is your name?\c"
Time of Update: 2018-12-03
在UNIX程式設計中,學會fork及signal的運用,算是相當基本的功夫。 fork()及signal經常運用在daemon守護神這一類常駐程式,另外像 a4c.tty/yact/chdrv這些中文終端機程式也有用到,一般如 Mozilla/Apache/Squid等大程式幾乎都一定會用到。 雖然在UNIX下的程式寫作,對thread的功能需求並非很大,但thread在現代的 作業系統中,幾乎都已經存在了。pthread是Linu
Time of Update: 2018-12-03
系統建立IPC通訊(如訊息佇列、共用記憶體時)必須指定一個ID值。通常情況下,該id值通過ftok函數得到。ftok原型如下:key_t ftok( char * fname, int id )fname就時你指定的檔案名稱(該檔案必須是存在而且可以訪問的),id是子序號,雖然為int,但是只有8個位元被使用(0-255)。當成功執行的時候,一個key_t值將會被返回,否則 -1 被返回。
Time of Update: 2018-12-03
在Linux下面無法使用上下鍵,退格鍵都不能用。今天發現了這個rlwrap這個好東西,特寫此文記錄。由於時間關係,可以從這裡下載安裝包。下載後,將.zip副檔名去掉,傳到Linux伺服器上面。 先裝上一些安裝rpm一:安裝readline http://img1.51cto.com/attachment/200912/1081650_1261836999.zip# rpm -Uvh readline*error: Failed dependencies: libtermcap-devel is
Time of Update: 2018-12-03
yes:輸出一串y,有時可以用來對付很多y/n選擇的應用 。輸出很多。。。banner:列印字元標題,就是用字元拼出大字來 ,最好把視窗最大化,否則可能顯示不全。ddate:把日曆轉成什麼其他曆,Today is Sweetmorn, the 63rd day of Discord in the YOLD 3173fortune:輸出一句話,內容有很多種,據說有唐詩宋詞(有唐詩宋詞的是fortune-zh,安裝完之後,fortune會隨機的輸出唐詩宋詞或英文名言。)cal 9
Time of Update: 2018-12-03
linux下curl庫,gcc或g++靜態llink libcurl的靜態庫時會報各種“undefined derefence”之類的錯誤,所以在使用時需要注意編譯庫的選擇(注意是靜態編譯連結時注意):一方面可以在對curl源碼安裝時,去掉不必要的依賴,像下面這樣去掉對ldap、ssl及libssh2的依賴,比如在源碼安裝curl時,使用:./configure --without-ssl --disable-ldap --without-nss --without-libssh2
Time of Update: 2018-12-03
11、Linux每次啟動時都會執行使用者家目錄下的.bashrc檔案,所有可以在這個檔案裡面添加一些內容,以便Linux每次啟動時都會執行相應的內容。 如果ssh方式遠程登入Linux時,會自動執行使用者家目錄下的.bash_profile檔案,所有可以在這個檔案裡面添加一些內容,以便ssh登入Linux時都會執行相應的內容。12、whoami