bash编程学习
mkdir -p
cd ~
ls -a
tail -f /var/log/httpd/access
grep -i
-E 同时过滤多个字符
alias 别名
which 查看文件所在路径。
tree -L 查看文件目录
seq -s 打印数字序列echo {1,5}
whoami
w 当前登录的用户
sudo 让普通用户可以有root权限
lsof -i:port 列表打开的文件(初级)
chkconfig
netstat
chattr 改变文件属性
;多个命令的分隔
2>标准错误输出
shell
shell 是命令器
shell 脚本
清空文件可以用
cat /dev/null > messages
vim qk.sh
#!/bin/bash
cd /var/log
cat /dev/null > messages
dmesg/var/log/messages是系统故障工具
shell在工作中上的地位和作用
shell 处理纯文体的东西
常用shell
cat /etc/shells
echo $SHELL
shell 语法
#!/bin/bash
如果不指定就会看系统哪个脚本用哪个。
bash --version
echo $USER(系统环境变量)
shell 脚本执行
1、bash script-name
2、path/script
3、source script 或 .script name
source 和 . 可以把变量和函数带入到shell中
shell 脚本行为习惯
# date
# author
# version
ps:[ a ] 两边要有空格
shell变量基础及深入
变量类型
环境变量(全局)
/etc/bashrc;/etc/profile;/etc/profile.d(crond任务要注意),以后要用export 来输出
环境变量设置的常用文件与区别
/etc/profile.d/ 登录之后生效
查看环境变量: env
export 变量名=value
export OLDBOY=37
export //环境变量生效
想永远生效
/etc/profile下所有用户生效,全局变量
局部变量
定义
取消环境变量
unset 变量名
显示环境变量
echo $HOME
printf
引号总结,变量定义数据不加“”,其他默认加“”
双引,
把双引号内容输出:如果内容中有命令(要反引下)、变量、特殊转义符,会先把变量、命令、转义符解析出结果。
无双引号
不可以用空格
ex:
echo ‘today is date‘
echo ‘today is `date`‘
echo "today is ‘date‘""
echo "$(date)"
echo $(date +%F).tar.gz
tar cvf "etc.$(date +%F).tar.gz" /etc
ls -l `which cat`