原创 shell打印正三角形

#!/bin/bash read -p "please input the lenth:" n for i in `seq 1 $n` do     for ((j=$n;j>i;j--))     do         echo -n

原创 Linux命令行下”!”的用法

Linux 系統中,“!” 符號或者操作符通常被用做邏輯否定的操作符,同時也通過一些調整和改動命令來從歷史記錄中找出你需要的命令行。下面演示的命令行在bash Shell中都已經明確檢查過可用了。不過我沒有在其他的 Shell 解釋器下測試

原创 用shell寫一個簡易計算器,可以實現加、減、乘、除運算,假如腳本名字爲1.sh,執行示例:./1.

用shell寫一個簡易計算器,可以實現加、減、乘、除運算,假如腳本名字爲1.sh,執行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then    echo "參數個數應該爲3,例如:$0 1 + 2

原创 linux下Apache的安裝

Apache是一個基金會的名字,httpd纔是我們需要安裝的軟件包apr和apr-util是一個通用的函數庫,它讓httpd可以不關聯底層操作系統平臺,可以很方便的移植,如果不安裝這兩個,httpd就無法工作。步驟1、下載httpd、apr

原创 until 循環:實現一個shell腳本,不停地詢問用戶要執行什麼操作,直到用戶輸入quit纔會退出

實現一個shell腳本,不停地詢問用戶要執行什麼操作,直到用戶輸入quit纔會退出,否則腳本一直這樣運行下去。我們直到while循環是在測試條件滿足的情況下執行循環體,一直到條件不滿足時終止循環,如果我們需要的循環是在測試條件不滿足的情況下

原创 shell,自動掛載磁盤

我們使用的雲主機,購買一塊雲盤後,默認並不是掛載狀態的,用shell寫一個腳本,只要把盤符和掛載點以參數的形式提供給腳本,該腳本就可以自動格式化、掛載。要求:1 不用分區,直接格式化2 格式化爲ext4文件系統類型#!/bin/bash e

原创 mysql安裝配置

mysql的幾個常用安裝包:rpm、源碼、二進制免編譯步驟(二進制免編譯):①cd /usr/local/src進入/usr/local/src目錄下②wget  http://mirrors.sohu.com/mysql/MySQL-5.

原创 文件比較運算符

文件比較運算符-e filename 如果 filename存在,則爲真 [ -e /var/log/syslog ]-d filename 如果 filename爲目錄,則爲真 [ -d /tmp/mydir ]-f filena

原创 寫一個shell腳本,把192.168.0.0/24網段在線的ip列出來。 思路: for循環, 0

寫一個shell腳本,把192.168.0.0/24網段在線的ip列出來。思路: for循環, 0.1 —  0.254  依次去ping,能通說明在線。#!/bin/bash ip=192.168.0. for n in `seq 1 2

原创 設計一個腳本,監控遠程的一臺機器(假設ip爲123.23.11.21)的存活狀態,當發現宕機時發一封

提示:1. 你可以使用ping命令   ping -c10 123.23.11.212. 發郵件腳本可以參考#!/usr/bin/env python #-*- coding: UTF-8 -*- import os,sys reload(

原创 腳本要求:兩類機器一共300多臺,寫個腳本自動清理這兩類機器裏面的日誌文件。

要求:兩類機器一共300多臺,寫個腳本自動清理這兩類機器裏面的日誌文件。在堡壘機批量發佈,也要批量發佈到crontab裏面。A類機器日誌存放路徑很統一,B類機器日誌存放路徑需要用*匹配(因爲這個目錄裏除了日誌外,還有其他文件,不能刪除。匹配

原创 Linux系統的rm命令太危險,一不小心就會刪除系統文件。寫一個shell腳本來替換系統的rm命令,

Linux系統的rm命令太危險,一不小心就會刪除系統文件。寫一個shell腳本來替換系統的rm命令,要求當刪除一個文件或者目錄時都要做一個備份,然後再刪除。假設有一個大的分區/data/,每次刪除文件或者目錄前,都要在/data/下面創建一

原创 $ 後面加特殊字符的含義

說法一$? 上一條命令執行後返回的狀態 $# 參數的數量 $* 所有參數的內容 $$ 當前進程的進程號 $! 後臺運行的最後一個進程號 $0 當前執行的進程名 $n 第n個參數值,n=1..9 $@ 跟$*類似,但是可以當作數組用說法二$0

原创 批量同步代碼:有3臺服務器(A,B,C)做負載均衡,由於規模太小目前並未使用專業的自動化運維工具

需求背景是:一個業務,有3臺服務器(A,B,C)做負載均衡,由於規模太小目前並未使用專業的自動化運維工具。有新的需求時,開發同事改完代碼會把變更上傳到其中一臺服務器A上。但是其他2臺服務器也需要做相同變更。寫一個shell腳本,把A服務器上

原创 echo -n和-e

echo -necho -n 用於取消換行符echo -n "取消換行符"   ##先加取消換行符,下面的內容纔不會換行echo命令在預設中會自動爲參數追加換行符echo -e 處理特殊字符若字符串中出現以下字符,則特別加以處理,而不會將它