Time of Update: 2017-01-18
Linux下文本處理工具很豐富很強大,例如這樣一個檔案:複製代碼 代碼如下:cat log www.jb51.net 192.168.1.1www.jb51.net 192.168.1.1www.jb51.net
Time of Update: 2017-01-18
用法參數1、寫有需要替換路徑記錄的文本,格式:老路徑 老名稱 新路徑 新名稱參數2、需要替換的檔案的目錄參數3、需要替換的檔案的類型複製代碼 代碼如下:#!/bin/shfunction _replace(){basepath=$0> $basepath.logi=1while read linedo echo "start==========================================
Time of Update: 2017-01-18
複製代碼 代碼如下:# cat doallslave.sh#!/bin/sh#code by scpman#mail:scpman@live.com#blog:http://www.scpman.com#name:"doallslave.sh"helpinfo(){echo -e '\t\thelp 查看協助資訊'echo -e '\t\t自動做allslave從庫指令碼使用協助'echo -e '\t\tslavename 只能是xxx_xxx這種命令例如:zq2013_test1'echo
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/bashcase "$1" instart) svnserve -d -r /svndata svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk
Time of Update: 2017-01-18
1.列出所有目錄使用量,並按大小排序。複製代碼 代碼如下:ls|xargs du -h|sort -rn #不遞迴下級目錄使用du -sh2.查看檔案排除以#開關和空白行,適合查看設定檔。複製代碼 代碼如下:egrep -v "^#|^$" filenamesed '/#.*$/d; /^ *$/d'3.刪除空格和空行。複製代碼 代碼如下:sed '/^$/d' filename #刪除空行sed 's/ //g' filenamesed 's/[[:space:]]//g'
Time of Update: 2017-01-18
對於伺服器來說線上率很重要,出現問題要能及時解決,但系統管理員不能一直守在電腦旁邊,通過指令碼監控網站出現問題及時通過mail通知管理員,如果是139郵箱還可免費手機簡訊通知。註:通過系統直接發送mail容易被攔截,可使用mail串連第三方smtp發送郵件。shell指令碼實現代碼:複製代碼 代碼如下:#!/bin/bash#set -xwhile truedo list=(www.jb51.net
Time of Update: 2017-01-18
使用shell校正IP地址合法性使用方法:複製代碼 代碼如下:[root@yang python]# bash check_ip.sh IP地址執行結果:傳回值0校正合法,非0不合法。shell代碼:複製代碼 代碼如下:[root@yang python]# vi check_ip.sh #!/usr/bin/shCheckIPAddr(){echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" >
Time of Update: 2017-01-18
在APP上架前,一次一次自己剪裁上架需要的各個尺寸的Icon不是程式員該乾的事,使用Mac中內建的sips工具可以解決這個需求。關於sips,在終端中直接執行可以出現以下資訊:複製代碼 代碼如下:sips 10.4.4 - scriptable image processing system.This tool is used to query or modify raster image files and ColorSync ICC profiles.Its functionality
Time of Update: 2017-01-18
因為最近要處理一些 JSON 資料格式,所以在經過一番搜尋後 最終找到了 jq 這個很棒的工具。jq 允許你直接在命令列下對 JSON 進行操作,包括分區、過濾、轉換等等。讓我們通過幾個例子來說明 jq 的功能:一、輸出格式化,漂亮的列印效果如果我們用文字編輯器開啟 JSON,有時候可能看起來會一團糟,但是通過 jq 的 .(點)過濾器就可以立馬讓 JSON 的格式規整起來。1.用文字編輯器開啟後的樣子2.用 jq 顯示的結果複製代碼 代碼如下:% jq .
Time of Update: 2017-01-18
在Windows下寫了一個shell指令碼,上傳到Linux下執行時報錯:複製代碼 代碼如下:[root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory test.sh源碼: 複製代碼 代碼如下:#!/bin/sh echo "test shell
Time of Update: 2017-01-18
nodejs的確是很火,以前倒騰過,但是從來沒有認真記錄下什麼。在ubuntu下搭建它的開發環境嘗嘗鮮,有一個捷徑,它能讓系統自動幫你安裝所需要的東西,我們產生一段shell指令碼,讓它來完成以下工作: 安裝 git下最新的node,node包管理器,Forever和Cloud9IDE工具(可選),mongodb 10gen;註:指令碼的正常運行需要比較新版本的Ubuntu,而且需要連網,因為它會串連網路去下載所有的依賴包順序安裝。1.指令碼代碼:複製代碼 代碼如下:#!/bin/shecho
Time of Update: 2017-01-18
一般的shell指令碼的調試基本都是echo 來處理遇到比較大的指令碼的時候,就比較麻煩了,出了問題,還不是很好定位哪行代碼出問題了。其實shell內建的一些變數可以很好的解決這個問題: $LINENO $FUNCNAME $BASH_LINENO 這幾個變數記錄了指令碼當前的執行位置,以及正在執行的函數。具體可以可以man 文檔頁。 執行個體代碼:a.sh 複製代碼 代碼如下:#!/bin/bash abc() {echo "wo shi abc()" echo
Time of Update: 2017-01-18
在Linux下用Shell來測試下載度,代碼如下:複製代碼 代碼如下:#!/bin/bash#date:20140210#used for test server download
Time of Update: 2017-01-18
記得去年找工作面試時,聽到一位同學說自己非常喜歡linux,我相信他說的是真的,我覺得喜歡linux的人很大的快樂來自shell指令碼,因為它能夠整合linux上的各種資源幹大事。下面和大家分享下一個shell指令碼寫的圖片抓取器。使用方法:複製以下代碼,命名為img_downloader.sh。使用時在shell下輸入 ./img_downloader.sh www.baidu.com -d images,該shell指令碼就會把百度首頁上的圖片下下來了。複製代碼
Time of Update: 2017-01-18
1.簡單方法複製代碼 代碼如下:$ b=$((5*5+5-3/2)) $ echo $b29 在linux shell中,我們可以使用 $(()) 將運算式放在括弧中,即可達到運算的功能。2.其它方法:用:expr 實現運算複製代碼 代碼如下:$ expr 5 - 41 注意:將需要運算的運算式寫入在expr 後面即可,保證 參數與運算子號中間有空格隔開。 類別 文法 說明 條件判斷 expr1 \| expr2 如果 expr1 不是零或 null 則傳回 expr1,否則傳回 expr2。
Time of Update: 2017-01-18
1.操作符(let 標誌符)+ 加法- 減法* 乘法/ 除法**
Time of Update: 2017-01-18
一、指令碼思路第一步就是重新命名記錄檔,不用擔心重新命名後nginx找不到記錄檔而丟失日誌。在你未重新開啟原名字的記錄檔前,nginx還是會向你重新命名的檔案寫日誌,linux是靠檔案描述符而不是檔案名稱定位檔案。第二步向nginx主進程發送USR1訊號。nginx主進程接到訊號後會從設定檔中讀取記錄檔名稱,重新開啟記錄檔(以設定檔中的日誌名稱命名),並以背景工作處理序的使用者作為記錄檔的所有者。重新開啟記錄檔後,nginx主進程會關閉重名的記錄檔並通知背景工作處理序使用新開啟的記錄檔。背景工作
Time of Update: 2017-01-18
在Bash中, bash的數學運算有點彆扭,很難適應和記住, 只好寫個博文, 方便以後翻翻看. 有四種方式可以進行數學運算:一、let命令複製代碼 代碼如下:#/bin/bashnum1=13num2=14let sum=$num1+$num2echo $sum#自增let sum++#自減let sum--#簡寫形式let sum+=1let sum-=2#順便吐槽下,let sum=(1+3)*(2+2)居然不行, 果然很爛有沒有!二、 $[]形式複製代碼
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/bash: << mark轉碼工具,支援UTF-8轉GBK和GBK轉UTF-8孔令飛@2012-05-07mark#set -xscode="gbk"dcode="utf-8"function Usage(){ cat << EOFUsage: conv [OPTIONS] [DIR][-u] GBK to UTF-8[-g] UTF-8 to GBKEOF exit
Time of Update: 2017-01-18
一. 功能簡介1. 將刪除的檔案放在資源回收筒中2. 恢複刪除的檔案3. 實現linux rm命令的功能, 使用起來幾乎和linux 系統內建的rm ,命令完全一樣4. 新增功能: rm -l, rm -e, rm -c5. 該指令碼每次在運行時候會檢查$HOME/.trash 目錄下檔案大小之和, 若 超過最大容量, 指令碼會自動將記錄檔中所記錄檔案中的前一半檔案從回 收站中清除,所以建議刪除大檔案(相對於資源回收筒最大容量而言)直接用 命令/bin/rm 而不要用 rm.二. 使用方法:1.