Time of Update: 2017-01-13
問題描述:CentOS下新增一個使用者,登入進去之後shell指令碼的資訊如下:Linux CentOS之shell顯示-bash-4.1$不顯示使用者名稱路徑的解決方案Ps:如果誤刪使用者目錄下的檔案,也可能導致!逐風之前不小心把/root/目錄清空了,也導致了類似的情況;解決方案:問題的原因是因為沒有配置.bash_profile的問題,可以通過配置這個檔案來解決問題。1.命令列中輸入:vi
Time of Update: 2017-01-13
線上伺服器一般都會遇到各種各樣的日誌切割。之前一直沒有發布類似詳細指令碼文章,這次就彌補下網站相關內容。萬變不離其宗,下邊簡單講解一下兩個日誌切割,其他服務日誌的切割也可以這樣實現.Tomcat日誌catalina.out切割小指令碼:#!/bin/bash#cut tomcat catalina.outyesterday=`date +"%F" -d "-1 days"`cd
Time of Update: 2017-01-13
為了方便管理Linux主機,我們把常用的系統安全配置寫成一個shell指令碼,以後有新的主機或者重新升級安裝Linux系統時,只需要簡單的執行一下這個指令碼就可以完成安全設定,這讓工作變得更加簡單,shell真的是個好東西。Linux的系統安全設 置Shell指令碼是第二次更新,已經大量應用在某大型媒體網站體系中,加入了之前沒有想到的一些安全設定。使用方法將其複製,儲存為一個shell檔案, 比如security.sh.將其上傳到Linux伺服器上,執行sh
Time of Update: 2017-01-13
如Memcached已在Linux中安裝完畢,且被部署到/usr/local/memcached這個路徑下,接下來我們來開始為其安裝用於啟動和停止的服務管理指令碼。首先,通過vi在/etc/rc.d/init.d路徑下建立一個名為memcached的指令檔,命令如下: 代碼如下複製代碼 vi /etc/rc.d/init.d/memcached然後,向其中寫入Shell指令碼如下: 代碼如下複製代碼 #!/bin/sh # #
Time of Update: 2017-01-13
最近要對內網進行調試和訪問,買了3個花生棒才只能映射6個連接埠,實在是不能滿足需要,剛好有個朋友給我說了ngrok也可以進行內網穿透,研究了幾天,光安裝就要搞死一幫人,還好在github上找到個一鍵安裝ngrok的腳步,先共用給大家. 系統:centos 6.x(64位)指令碼內容:cat ngrok.sh#!/bin/bash# -*- coding: UTF-8 -*-# 擷取當前指令碼執行路徑SELFPATH=$(cd "$(dirname "$0
Time of Update: 2017-01-13
這個例子說明了怎樣在Linux下shell指令碼中從資料檔案讀取特定的域(field)並進行操作。例如,假設檔案employees.txt的格式是{employee-name}:{employee-id}:{department-name},以冒號進行劃分,如下所示。$ cat employees.txt Emma Thomas:100:Marketing Alex Jason:200:Sales Madison Randy:300:Product Development Sanjay
Time of Update: 2017-01-13
Q:1 Shell指令碼是什麼、它是必需的嗎?答:一個Shell指令碼是一個文字檔,包含一個或多個命令。作為系統管理員,我們經常需要使用多個命令來完成一項任務,我們可以添加這些所有命令在一個文字檔(Shell指令碼)來完成這些日常工作任務。Q:2 什麼是預設登入shell,如何改變指定使用者的登入shell答:在Linux作業系統,“/bin/bash”是預設登入shell,是在建立使用者時分配的。使用chsh命令可以改變預設的shell。樣本如下所示:# chsh <
Time of Update: 2017-01-13
本文將介紹Linux下使用Shell處理文本時最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和參數都是最常用和最為實用的;我對shell指令碼使用的原則是命令單行書寫,盡量不要超過2行;如果有更為複雜的任務需求,還是考慮python吧;find 檔案尋找尋找txt和pdf檔案 find . \( -name "*.txt" -o -name "*.pdf" \)
Time of Update: 2017-01-13
說到socket,學過網路基礎的人都聽過,他是TCP/IP的抽象,他是網路世界的入口,它無處不在。學會了socket編程,就意味著能夠更深層次的控制你的流量,之後再看python的urllib*或php的curl,簡直就是小兒科!I. 一些名詞Address Family地址類型,協議族,可能是以下socket.AF_INET ---> IPv4 addresses.socket.AF_INET6 ---> IPv6 addresses.socket.AF_UNIX --->
Time of Update: 2017-01-13
終於,來到 shell 十三問的最後一問了… 長長吐一口氣~~~~最後要介紹的是 shell script 設計中常見的”迴圈”(loop)。所謂的 loop 就是 script 中的一段在一定條件下反覆執行的代碼。bash shell 中常用的 loop 有如下三種:* for* while* untilfor loop 是從一個清單列表中讀進變數值,?K”依次”的迴圈執行 do 到 done 之間的命令列。例:for var
Time of Update: 2017-01-13
系統:centos 5.x指令碼內容: 代碼如下複製代碼 cat make_room.sh#!/bin/bash#size=`df -hP|grep /dev/mapper/VolGroup00-LogVol00|awk '{print $4}'|cut -f 1 -d "G"`size=`df -mP|grep /dev/mapper/VolGroup00-LogVol00|awk '{print $4}'`file="/root/
Time of Update: 2017-01-13
什麼時候使用Shell因為Shell似乎是各UNIX系統之間通用的功能,並且經過了POSIX的標準化。因此,Shell指令碼只要“用心寫”一次,即可應用到很多系統上。因此,之所以要使用Shell指令碼是基於: 簡單性:Shell是一個進階語言;通過它,你可以簡潔地表達複雜的操作。 可移植性:使用POSIX所定義的功能,可以做到指令碼無須修改就可在不同的系統上執行。
Time of Update: 2017-01-13
指令碼內容: 代碼如下複製代碼 vi iptables-reset.sh#!/bin/bash#Powered by blog.slogra.comport=`iptables -vL|grep ssh|awk '{split($NF,a,":");print a[2]}'|wc -l`if [ $port = 1 ];thenecho "ok!"else/etc/init.d/iptables startsleep
Time of Update: 2017-01-13
//把20140321_files.txt檔案中每行路徑中檔案的內容 action 改為 action_begin,sed -i "s/action/action_begin/g" `cat 20140321_files.txt`//把 20140321_files.txt 中的檔案內容 tags 替換為 tags.phpsed -i "s/tags/tags.php/g" `ls
Time of Update: 2017-01-13
Shell中可能經常能看到:>/dev/null 2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print $4}'` 1>/dev/null 2>/dev/null命令的結果可以通過%>的形式來定義輸出/dev/null 代表空裝置檔案 > 代表重新導向到哪裡,例如:echo
Time of Update: 2017-01-13
字元:12345abcde拆分成:12345abcde方法echo 12345abcde | awk -F ” ‘{for(i=1;i<=NF;i++)print $i}’echo 12345abcde | sed ‘s/./&n/g’echo 12345abcde | grep -Po ‘.’echo “12345abcde” |
Time of Update: 2017-01-13
Shell 基本上是一個命令直譯器,類似於 DOS 下的 command。它接收使用者命令(如 ls 等),然後調用相應的應用程式。較為通用的 Shell 有標準的Bourne shell (sh)和C shell (csh)。很多時候在寫 Shell 指令碼的時候都容易遺忘部分邏輯運算子和運算式的寫法,因此摘錄如下,留待不時之需查詢使用。Shell 邏輯運算子涉及以下幾種類型,只要適當選擇,可以解決我們很多複雜的判斷,達到事半功倍效果。一、邏輯判斷1、關於檔案與目錄的邏輯判斷-f 常用。判斷『
Time of Update: 2017-01-13
原理跟簡單:遞迴,iconv 代碼如下複製代碼 #!/bin/shTGT="source_rst"function fe_convert() { for file in `ls $1` do if [ -d $1"/"$file
Time of Update: 2017-01-13
Shell指令碼編程學習入門是本文要介紹的內容,我們可以使用任意一種文字編輯器,比如gedit、kedit、emacs、vi等來編寫shell指令碼,它必須以如下行開始(必須放在檔案的第一行): 代碼如下複製代碼 #!/bin/sh ...注意:最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc
Time of Update: 2017-01-13
變數說明:$$Shell本身的PID(ProcessID)$!Shell最後啟動並執行後台Process的PID$?最後啟動並執行命令的結束代碼(傳回值)$-使用Set命令設定的Flag一覽$*所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。$@所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2"