在学习Linux和OpenStack过程中,感觉不管是大规模部署部署还是运维,Shell脚本都已经是标配,所以学好脚本很有必要。
以下仅为Linux Shell的一些基础笔记,这里作为笔记记下。
===============linux shell简介======================
1、命令补全:连续按两次Tab
文件或者文件夹补全:一次Tab
命令帮助:--help
2、chmod u=rwx,g+w,o+r filename
chown root.root filename 【-R】递归
拥有S权限后,该用户拥有该文件的root权限
t权限针对文件夹,该文件夹下的文件均会被赋予root权限
chmod 744 filename
umask默认值为022,也就是文件和目录的默认权限是644和755
ln -s filename1 filename2 filename1是源,filename2是快捷方式
3、shell脚本的前两行
#!/bin/bash #调用bash
# #注释,没有意义
运行shell脚本
chmod u+x shell.sh #赋予运行权限
./shell.sh #运行脚本
alias ls=‘ls -l‘ #别名
ls `cat filename` -al #命令替换
nohup command & #后台处理
ls | sort 将ls的输出变为sort的输入
sort <filename filename为输出来源
sort <filename>filename1 将filename输出输入到filename1
此时filename为源,filename1为目的
“” ‘’可以识别空格和特殊字符
; 一行可以运行多条命令
& 表示后台运行
======================= 变量和运算符==================
通过export来设置环境变量,env来查看,全局有效
echo $ORACLE_SID 显示环境变量的值
unset $ORACLE_SID 清除该环境变量的值
======================= shell的输出和输入==================
echo tee | grep < > << >> 0标准输入(默认键盘) 1标准输出(默认屏幕) 2错误输入(默认屏幕)
======================= 控制流结构==================
if 如果条件一为真
then 则执行命令一
elif 如果条件一不为真
then 则执行命令二
else 如果以上皆不匹配,执行命令三
fi 结束
本文出自 “天魂永恒” 博客,请务必保留此出处http://tianhunyongheng.blog.51cto.com/1446947/1668688
原文地址:http://tianhunyongheng.blog.51cto.com/1446947/1668688