Time of Update: 2017-02-28
Shell也叫做命令列介面,它是*nix作業系統下使用者和電腦的互動介面。Shell這個詞是指作業系統中提供訪問核心服務的程式。這篇文章向大家介紹Shell一些非廣為人知、但卻實用有趣的知識,權當品嘗shell主食後的甜點吧。科普先科普幾個你可能不知道的事實:Shell幾乎是和Unix作業系統一起誕生,第一個Unix Shell是肯·湯普遜(Ken Thompson)以Multics上的Shell為模範在1971年改寫而成,並命名Thompson
Time of Update: 2017-02-28
格,如下: 代碼如下 [root@MyVPS1697 201407]# netstat -ntpl|grep sshd|grep -v grep |awk -F : '{print $4}' 為瞭解決空格問題,把我所在的3個營運群都問了一個遍,現在才知道人多力量大,好多熱心的群友給我了幾個解決辦法,現在把他們給的shell語句發出來: 代碼如下 netstat -antp | grep sshd| awk -F ":" '{print $4}' |
Time of Update: 2018-07-19
vim建立shell檔案,例如我的檔案命名為java_run,內容為: echo "請輸入你要編譯的java檔案路徑:" read path #分離路徑和檔案名稱 var1=`dirname $path` #路徑 var2=`basename $path` #檔案名稱 cd $var1 javac $var2 java ${var2%.*} #去掉檔案名稱的尾碼 rm ${var2%.*}.class 好了,儲存退出vim。
Time of Update: 2018-07-23
14.2 讀取使用者輸入 14.2.1 變數 上一章我們談到如何定義或取消變數,變數可被設定為當前shell的局部變數,或是環境變數。如果您的shell指令碼不需要調用其他指令碼,其中的變數通常設定為指令碼內的局部變數(參見第13.10節“變數”)。 要擷取變數的值,在美元符後跟變數名即可。shell會對雙引號內的美元符後的變數執行變數擴充,單引號中的美元符則不會被執行變數擴充。 範例14-3 1
Time of Update: 2018-07-28
LINUX SHELL 解析JSON格式 1. 使用工具jq https://stedolan.github.io/jq/ 下載版本linux版本 jq-linux64 Ubuntu 直接sudo apt-get install jq即可。 2. 解析json [root@cas script]# cat test.json {"tasks":[{"id":"simpletour-wechat.a17506e7-820
Time of Update: 2017-05-04
標籤:ash .net http 備份 bash 指令碼 許可權 簡單實現 name 以centos系統為例,實現資料庫自動備份。1、寫一個shell:12#!
Time of Update: 2018-12-04
假設我要運行一個可以攜帶參數的 script ,運行該指令碼後螢幕會顯示如下的資料:程式的檔名為何?共有幾個參數?若參數的個數小於 2 則告知使用者參數數量太少全部的參數內容為何?第一個參數為何?第二個參數為何#!/bin/bash#The program shows the script name,and the parameters....echo "The script name is ==> $0"echo "The num of the
Time of Update: 2018-12-05
今日群裡問起一個問題:echo 123|md5sumba1f2511fc30423bdbb183fe33f3dd0f - php -r "echo md5('123');"202cb962ac59075b964b07152d234b70兩者的md5值不一致,於是有很多有趣的解法:1 Mysql解法:mysql> select md5('123');+----------------------------------+| md5('123')
Time of Update: 2018-12-03
轉載請著名來自:詩商·柳驚鴻
Time of Update: 2018-12-05
Shell 作為Unix 系作業系統當中最有魅力且不可或缺的組件,經過數十載的洗禮不僅沒有被淘汰,而且愈加變得成熟穩健究其原因,大概因為它是個非常穩固的粘合劑能夠把大量功能強大的組件任意配搭,總能很好很快地完成使用者的任務。1、sudo運行上條命令$ sudo !!大家應該都知sudo,不解釋。但通常出現的情況是,敲完命令執行後報錯才發現忘了sudo。這時候,一般都會按Ctrl-p,按Ctrl-a,輸入sudo,斷行符號。重量級命令sudo !!
Time of Update: 2018-12-05
快捷操作符 熟悉C語言的朋友可能會很喜歡下面的運算式:[ -f "/etc/shadow" ] && echo "This computer uses shadow passwors" 這裡 && 就是一個快捷操作符,如果左邊的運算式為真則執行右邊的語句。您也可以認為是邏輯運算中的與操作。上例中表示如果/etc/shadow檔案存在則列印” This computer uses shadow passwors”。同樣或操作(||)在shell編程中也是可用的。
Time of Update: 2018-12-03
Sed(a stream editor)4 個空間 :input stream, pattern buffer, output stream 和 hold buffer基本操作過程是 :(1). 將 input stream 的當前行放入 pattern buffer, 然後 input stream 的指標指向下一行 ;(2). 對 pattern buffer 中的行進行處理 ;(3). 將 2 的處理結果放入 output stream. 然後迴圈這個過程 .hold
Time of Update: 2018-12-03
// ShellSort (龜殼排序)// PC/UVa IDs: 110407/10152, Popularity: B, Success rate: average Level: 2// Verdict: Accepted// Submission Date: 2011-05-27// UVa Run Time: 0.656s//// 著作權(C)2011,邱秋。metaphysis # yeah dot net////
Time of Update: 2018-12-05
轉自:http://blog.sina.com.cn/s/blog_7556be720100ryp2.htmlCtrl+p重複上一次命令Ctrl+a跳到第一個字元前Ctrl+x同上但再按一次會從新回到原位置Ctrl+b前移一個字元不刪除字元情況下Ctrl+h刪除前一個字元Ctrl+u刪除提示符前的所有字元Ctrl+w同上Ctrl+d刪除提示符後一個字元或exit或logoutCtrl+e轉到字元尾部Ctrl+f後移一個字元Ctrl+k刪除提示符後全部字元Ctrl+k取消ctrl+r向前尋找用過的
Time of Update: 2018-12-05
寫法一:----------------------------------------------------------------------------#!/bin/bashwhile read linedo echo $linedone < file(待讀取的檔案)----------------------------------------------------------------------------寫法二:--------------------------
Time of Update: 2018-12-05
PS1='[/[/033[01;32m/]/h:/[/033[01;34m/]/W/[/033[00m/]]/$'簡單解釋一下:將裡面有用的資訊題出來就是:PS1='[/h:/W]/$'/h顯示當前主機名稱/W顯示目前的目錄/$提示符[]為了美觀顯示結果如下:[taoyue:~]$其他部分就是添加顏色/[/033[01;32m/]:主機名稱顯示綠色/[/033[01;34m/]:目前的目錄顯示藍色/[/033[00m/]:將後面的顏色設為預設===========================
Time of Update: 2018-12-05
Shell插入排序 希爾排序基本思想基本思想:先取一個小於n的整數d1作為第一個增量,把檔案的全部記錄分成d1個組。所有距離為dl的倍數的記錄放在同一個組中。先在各組內進行直接插入排序;然後,取第二個增量d2<d1重複上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。該方法實質上是一種分組插入方法。希爾排序(Shell
Time of Update: 2018-12-05
繼續流程式控制制這篇是case,它能夠吧變數的內容和多個對比字元進行匹配,匹配成功則執行這部分代碼。它匹配只能是字串。書寫結構如下:case 匹配符 in 對比符號)語句;;對比符號)語句;;對比符號)語句;;esac注意:執行語句的後面必須是雙分號;;。舉個例子:目前的目錄下有檔案a.txt,file a.txt#執行結果a.txt: ASCII text就用它的執行結果進行匹配,程式如下#!/bin/shfileType=`file "$1"` # aa: ASCII textecho
Time of Update: 2018-12-07
Linux Shell 環境中支援輸入輸出重新導向,用符號<和>來表示。0、1和2分別表示標準輸入、標準輸出和標準錯誤資訊輸出,可以用來指定需要重新導向的標準輸入或輸出,比如 2>a.txt 表示將錯誤資訊輸出到檔案a.txt中。 同時,還可以在這三個標準輸入輸出之間實現重新導向,比如將錯誤資訊重新導向到標準輸出,可以用 2>&1來實現。 Linux下還有一個特殊的檔案/dev/null,它就像一個無底洞,所有重新導向到它的資訊都會消失得無影無蹤。這一點非常有用,
Time of Update: 2018-12-07
看到一些常用的shell技巧,分享一下。ctrl + u 刪除游標所在位置到當前行最前面ctrl + k 刪除游標所在位置到當前行最後面ctrl + a 移動游標到當前行最前面ctrl + e 移動游標到當前行最後面!! 重複執行上次的命令which 可執行檔的路徑尋找find [路徑] [參數] [運算式] find /etc/ -name passwd 尋找/etc下的passwd檔案 find . -name '*.conf' -exec cp {} {}.orig \;