Time of Update: 2017-01-18
1. Linux 指令碼編寫基礎 1.1 文法基本介紹 1.1.1 開頭 程式必須以下面的行開始(必須方在檔案的第一行): #!/bin/sh 符號#!用來告訴系統它後面的參數是用來執行該檔案的程式。在這個例子中我們使用/bin/sh來執行程式。 當編輯好指令碼時,如果要執行該指令碼,還必須使其可執行。 要使指令碼可執行: 編譯 chmod +x filename 這樣才能用./filename 來運行 1.1.2 注釋
Time of Update: 2017-01-18
例如,在多個系統、應用程式安裝之後,我們往往需要對很多設定檔進行修改,用vi編輯器意味著耗費時間、重複勞動,而sed就可將我們從繁重的重複勞動中解放出來。sed的調用方式:1、sed [sed選項] 'sed命令' 要修改的檔案2、sed [sed選項] -f sed指令碼 要修改的檔案3、sed指令碼 [sed選項]
Time of Update: 2017-01-18
在linux下關機和重啟系統有shutdown、halt、reboot、init,對於他們來說他們的內部工作過程是不相同的。又過了一年,進入了2010年,在去年也許微軟搶佔了Linux的光環,不過對於發展時間不太長的Linux,能在微軟面前站穩腳跟,很不簡單。其實Linux越來越火熱,很多的電腦使用者安裝了Linux。對於那些Linux初學者,本文為你詳細介紹Linux關機重啟命令,為你在學習Linux關機命令時起一定的作用。1、shutdown命令使用它可以安全地關閉系統,然而在關閉系統時,會
Time of Update: 2017-01-18
通過SSH訪問伺服器,難免會要用到壓縮,解壓縮,打包,解包等,這時候tar命令就是是必不可少的一個功能強大的工具。linux中最流行的tar是麻雀雖小,五髒俱全,功能強大。tar命令可以為linux的檔案和目錄建立檔案。利用tar,可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar最初被用來在磁帶上建立檔案,現在,使用者可以在任何裝置上建立檔案。利用tar命令,可以把一大堆的檔案和目錄全部打包成一個檔案,這對於備份檔案或將幾個檔案組合成為一個檔案以便
Time of Update: 2017-01-18
本文給大家介紹的非常詳細,具體詳情請看下文吧。開始安裝首先修改/etc/inittab檔案將:id:5:initdefault:改為:id:3:initdefault:#vi /etc/inittab然後重啟電腦系統進入字元模式並用root登入,隨後運行NVIDIA-linux-x86-1.0-5336-pkg1.run# sh NVIDIA-linux-x86-1.0-5336-pkg1.run然後根據提示作出選擇,安裝大概用時5分鐘。接著修改XF86Config檔案把Driver
Time of Update: 2017-01-18
功能飛鏟更簡單,只是擷取外網IP。部分網站針對curl 的ua進行處理。滿足了一下自己的搜集癖,搜集了不少可以用來查詢外網IP的網址和方法。#國內某網站的介面,只返回IPcurl ip.6655.com/ip.aspxcurl whatismyip.akamai.com#更多用法訪問ifconfig.cowget -qO - ifconfig.co curl icanhazip.comdig +short myip.opendns.com @resolver1.opendns.com curl
Time of Update: 2017-01-18
今天在這裡討論Linux系統中一個非常滑稽的系統配置失誤,就是sudo,為什麼說是滑稽的配置呢,就是因為如果配置不當的話,普通使用者非常容易就可以提權到root使用者,而且沒有一點技術含量,系統管理員自己以為已經做好了許可權管理,其實如果配置不當,許可權漏洞已經出現。 很多公司Linux系統都會用到sudo來配置普通使用者可以執行的超級使用者權限,一是為了系統管理員更安全的作業系統,二是可以為研發人員提供可控的許可權範圍,下面就看一下我們在系統中常見的sudo設定檔。複製代碼
Time of Update: 2017-01-18
ubuntu預設並沒有安裝ssh服務,可以通過如下命令進行:複製代碼 代碼如下:yblin@yblin-desktop:~$ ssh localhostssh: connect to host localhost port 22: Connection refused如上所示則說明還沒有安裝ssh.通過apt-get安裝如下:複製代碼 代碼如下:yblin@yblin-desktop:~$ sudo apt-get install
Time of Update: 2017-01-18
svn 刪除所有的 .svn檔案複製代碼 代碼如下:find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令詳解 名稱:cp使用許可權:所有使用者使用方式:cp [options] source destcp [options] source... directory說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。把計-a 儘可能將檔案狀態、許可權等資料都照原狀予以複製。-r 若
Time of Update: 2017-01-18
網上有很多 shell script 讀文字檔的例子,但是都沒有講出故事的全部,只說了一半。舉個例子,比如從一個 testfile 檔案中讀取如下格式的文本行:複製代碼 代碼如下:$ vi testfilels -a -l /bin | sortls -a -l /bin | sort |
Time of Update: 2017-01-18
先來看下原始檔案的內容:複製代碼 代碼如下:root@localhost ~]# cat file.txthello worlda:b:c -h -na:b:c -h -nsed根據條件刪除相關的行:複製代碼 代碼如下:[root@localhost ~]# sed -i '/a:b:c -h -n/d' file.txt[root@localhost ~]# cat file.txthello worldsed根據條件進行相關內容的替換:複製代碼 代碼如下:[root@localhost ~]
Time of Update: 2017-01-18
實現代碼一、#!/bin/sh# 判斷檔案是否存在# link:www.jb51.net# date:2013/2/28myPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"# 這裡的-x 參數判斷$myPath是否存在並且是否具有可執行許可權if [ ! -x "$myPath"]; then mkdir "$myPath"fi# 這裡的-d 參數判斷$myPath是否存在if [ ! -d "$myPath"]; then
Time of Update: 2017-01-18
使用shell指令碼計算Linux網卡流量,方法中最關鍵點: 複製代碼 代碼如下: ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}' 通過ifconfig eth0|grep bytes 得到輸入輸出的流量。 複製代碼 代碼如下: /@rac2=>dd2$ifconfig eth0|grep bytes RX bytes:1638005313300 (1.4 TiB) TX bytes:3
Time of Update: 2017-01-18
cat ipcalc.sh#!/bin/bashIP=$1if [ -z $IP ]thenecho -e “\e[31;42m sh ipcalc.sh IP \e[0m"exitfiwhile read MASKdomin=`/usr/bin/ipcalc $MASK|awk '/HostMin:/{print $2}'`max=`/usr/bin/ipcalc $MASK|awk '/HostMax:/{print $2}'`MIN=`echo $min|awk -F"."
Time of Update: 2017-01-18
在任何一種程式設計語言中,算術運算都是必不可少的,shell也不例外。一、 使用let、(())和[]進行算術運算可以使用普通變數賦值方法定義數值,這是,它會被儲存為字串。我們可以通過使用let、(())、[]等操作符,使得這些變數進行算術運算。例如:複製代碼
Time of Update: 2017-01-18
shell代碼:複製代碼 代碼如下:#!/usr/local/bin/expectset PASSWD [lindex $argv 1]set IP [lindex $argv 0]set CMD [lindex $argv 2]spawn ssh $IP $CMDexpect "(yes/no)?" {send "yesr"expect "password:"send "$PASSWDr"} "password:" {send
Time of Update: 2017-01-18
執行shell指令碼有以下幾種方式1、相對路徑方式,需先cd到指令碼路徑下複製代碼 代碼如下:[root@banking tmp]# cd /tmp [root@banking tmp]# ./ceshi.sh 指令碼執行成功 2、絕對路徑方式複製代碼 代碼如下:[root@banking tmp]# /tmp/ceshi.sh 指令碼執行成功 3、bash命令調用複製代碼 代碼如下:[root@banking /]# bash /tmp/
Time of Update: 2017-01-18
本文詳細介紹了使用shell去除檔案中的空行的方法,學習下sed、awk、shell檔案檢測的方法,有需要的朋友可以作個參考。本節內容:shell去掉檔案中空行1,shell 去掉檔案中的空行 複製代碼 代碼如下:cat filename | sed -e '/^$/d' > filename 2,保留最新的9個檔案,其它的檔案刪除的命令語句 複製代碼 代碼如下:ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f
Time of Update: 2017-01-18
A:本指令碼啟動並執行機器,Linux RHEL6B,C,D,...:待安裝zookeeper cluster的機器, Linux RHEL6首先在指令碼啟動並執行機器A上確定可以ssh無密碼登入到待安裝zk的機器B,C,D,...上,然後就可以在A上運行本指令碼:複製代碼 代碼如下:$ ./install_zookeeper 前提:B, C, D機器必須配置好repo,本指令碼使用的是cdh5的repo,
Time of Update: 2017-01-18
工作目錄下面有mydoc1.txt,mydoc2.txt...mydoc41.txt,本來想用sed排列依次取值排序,然後用cat來合并這些檔案,發現達不到預期效果,合并令如下所示:複製代碼 代碼如下:ls -lF *.txt | sed -n '/mydoc1/,/mydoc41/p' | xargs -i cat {}>