Linux shell指令碼基礎學習詳細介紹(完整版)第1/2頁_linux shell

Linux shell指令碼基礎學習這裡我們先來第一講,介紹shell的文法基礎,開頭、注釋、變數和 環境變數,向大家做一個基礎的介紹,雖然不涉及具體東西,但是打好基礎是以後學習輕鬆地前提。1. Linux 指令碼編寫基礎◆1.1 文法基本介紹1.1.1

批量修改ssh配置的expect指令碼_linux shell

第一思路,用iptables把外網ssh的包DROP掉;第二思路,用tcpwrapper把sshd的allow寫死;第三思路,修改sshd_config,只監聽內網請求。由於一些說不清楚的原因,iptables的辦法沒法用;而tcpwrapper佔用CPU資源較多;所以最後決定用第三種辦法。公司伺服器比較多,而且根據隨機登入查看的結果,sshd_config內容居然還太不一樣~~手工幹了一天,改了兩組伺服器後,終於下定決心要整個全自動指令碼出來幹活…… 目前的辦法是這樣的:cat

ssh自動登入的4種實現方法_linux shell

1. 自動ssh/scp方法A為本地主機(即用於控制其他主機的機器) ;B為遠程主機(即被控制的機器Server), 假如ip為192.168.60.110;A和B的系統都是Linux在A上運行命令:# ssh-keygen -t rsa (連續三次斷行符號,即在本地產生了公開金鑰和私密金鑰,不設定密碼)# ssh root@192.168.60.110 "mkdir .ssh" (需要輸入密碼)# scp ~/.ssh/id_rsa.pub

ssh,scp自動登陸的實現方法_linux shell

樣本:A為本地主機(即用於控制其他主機的機器) ;B為遠程主機(即被控制的機器Server), 假如ip為192.168.60.110;A和B的系統都是Linux在A上運行命令:# ssh-keygen -t rsa (連續三次斷行符號,即在本地產生了公開金鑰和私密金鑰,不設定密碼)# ssh root@192.168.60.110  "mkdir .ssh; chmod 0700 .ssh" (需要輸入密碼)# scp ~/.ssh/id_rsa.pub  root@192

Hadoop單機版和全分布式(叢集)安裝_linux shell

Hadoop,分布式的大資料存放區和計算, 免費開源!有Linux基礎的同學安裝起來比較順風順水,寫幾個設定檔就可以啟動了,本人菜鳥,所以寫的比較詳細。為了方便,本人使用三台的虛擬機器系統是Ubuntu-12。設定虛擬機器的網路連接使用橋接方式,這樣在一個區域網路方便調試。單機和叢集安裝相差不多,先說單機然後補充叢集的幾點配置。第一步,先安裝工具軟體編輯器:vim複製代碼 代碼如下:sudo apt-get install vimssh伺服器:

Ubuntu伺服器配置apache2.4的限速功能shell指令碼分享_linux shell

過程都寫成指令碼了,原理都寫在注釋裡,大家懂的。一鍵操作就是sudo bash xxx.sh複製代碼 代碼如下:#!/bin/bash#cd到臨時目錄建立設定檔cd /tmp(cat <<EOF<Directory /home/hursing/mylimiteddir/>    SetOutputFilter RATE_LIMIT    SetEnv rate-limit 30</Directory>

Shell指令碼實現非法IP登陸自動警示_linux shell

伺服器的安全穩定是每個營運都希望達到的目標,畢竟網站一旦流量大了,訪問高了,就會有一些無聊人來攻擊,幫忙檢測漏洞是好,但純ddos的性質就很惡劣了.說遠了,這篇文章只是檢測有非法ip登入到伺服器上就自動給營運警示,當然也可以改成簡訊警示,前提是你有簡訊網關.複製代碼 代碼如下:#!/bin/bash#該指令碼作用是檢測是否有惡意IP登陸伺服器並郵件警示#可以結合139郵箱以達到簡訊及時通知到手機的功能#適用系統centos5 Ldate=`which date`Lawk=`which

Shell指令碼實現ftok函數_linux shell

“古老的 Sys IPC 仍然有好幾種有效用途。三種 IPC 對象是共用記憶體,號誌和訊息。”當使用到 IPC 的這些對象時,你需要為每個對象建立一個 Key。雖然理論上來說我們在定義一個 IPC Key 的時候可以使用任意自己喜歡的 Key ,但為了避免與其他的程式產生定義重複,在 UNIX/Linux 中一般會使用 key_t ftok(const char *path, int id) 函數來產生一個比較唯一的 Key 值。然而,“每個人都討厭 System V IPC。它比打孔紙帶還慢,

Shell編程 Bash引號的那點事_linux shell

先瞭解下,在bash指令碼中,有三種引號1. 單引號 '2. 雙引號 "3. 反引號 `單引號        兩個單引號包圍起來的字串就是普通的字串,它將保留原始的字面意思.雙引號        兩個雙引號包圍起來的字串,部分特殊字元將起到它們的作用.        這些特殊字元有:

Shell中擷取指令碼所在目錄絕對路徑的方法_linux shell

要得到正在執行的程式/指令碼自身所存放的絕對路徑,在 PHP 裡面可以用 dirname(realpath(__FILE__)) ; C# 則有 System.Windows.Forms.Application.StartupPath ; java 似乎沒有什麼比較直接的方法,只能利用 CodeSource 來間接擷取 。而在 linux shell 指令碼裡面如果想得到當前指令檔存放的絕對路徑,也沒有太現成的命令可以調用,不過可以通過下面的語句來擷取:複製代碼

