Time of Update: 2017-01-18
一、問題的提出 如圖1所示,在單位有個私人地址為192.168.0.0的網路,各電腦是通過ADSL共用方式接入Internet,在家中有台電腦也通過ADSL訪問Internet,現在想在家中隨時安全地訪問單位192.168.0.2這台機器,實現方法很多,最為安全的是通過VPN。 二、什麼是VPN
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裡查看所有使用者(1)在終端裡.其實只需要查看 /etc/passwd檔案就行了.(2)看第三個參數:500以上的,就是後面建的使用者了.其它則為系統的使用者.或者用cat /etc/passwd |cut -f 1 -d :2、使用者管理命令useradd 註:添加使用者adduser 註:添加使用者passwd 註:為使用者佈建密碼usermod 註:修改使用者命令,可以通過usermod 來修改登入名稱、使用者的家目錄等等;pwcov
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
一般的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
複製代碼 代碼如下:#!/bin/bash#author: 505056357@qq.comecho "backup job start"#設定要備份的網站目錄,即是網站的根目錄file=/home/wwwroot/default#設定本地備份目錄,用於存放打包後的檔案backpath=/home/wwwroot/bkdata/dbuser=root#資料密碼,要記得用單引號將把整個密碼引起來,如果密碼中有單引號就用雙引號,嘿嘿dbpwd='123456'dbname=cardomain=192
Time of Update: 2017-01-18
最近世界盃來了,一直忙於工作和世界盃之間,都沒有空來管管我的blog了,今天只能整個簡單的小shell給大家了.公司要求刪除一個月之前的備份檔案,免得把硬碟給整爆了,上伺服器看了下,居然都有3個月的備份沒有清理了,還好是sql備份,不然硬碟空間早就滿了.下面是我的解決辦法:複製代碼 代碼如下:cat delbak.sh#!/bin/shlocation="/root/sqlbak/"find $location -mtime +30 -type f |xargs rm
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/bash echo -e `date +%y%m%d%H%M` echo -e "PID\t\tSwap\t\tProc_Name" # 拿出/proc目錄下所有以數字為名的目錄(進程名是數字才是進程,其他如sys,net等存放的是其他資訊)for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]`do #
Time of Update: 2017-01-18
基礎知識shell執行方式 sh xx.sh (檔案須有r許可權) || ./xx.sh (檔案須有x許可權) 註:sh xx.sh方式比較安全檔案名稱尾碼 .shshell內容開頭 #!/bin/bash || #!/bin/sh || #!/bin/csh || #!/bin/ksh 註:#!/bin/bash 使用比較多退出 exit 0變數賦值與使用不需要定義即可直接使用
Time of Update: 2017-01-18
這幾天發現CentOS系統記憶體一直漲,即使把apache和mysql關閉了,記憶體也不釋放,可以使用以下指令碼來釋放記憶體: 指令碼內容: 複製代碼 代碼如下: #! /bin/bash # cache釋放: # To free pagecache:
Time of Update: 2017-01-18
1. 取今天時間複製代碼 代碼如下:$date -d "now" +%Y-%m-%d 2. 取昨天時間複製代碼 代碼如下:$date -d "yesterday" +%Y-%m-%d $date -d "1 days ago" +%Y-%m-%d ## -d, --date=STRING display time described by STRING, not `
Time of Update: 2017-01-18
指令碼 first (測試樣本1) 複製代碼 代碼如下:#!/bin/bashecho 'your are in first file' 問)在當前指令檔中調用另外一個指令檔?方法一: 使用 source指令碼 second (測試樣本2)複製代碼 代碼如下:#!/bin/bashecho 'your are in second file'source first方法二: 使用 .指令碼 second (測試樣本3)複製代碼 代碼如下:#!/bin/bashecho 'your
Time of Update: 2017-01-18
由於區域網路內主機多,VLAN也多,為時常能知道線上主機的數量,編寫指令碼以查驗線上主機。效果是:主機線上顯示綠色,主機離線顯示紅色結果。用法:./ping IP段 例如:./ping 192.168.0複製代碼 代碼如下:#!/bin/bashNETWORK=$1for HOST in $(seq 1 254)do ping -c 1 -w 1 $NETWORK.$HOST
Time of Update: 2017-01-18
shell數組介紹:複製代碼 代碼如下://陣列變數定義:$ arr=(1 3 6 8 2 5 9 0 7 4)// 預設擷取第一個元素$ echo $arr // 通過下標訪問,下面取的數組第二個元素,shell數組下標是從0開始$ echo ${arr[1]} // 訪問整個數組 $ echo ${arr[@]} or echo ${arr[*]} // 擷取數組的長度(最大下標)$ echo ${#arr[@]} //
Time of Update: 2017-01-18
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}' data.f :
Time of Update: 2017-01-18
shell批量採集愛站關鍵詞庫,心血來潮寫著玩的,還不完善,先放出來,後期慢慢更新,功能雖然簡單,同類工具也很多現成的,但畢竟是自己寫出來的工具,感覺還是很不一樣滴!複製代碼 代碼如下:for i in $(seq 1 50);do curl -s http://baidurank.aizhan.com/baidu/jiameng.com/$i/position/|grep -a 'class="zhishu"'|sed 's/<a target="_blank"//g'|sed
Time of Update: 2017-01-18
早之前記的一個筆記了,之前只是記錄了兩句代碼,放出來的話也是一個低品質的頁面,於是設定為了僅自己可見,今晚抽空補充一下。記得當的情景應該是提交sitemap時百度老提示有錯誤的URL,導致sitemap不能正常被抓取,於是在想辦法解決這個問題,所以才有下面這些筆記:用shell批量找出網站空頁面和404錯誤頁面。廢話不多說,直接上shell代碼:複製代碼 代碼如下:time cat sitemap.txt|while read line;do curl -l $line -m 5
Time of Update: 2017-01-18
有時我們在處理和查看檔案時,經常會有很多空行,為了美觀或是有需要時,就有必要把這些除行去掉了,方法如下:1)用tr命令複製代碼 代碼如下:cat 檔案名稱 |tr -s ‘\n'2)用sed命令複製代碼 代碼如下:cat 檔案名稱 |sed ‘/^$/d' 3)用awk命令複製代碼 代碼如下:cat 檔案名稱 |awk ‘{if($0!=”")print}'cat 檔案名稱 |awk ‘{if(length !=0) print $0}'4)用grep命令複製代碼 代碼如下:grep -v “^
Time of Update: 2017-01-18
1. 在shell檔案內部定義函數並引用:複製代碼 代碼如下:[~/shell/function]# cat factorial.sh #!/bin/bashfunction factorial{factorial=1for (( i=1;i <= $1;i++ )) do factorial=$[ $factorial *