Time of Update: 2017-01-18
Linux是以後作業系統的趨勢所在,目前的大部分國產作業系統,甚至於安卓系統都是與Linux離不開關係。其中,FTP作為其中共用手段存在已久,我們今天就來看看怎麼搭建簡單的FTP伺服器吧。FTP 是檔案傳輸通訊協定(File Transfer
Time of Update: 2017-01-18
今天在這裡討論Linux系統中一個非常滑稽的系統配置失誤,就是sudo,為什麼說是滑稽的配置呢,就是因為如果配置不當的話,普通使用者非常容易就可以提權到root使用者,而且沒有一點技術含量,系統管理員自己以為已經做好了許可權管理,其實如果配置不當,許可權漏洞已經出現。 很多公司Linux系統都會用到sudo來配置普通使用者可以執行的超級使用者權限,一是為了系統管理員更安全的作業系統,二是可以為研發人員提供可控的許可權範圍,下面就看一下我們在系統中常見的sudo設定檔。複製代碼
Time of Update: 2017-01-18
首先建立一個expect指令碼ssh_expect,檔案內容如下:#!/usr/bin/expect -fset hostname [lindex $argv 0]set user [lindex $argv 1]set passwd [lindex $argv 2]set timeout 30set force_conservative 1if {$force_conservative} { set send_slow {128 .1}}spawn ssh
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
當兩台LINUX主機之間要互傳檔案時可使用SCP命令來實現,建立信任關係之後可不輸入密碼。把你的本地主機使用者的ssh公匙檔案複製到遠程主機使用者的~/.ssh/authorized_keys檔案中假設本地主機linux100,遠程主機linux200 一,在linux100主機裡的使用者 運行#ssh-keygen -t rsa結果如下QUOTE: Generating public/private rsa key pair. Enter file in which to save the
Time of Update: 2017-01-18
scp就是secure copy,是用來進行遠程檔案拷貝的.資料轉送使用ssh1,並且和ssh1使用相同的認證方式,提供相同的安全保證.與rcp不同的是,scp會要求你輸入密碼如果需要的話.svn 刪除所有的 .svn檔案find . -name .svn -type d -exec rm -fr {} \;linux之cp/scp命令+scp命令詳解 名稱:cp使用許可權:所有使用者使用方式:cp [options] source destcp [options]
Time of Update: 2017-01-18
實際上Shell是一個命令直譯器,它解釋由使用者輸入的命令並且把它們送到核心。不僅如此,Shell有自己的程式設計語言用於對命令的編輯,它允許使用者編寫由shell命令組成的程式。Shell程式設計語言具有普通程式設計語言的很多特點,比如它也有迴圈結構和分支控制結構等,用這種程式設計語言編寫的Shell程式與其他應用程式具有同樣的效果。引言SHELL在處理一些問題的時候有得天獨厚的優勢,快捷方便,學會了還可以顯擺顯擺,當然了,shell的文法有點坑爹,沒有系統的學過,只能一點一點的積累。今天這個
Time of Update: 2017-01-18
本人記憶力有限,就把平時在項目中遇到的linux常用命令分享給大家。Linux常用命令全集 http://www.jb51.net/linux/linux檔案中存在^M 使用shell命令tr可以實現去除,具體命令如下:複製代碼 代碼如下: cat -v yourfile | tr -d "^M" > targetfileVIM中選定某個單詞 在ESC之後,使用w或者wi或者vwi可以選擇某個單詞在控制台中快速移動游標 1.刪除 1.1 ctrl + d
Time of Update: 2017-01-18
前言今天剛好寫了一個自動化打包指令碼,再次使用到了bash shell,好幸福的感覺。這裡主要是想介紹一下select命令,這個命令可以協助我們完成菜單選擇功能。格式我今天也是第一次使用select流程式控制制,在php、Java、C這些語言中並沒有實現select功能。Bash Shell中,select格式如下: select $var in ${list[@]} do statements that can use $var done
Time of Update: 2017-01-18
前言還是今天再寫一個自動化打包指令碼,用到了從路徑名中擷取最後的檔案名稱。這裡記錄一下實現過程。當然,最後我也會給出官方的做法。(ps:很囧,實現完了才發現原來Bash Shell有現成的函數)擷取檔案名稱假設給定的路徑名為: /tmp/csdn/zhengyi/test/zhengyi.txt awk解法用“/”做分隔字元,然後列印出最後的那一部分。實現代碼如下: resFile=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F "/"
Time of Update: 2017-01-18
前言 今天工作中遇到了一個問題,如果將目錄A中的檔案拷貝到目錄B中(前提目錄B沒有該檔案),並保持檔案在目錄A的結構。項目重點如下: 需要在目錄B中保持檔案在目錄A中的結構。假設A目錄檔案 A/test/1.txt,轉移到目錄B中應該是B/test/1.txt。同時還需要考慮目錄B中是否存在test目錄,多級目錄就要考慮遞迴了。(還好,bash
Time of Update: 2017-01-18
如何計算目前的目錄下的檔案數和目錄數 # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir 如何只列子目錄? ls -F | grep /$ 或者 alias sub = "ls -F | grep /$
Time of Update: 2017-01-18
在shell中常用的特殊符號羅列如下:# ; ;; . , / \\ 'string'| ! $ ${} $? $$ $*\"string\"* ** ? : ^ $# $@ `command`{} [] [[]] () (())|| && {xx,yy,zz,...}~ ~+ ~- & \\<...\\> + - %= == !=# 井號 (comments) 這幾乎是個滿場都有的符號,除了先前已經提過的\"第一行\" #!/bin/bash
Time of Update: 2017-01-18
如果管理的網站和伺服器較多的情況下,每次修改設定檔都相當痛苦。因而想到了用shell指令碼來批量組建組態檔案和配置資料。下面這個指令碼是為了批量產生nagios監控設定檔的一個shell指令碼程式。其原理是事先定義一個shell指令碼模板,然後每個需要監控的網站複製一份模板替換掉模板檔案裡面的變數。1、準備模板檔案webcheck.templatemore webcheck.template ###################WEBURL define start##############
Time of Update: 2017-01-18
一、自動補齊:[Tab]這個技巧很多人都應該會了,就是當輸入命令,目錄或者是檔案名稱的時候按 [Tab] 鍵。系統就會幫你補齊可能要輸入的東西,如果有多個選擇系統會列表出來。你可以看清楚之後再多輸入一個或多個 charactor ,再按[Tab]。實驗:$ ec按[Tab], 補齊為:$ echo二、尋找和執行曆史命令:[Ctrl + r], [Ctrl + p], [Ctrl + n]在終端中按捉 [Ctrl] 鍵的同時 [r] 鍵,出現提示:(reverse-i-search),
Time of Update: 2017-01-18
最近一段時間,在處理Shell 指令碼時候,遇到時間的處理問題。 時間的加減,以及時間差的計算。一、時間加減這裡處理方法,是將基礎的時間轉變為時間戳記,然後,需要增加或者改變時間,變成 秒。如:1990-01-01 01:01:01 加上 1小時 20分處理方法:a.將基礎時間轉為時間戳記 time1=$(date +%s -d '1990-01-01 01:01:01')echo $time1631126861
Time of Update: 2017-01-18
關於linux數組定義,以及產生方法,請看:linux shell 動態產生 數組系列 seq提示 。這裡我主要說的是高效產生list 字串,還有數組方法。 一、seq方法產生:[chengmo@centos5 shell]$ aNumList=$(seq 100);[chengmo@centos5 shell]$ echo $aNumList1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Time of Update: 2017-01-18
如果對linux shell 數組不是很熟悉的話,請看上一篇文章:linux shell 數組建立及提示 ,這篇文章主要講是動態產生數組系列。方法應該很多,我這裡主要以一個求和計算的題目為例進行分析。 題目:請用linux shell 寫一段指令碼,實現從1..1000中所有偶數的和值。 方法一:通過while 迴圈得到需要的結果:start=1;total=0;while [ $start -le 1000 ];do [[ $(($start%2)) == 0
Time of Update: 2017-01-18
linux shell在編程方面比windows 批處理強大太多,無論是在迴圈、運算。已經資料類型方面都是不能比較的。 下面是個人在使用時候,對它在數組方面一些操作進行的總結。1.數組定義[chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo $a一對括弧表示是數組,數組元素用“空格”符號分割開。2.數組讀取與賦值得到長度:[chengmo@centos5 ~]$ echo ${#a[@]}5用${#數組名[@或*]}
Time of Update: 2017-01-18
如何計算目前的目錄下的檔案數和目錄數 # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir 如何只列子目錄? ls -F | grep /$ 或者 alias sub = "ls