Shell指令碼實現尋找字串中某字元最後出現的位置_linux shell

需要對字串尋找其中某個字元最後出現的位置,這個在PHP (strrpos)或者Perl (rindex)裡面都有現成函數可用的功能,在Shell裡面居然一時想不出個道道來。在論壇上發貼也沒人解答(不知道是問題太簡單還是真的很高深...)。因為事情緊急等不得,於是求救大學同學。Pacman不愧是箇中高手,三兩下點醒夢中人:rindex.sh代碼:複製代碼 代碼如下:#!/bin/bashstrToCheck=$1;charToSearch=$2;let pos=`echo

Shell指令碼實現精準清除Squid緩衝_linux shell

此指令碼是在張宴的緩衝清理指令碼上做了修改的,主要是增加if選項,並根據$1參數類型來選擇性的列出快取檔案所在地址(因為$1並不固定,有時是特定的jpg類型,有時是網域名稱)目前在自己的Squid快取服務器上應用,感覺採集緩衝網址基本上沒什麼誤差了,歡迎大家試用,爭取將此指令碼做到更加完美(此指令碼在Centos5.4 x86_64,Squid2.7下通過)指令碼內容如下:複製代碼

Shell指令碼實現監控iptables運行狀態_linux shell

最近在調試伺服器的iptables,自己做了個定時關iptables,但晚上回家很少開電腦,所以就沒法去啟動iptables,當然你可能會說,為什麼不取消定時關閉iptables,我只能說個人的環境不一樣,需求也就不一樣.指令碼內容:vi iptables-reset.sh複製代碼 代碼如下:#!/bin/bash#Powered by blog.slogra.comport=`iptables -vL|grep ssh|awk '{split($NF,a,":");print

Shell指令碼實現監控rsync資料是否傳輸完_linux shell

今天有台伺服器a要把網站程式全部傳輸到另外一台伺服器b上去,但離下班時間就只有1個小時了,為了準時下班,簡單寫了個shell指令碼來監控是否有傳輸完,我先在伺服器a上看了下網站程式總大小為12G,用du -sm查看也就是11517,伺服器也不會有人再傳東西上去了,所以我可以放心容量不會再變大了。系統:centos 5.x需要的軟體:rsync指令碼內容:複製代碼 代碼如下:#!/bin/bashfile=`du -sm /var/www/vhosts/|awk '{print $1}'`ps=`

Shell指令碼實現關閉多餘的tty終端_linux shell

今天給公司新部署伺服器進行最佳化,發現了tty終端居然有6個,為了節省點記憶體,決定只留一個tty終端,其他的都關閉掉,但centos6跟centos5的終端關閉方法完全變了,而且我也比較懶,不想一台一台的設定,寫了下面這個指令碼來節省時間.系統:centos 6關閉tty終端指令碼:cat pkill.sh複製代碼 代碼如下:#!/bin/bashsed -i 's/\/dev\/tty\[1-6\]/\/dev\/tty\[1-1\]/g'

Shell指令碼中實現切換使用者並執行命令操作_linux shell

今天公司同事來找到我說要在伺服器上用另外一個使用者執行python指令碼,但設定到crontab裡卻老是root使用者來執行,為了省事我就想了一個偷懶的辦法,就是用shell指令碼切換到那個使用者,然後去執行那個python指令碼.好了,這篇文章我只示範怎麼用shell指令碼切換到其他使用者執行命令.系統:centos 5.x指令碼內容:cat test.sh複製代碼 代碼如下:#!/bin/bashsu - test

Shell指令碼自動刪除指定大小以上的備份檔案_linux shell

最近本地虛擬機器的空間老是被備份給佔滿,為了偷懶不想自己天天登入上去清除,才寫了這個自動清理指令碼.系統: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

Shell指令碼實現批量替換檔案內容_linux shell

今天同事發現內部伺服器的硬碟空間不夠了,上面有很多備份,我又不能刪除,重新找了個320g的硬碟掛載了上,想以後shell指令碼下的備份都轉移到新硬碟上,給老硬碟騰出空間來,原備份路徑是/data/onlinesqlbak/,新備份路徑是/disk2/onlinesqlbak/,我find了下備份shell指令碼,這一找嚇死個人,最少都有10-20個備份shell要改,誰叫我是懶人想一下搞定完,好了來看我的解決辦法吧.系統:centos 5.x1.先確認有那些指令碼要改複製代碼

Shell命令批量修改圖片檔案名稱_linux shell

公司同事今天找我幫忙修改檔案名稱,我一看,好嘛,幾百個檔案要改名,檔案名稱格式是_01.png _02.png這樣依次類推,同事要求把前面的"_"給去掉,還好要求算簡單,沒有讓我再改成其他名字。一條命令搞定:複製代碼 代碼如下:for i in `ls _*.png`; do mv "$i" `echo "$i" |awk -F '_0' '{print $1 "0" $2}'`; done如果要連_0都去掉的話,就這樣寫:複製代碼 代碼如下:for i in `ls _*.png`; do

Shell指令碼實現apache日誌中的狀態代碼分析_linux shell

一、首先將apache日誌按天切割複製代碼 代碼如下:       vi /etc/httpd/conf/httpd.conf        ErrorLog "|rotatelogs /var/log/httpd/%Y%m%derror_log 86400 480"       CustomLog

總頁數: 301 1 .... 188 189 190 191 192 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.