Time of Update: 2017-01-18
第一章略過,下邊從第二章開始,大家懂得。ps:這裡發生了一件非常當我蛋疼的事情,非常!已經碼文章碼到第四章了,悲劇的按錯瀏覽器按鈕重新整理掉,怎麼也找不回來之前寫的東西了。想死!算了,複習一邊吧。以下全文均屬自己總結書寫,有錯誤的地方也未必是書中錯誤(當然也有可能是書中錯誤,但是我都會親自操作滴),可能是我寫錯,請大牛指正。第二章入門因為第二遍寫,就簡單快速的寫吧,盡量寫清楚。大家都知道的終端命令cd啊 chmod啊
Time of Update: 2017-01-18
一、邏輯運算子 邏輯卷標 表示意思 1.關於檔案與目錄的偵測邏輯卷標!-f 常用!偵測『檔案』是否存在 eg: if [ -f filename ] -d 常用!偵測『目錄』是否存在 -b 偵測是否為一個『 block 檔案』 -c 偵測是否為一個『 character 檔案』 -S 偵測是否為一個『 socket 標籤檔案』 -L 偵測是否為一個『 symbolic link 的檔案』 -e 偵測『某個東西』是否存在! 2.關於程式的邏輯卷標!-G 偵測是否由 GID 所執行的程式所擁有
Time of Update: 2017-01-18
1、shell變數聲明的判斷 運算式含義${var}變數var的值, 與$var相同${var-DEFAULT}如果var沒有被聲明, 那麼就以$DEFAULT作為其值 *${var:-DEFAULT}如果var沒有被聲明, 或者其值為空白, 那麼就以$DEFAULT作為其值 *${var=DEFAULT}如果var沒有被聲明, 那麼就以$DEFAULT作為其值 *${var:=DEFAULT}如果var沒有被聲明, 或者其值為空白, 那麼就以$DEFAULT作為其值 *${var+OTHER}
Time of Update: 2017-01-18
複製代碼 代碼如下:#include <stdio.h>#include <unistd.h>int main(){ char caStdOutLine[1024]; // ps 命令的標準輸出中的一行資訊 char* pcTmp = NULL; // 指向以空格拆分後的字串 char caSelfPID[
Time of Update: 2017-01-18
一、安裝linux下面的一個郵件用戶端msmtp軟體(類似於一個foxmail的工具) 1、下載安裝: 複製代碼 代碼如下:# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install 2、建立msmtp設定檔和記錄檔(host為郵件網域名稱,郵件使用者名test,密碼123456)複製代碼 代碼如下:# vim
Time of Update: 2017-01-18
timer_poll.h複製代碼 代碼如下:/* * File: timer_poll.h * Author: Administrator */#ifndef TIMER_POLL_H#define TIMER_POLL_H#include <sys/types.h>#include <fcntl.h>#include <signal.h>#include <sys/epoll.h>
Time of Update: 2017-01-18
為什麼要包含標頭檔而不是.c檔案測試代碼:複製代碼 代碼如下:m.c檔案:#include"t.c"int main(){test();return 0;}編譯:複製代碼 代碼如下:gcc m.c -o m -WallIn file included from m.c:1:0:t.c: 在函數‘test'中:t.c:3:2: 警告: 隱式聲明函數‘putchar' [-Wimplicit-function-declaration]編譯通過,只有一個警告,產生了可執行檔m,運行它正常,輸出一空格。
Time of Update: 2017-01-18
複製代碼 代碼如下:#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>int main(int argc,char **argv){ int mode; int mode_u; int mode_g; int mode_o; char *path; if(argc<3) {
Time of Update: 2017-01-18
1、前言時間對作業系統來說非常重要,從核心級到應用程式層,時間的表達方式及精度各部相同。linux核心裡面用一個名為jiffes的常量來計算時間戳記。應用程式層有time、getdaytime等函數。今天需要在應用程式擷取系統的啟動時間,百度了一下,通過sysinfo中的uptime可以計算出系統的啟動時間。2、sysinfo結構sysinfo結構保持了系統啟動後的資訊,主要包括啟動到現在的時間,可用記憶體空間、共用記憶體空間、進程的數目等。man sysinfo得到結果如下所示:複製代碼
Time of Update: 2017-01-18
首先建立50萬個檔案複製代碼 代碼如下:test for i in $(seq 1 500000)for> dofor> echo test >>$i.txtfor> done1 rm複製代碼 代碼如下:test time rm -f *zsh: sure you want to delete all the files in /home/hungerr/test [yn]? yzsh: argument list too
Time of Update: 2017-01-18
建立子進程,父進程退出 這是編寫守護進程的第一步。由於守護進程是脫離控制終端的,因此,完成第一步後就會在Shell終端裡造成一程式已經運行完畢的假象。之後的所有工作都在子進程中完成,而使用者在Shell終端裡則可以執行其他命令,從而在形式上做到了與控制終端的脫離。 在Linux中父進程先於子進程退出會造成子進程成為孤兒進程,而每當系統發現一個孤兒進程是,就會自動由1號進程(init)收養它,這樣,原先的子進程就會變成init進程的子進程。 在子進程中建立新會話
Time of Update: 2017-01-18
linux環境:ubuntu複製代碼 代碼如下:#! /bin/sh# Provides: server.sh# Default-Start: 2 3 4 5# Short-Description: server
Time of Update: 2017-01-18
網路和監控命令類似於這些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用於查看linux伺服器ip地址,管理伺服器網路設定 ,通過 telnet 和ethernet建立與linux之間的網路連結,查看linux的伺服器資訊等。下面讓我們看看在linux下的網路和監控命令的使用。1. hostname複製代碼 代碼如下:hostname
Time of Update: 2017-01-18
1.做自動部署系統時精簡的一個指令碼,主要功能是清理所有目錄的日誌2.根據給定日誌目錄,刪除時間 結合crontab進行清理日誌,清理完成後,後在/var/log/deltelog/ 產生按照月的清理日誌3.擴充,因為指令碼採用mtime(最後修改時間)進行刪除,所以可以適用於刪除到期備份等,不受檔案名稱的限制shell小竅門find –type f –print 時會根據換行或者空格來輸出尋找的檔案,在不同的sh下有不同的反應,如果不做處理結合xargs 進行刪除
Time of Update: 2017-01-18
1、前言時間對作業系統來說非常重要,從核心級到應用程式層,時間的表達方式及精度各部相同。linux核心裡面用一個名為jiffes的常量來計算時間戳記。應用程式層有time、getdaytime等函數。今天需要在應用程式擷取系統的啟動時間,通過sysinfo中的uptime可以計算出系統的啟動時間。2、sysinfo結構sysinfo結構保持了系統啟動後的資訊,主要包括啟動到現在的時間,可用記憶體空間、共用記憶體空間、進程的數目等。man sysinfo得到結果如下所示:複製代碼
Time of Update: 2017-01-18
1、前言在實際開發過程中,各個模組之間會涉及到一些通用的功能,比如讀寫檔案,尋找、排序。為了減少代碼的冗餘,提高代碼的品質,可以將這些通用的部分提取出來,做出公用的模組庫。通過動態連結程式庫可以實現多個模組之間共用公用的函數。之前看《程式員的自我修養》中講到程式的連結和裝入過程,這些玩意都是底層的,對於理解程式的編譯過程有好處。http://www.ibm.com/developerworks/cn/linux/l-dynlink/博文介紹了程式的連結和裝入過程。本文重點在於應用,如何編寫和使用
Time of Update: 2017-01-18
一、scp是什嗎?scp是secure
Time of Update: 2017-01-18
linux的硬體裝置在/dev目錄下,光碟機也是其中。/dev/cdrom表示光碟機,掛載光碟機的方法如下(以root身份):複製代碼 代碼如下:mkdir /mnt/cdrommount -t auto -o ro /dev/cdrom /mnt/cdrom #不加參數也能自動掛上。以下是操作的螢幕複製內容:複製代碼 代碼如下:linux@cdyemail:/$ ls /mnt
Time of Update: 2017-01-18
Linux
Time of Update: 2017-01-18
使用文法:chkconfig[--add][--del][--list][系統服務] 或chkconfig[--level < 等級代號>][系統服務][on/off/reset]chkconfig在沒有參數運行時,顯示用法。如果加上服務名,那麼就檢查這個服務是否在當前運行級啟動。如果是,返回true,否則返回false。如果在服務名後面指定了on,off或者reset,那麼chkconfi