echo $BASH 或 echo $SHELL --查看当前系统使用的shell环境
csh 或 ksh --切换shell环境(要安装才能切换)
chmod o+x xxx.sh --给xxx.sh文件执行的权限
chmod o-x xxx.sh --给xxx.sh文件去掉执行的权限
./xxx.sh --执行shell脚本(脚本目录下执行)
./bin/bash xxx.sh --不需要执行权限执行shell脚本(脚本目录下执行)
ntpdate pool.ntp.org --同步系统时间命令
date +%Y%m%d --打印当天时间
date -s 20180822 --修改系统时间
df -h --查看当前系统的分区情况
env --查看系统变量
!+命令 --表示执行上一次这个命令
---------------
rpm –qa|grep yum --查看安装源是否安装:
rpm –e –nodeps yum --卸载安装源
yum clean all --清理缓存
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz --下载最新的yum-3.2.28.tar.gz并解压
tar xvf yum-3.2.28.tar.gz
touch/etc/ yum.conf
cd yum-3.2.28
yummain.py install yum --运行安装
yum check-update
yum update
yum clean all --更新系统
---------------
yum install httpd httpd-devel mysql mysql-server mysql-devel php php-devel -y --一键安装lamp环境
---------------
/etc/init.d/httpd restart --重启httpd服务
/etc/init.d/mysqld restart --重启mysql服务
/var/www/html/ --Apache发布目录
-------------------
vim index.php --新建一个php测试页
<?php
php.info();
?>
-------------------
Shell编程--变量
-----------------------------------
变量名规范:首字母不能为数字
不能使用-
可以使用_
单引号\'\为强制引用,内部不能使用变量
双引号\"\,内部可以使用变量
常见系统变量
$0 --当前脚本名称
$n --当前脚本的第N个参数n=1,2,3....9
$* 或 $@ --当前脚本的所有参数(不包括程序本身)
$# --当前脚本的参数个数(不包括程序本身)
$? --命令或程序执行完后的状态,一般返回0表示执行成功
$UID --当前用户的ID
$PWD --当前所在的目录
----------------------------------------
逻辑运算符解析:
-f --判断文件是否存在 eg:if [ -f filename ]
-d --判断目录是否存在 eg:if [ -d dir ]
-eq --等于应用于:整型比较 eqaul
-ne --不等于 应用于:整形比较 not equal
-lt --小于应用于:整型比较 letter
-gt --大于应用于:整型比较 greate
-le --小于或等于应用于:整型比较
-ge --大于或等于应用于:整型比较
-a --双方都成立(and)逻辑表达式 -a 逻辑表达式
-o --单方成立(or)逻辑表达式 -o 逻辑表达式
-z --判断空字符串
------------------------------------------
在Linux Shell编程中,if、for、while、case等条件流程控制语句
if (表达式)
语句1
else
语句2
fi
#第一个脚本
#!/bin/bash
# by author Mike
##################
echo "Hello,world!"
#第二个脚本
#!/bin/bash
# by author Mike
##################
echo "================"
echo "Hello,world!"
echo -e "\033[32mHello,world!\033[0m" --输出绿色字
#第三个脚本
#!/bin/bash
# by author Mike
##################
echo "================"
echo -e "\033[32mHello,world!\033[0m" --输出绿色字
mkdir -p /tmp/20180822
#第四个脚本
#!/bin/bash
# by author Mike
##################
echo "================"
echo -e "\033[32mHello,world!\033[0m" --输出绿色字
mkdir -p /tmp/`date +%Y%m%d`
#第五个脚本--安装lamp--apache+mysql+php环境
# by author Mike
##################
echo "================"
echo -e "\033[32m一键安装lamp环境\033[0m" --输出绿色字
yum remove httpd httpd-devel mysql mysql-server mysql-devel php php-devel -y --先卸载原有的
rm -rf /var/lib/mysql/ /etc/my.cnf /var/www/html/
yum install httpd httpd-devel mysql mysql-server mysql-devel php php-devel -y
#第六个脚本--安装lamp--apache+mysql+php环境--变量
# by author Mike
##################
LAMP_SOFT = "httpd httpd-devel mysql mysql-server mysql-devel php php-devel"
echo "================"
echo -e "\033[32m一键安装lamp环境\033[0m" --输出绿色字
yum remove $LAMP_SOFT -y --先卸载原有的
rm -rf /var/lib/mysql/ /etc/my.cnf /var/www/html/
yum install $LAMP_SOFT -y
----------------------------------------------------
#第七个脚本--变量
params.sh
#!/bin/bash
#by Mike
echo -e '\033[32m--------------------\033[0m'
echo "This \$0 is $0 param !"
echo "This \$1 is $1 param !"
echo "This \$2 is $2 param !"
echo -e '\033[32m--------------------\033[0m'
echo "This \$* is $* param !"
echo "This \$# is $# param !"
echo "This \$? is $? param !"
执行结果
/bin/bash params.sh a b c d
--------------------
This \$0 is params.sh param !
This \$1 is a param !
This \$2 is b param !
--------------------
This \$* is a b c d param !
This \$# is 4 param !
This \$? is 0 param !
-----------------------------------------------------
#第七个脚本--if
#!/bin/bash
NUM = $1
if (($NUM > 100));then --(( ))两个小括号表示运算
echo "this num is $NUM greater 10!"
elif [[$NUM == 100]];then --使用[[ ... ]]条件判断结构,能够防止脚本中的许多逻辑错误
echo "this num is $NUM equal 10!"
else
echo "this num is $NUM little 10 !"
fi
-----------------------------------------------------
#第八个脚本--if
#!/bin/bash
#dir exist?
if [ -d /tmp/tmp0808 -a ! -d /tmp/tmp0809/ ];then ----判断tmp0808和tmp0809目录是否存在(! -d)表示不存在
mkdir -p /tmp/tmp0808
else
echo "This DIR is exist,Please exist .."
if
-----------------------------------------------------
#第九个脚本--if判断用户是否输入了参数
#!/bin/bash
NUM = $1
if [ -z $NUM ];then
echo -e "\033[32mYou must to be enter a number.\033[0m"
exit 0
fi
if (($NUM > 100));then --(( ))两个小括号表示运算
echo "this num is $NUM greater 10!"
elif [[$NUM == 100]];then --使用[[ ... ]]条件判断结构,能够防止脚本中的许多逻辑错误
echo "this num is $NUM equal 10!"
else
echo "this num is $NUM little 10 !"
fi