Time of Update: 2017-01-18
今天遇到的問題,如何一個使用者如www的許可權複製給我的使用者?目錄的許可權表示:dwrxr--r-- 其中第一個字元 d代表目錄, -代表字元 w代表可寫,r代表可讀 x代表可執行 數字為4,2,1其中第一組是檔案或者目錄所有者許可權,第二組代表目前使用者所在使用者組,第三組是其他使用者組的許可權所以控制檔案的許可權是精確到組的用 chmod 許可權 目錄複製代碼 代碼如下:chmod 777 testchmod u+w test
Time of Update: 2017-01-18
動態庫的產生:1、/*mysum.c*/複製代碼 代碼如下:#include <stdio.h>#include "src.h"int sum(int a,int b){return (a+b);} 2、/*mysum.h*/複製代碼 代碼如下:#ifndef __SRC_H__#define __SRC_H__int sum(int a,int b);#endif 3、/*main.c*/複製代碼 代碼如下:#include
Time of Update: 2017-01-18
shell指令碼在運行異常時會受到非常大的影響。本文介紹一些讓bash指令碼變得健壯的技術。使用set -u因為沒有對變數初始化而使指令碼崩潰過多少次?對於我來說,很多次。chroot=$1...rm -rf $chroot/usr/share/doc如果上面的代碼沒有給參數就運行,不會僅僅刪除掉chroot中的文檔,而是將系統的所有文檔都刪除。那應該做些什麼呢?好在bash提供了set -u,當使用未初始化的變數時,讓bash自動結束。也可以使用可讀性更強一點的set -o
Time of Update: 2017-01-18
本節內容:保留檔案系統下剩餘指定數目的檔案例子:複製代碼 代碼如下:#!/bin/bash #------------------------------- #Description: Back up your files#site: www.jb51.net#------------------------------- #shell 變數path_source=/mnt/fifth/shell path_backup=/mnt/fifth/backup/shellbackup
Time of Update: 2017-01-18
當伺服器壓力比較大,跑起來很費力時候。我們經常做網站頁面最佳化,會去尋找那些頁面訪問次數比較多,而且比較費時。 找到那些訪問次數高,並且比較耗時的地址,就行相關最佳化,會取得立竿見影的效果的。 下面是我在做最佳化時候,經常用到的一段shell 指令碼。 這個也可以算是,統計web頁面的slowpage 慢訪問頁面,象mysql slowquery 。以下是我的:nginx 配製 複製代碼 代碼如下: log_format main
Time of Update: 2017-01-18
AWK 提供了極其強大的功能: 可以進行Regex的匹配 樣式裝入 流量控制 數學運算子 進程式控制制語句 內建的變數和函數 可以把awk看作一門完全的程式設計語言,它處理文本的速度是快得驚人的。現在很多基於shell 日誌分析工具都可以用它完成。設計簡單,速度表現很好。 涉及到以上六個方面內容,我會在以後文章中加以介紹。 這次主要說下,怎麼樣把外部變數傳入到awk執行語句中。一、基礎:awk [ -F re] [parameter...] ['pattern {action}' ] [-f
Time of Update: 2017-01-18
c檔案printPid.c複製代碼 代碼如下:#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include <linux/sched.h>#include <linux/list.h>static __init int printPid(void) //安裝模組函數{ struct
Time of Update: 2017-01-18
在編寫程式時,我們經常會用到定時器。首先看看select函數原型如下:複製代碼 代碼如下:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval
Time of Update: 2017-01-18
問題如下輸入:鏈表
Time of Update: 2017-01-18
一.概念介紹網路程式分為服務端程式和用戶端程式。服務端即提供服務的一方,用戶端為請求服務的一方。但實際情況是有些程式的用戶端、伺服器端角色不是這麼明顯,即互為用戶端和服務端。我們編寫網路程式時,一般是基於TCP協議或者UDP協議進行網路通訊的。TCP:(Transfer Control Protocol)傳輸控制通訊協定是一種連線導向的協議, 當我們的網路程式使用這個協議的時候,網路可以保證我們的用戶端和服務端之間的傳輸是可靠的。UDP:(User Datagram
Time of Update: 2017-01-18
關於雙鏈表實現,一般教科書上定義一個雙向鏈表節點的方法如下:複製代碼 代碼如下:struct list_node{stuct list_node *pre;stuct list_node *next;ElemType data; }即一個鏈表節點包含:一個指向前向節點的指標、一個指向後續節點的指標,以及資料域共三部分。但查看linux核心代碼中的list實現時,會發現其與教科書上的方法有很大的差別。來看看linux是如何?雙鏈表。雙鏈表節點定義複製代碼 代碼如下:struct
Time of Update: 2017-01-18
1、查看機器安裝了哪些shell? 有兩種方法可以查看。第一種: [rocrocket@wupengchong ~]$ chsh -l /bin/sh /bin/bash /sbin/nologin /bin/zsh 第二種: [rocrocket@wupengchong ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/zsh 其實chsh -l也是來查看這個檔案。2、查看當前正在使用的shell是哪個?
Time of Update: 2017-01-18
linux基礎之Shell Script1 Shell Scipt使用指令和基本程式設計結構寫成的程式,可以完成複雜的處理流程1.1 程式書寫複製代碼 代碼如下:#!/bin/bash# Program:# This program shows "Hello Wrold" in your screen.# History:# 2013/2/3 on_1y First releasePATH=$PATHexport
Time of Update: 2017-01-18
1、認識Bash通過Shell將輸入的指令與Kernel溝通,讓Kernel控制硬體工作查看Shell:cat /etc/shell登入後預設的shell類型記錄在/etc/passwd中,與賬戶相關命令別名:alias lm='ls -al' #注意有無空格協助:man bash命令類型:type複製代碼 代碼如下:type ls # ls is aliased to `ls –color=auto'type cat # cat is hashed (/bin/cat)type cd #
Time of Update: 2017-01-18
在shell指令碼中,發現case語句的一個問題。就是指定小寫字母[a-z]和大寫字母[A-Z]的這種方法不管用了。出現如下情況:複製代碼 代碼如下:[root@station1 ~]# cat case.sh#!/bin/bashwhile :doecho -n "input a letter: "read varcase "$var" in [a-z]) echo "Lowercase letter";; [A-Z]) echo "Uppercase letter";
Time of Update: 2017-01-18
shell中的case語句:可以把變數的內容與多個模板進行匹配,再根據成功匹配的模板去決定應該執行哪部分代碼。使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 語句組 ;;模板3 [ | 模板4 ] … ) 語句組 ;;esaccase語句的匹配是從上往下地匹配順序。因此,case語句編寫的原則是從上往下,模板從特殊到普通。在C語言裡,case語句中有default模板,而在shell程式設計中,可能將模板寫成*,就可以完成相同的功能。例1:複製代碼 代碼如下:#!/bin/
Time of Update: 2017-01-18
一、Linux shell 截取字元變數的前8位,有方法如下:複製代碼 代碼如下:1.expr substr “$a” 1 82.echo $a|awk ‘{print substr(,1,8)}'3.echo $a|cut -c1-84.echo $5.expr $a : ‘\(.\\).*'6.echo $a|dd bs=1 count=8 2>/dev/null二、按指定的字串截取1、第一種方法:${varible##*string}
Time of Update: 2017-01-18
學shell到現在了,一直以為自己不會犯一個大家常說的非常二的問題,結果這本書最後的時候犯了個十分2的事,晚節不保啊!!!我在測試檔案路徑下除了萬用字元*和?外還能用啥正則那樣的東西,結果就在$HOME下執行了rm .*
Time of Update: 2017-01-18
回憶起一件事情:之前用linux尋找中文IME的時候,在百度輸入了fcitx,然後結果上邊有個,您要找的是不是: 諷刺騰訊 。本來一直記不住這個IME名字,不過以後哥就記住這個IME的名字是怎麼拼了,感謝百度。第九章awk的驚人表現awk的調用可以定義變數、提供者並且指定輸入檔案,文法:複製代碼 代碼如下:awk [ -F fs ] [ -v var=value ... ] 'program' [ -- ] [ var=value ... ] [file(s) ]awk [ -F fs ] [
Time of Update: 2017-01-18
該進入第四章了,剛才看到一個文章標題:我空有一身泡妞的好本領,但可惜自己是個妞。汗~這個。。。音樂無國界嘛,這個不應該也沒性別界嗎?第四章文本處理工具書中先說明了以下排序的規則,數值的就不用說了,該大就大該小就小,但是字元型很多時候是區分聲調或者重音的。在命令列中輸入locale查看自己系統的編碼配置。預設的是系統配置裡的,但是可以自己設定排序的編碼。如:複製代碼 代碼如下:$ LC_ALL=C sort french-english