1.shell脚本开头使用#!/bin/bash或者#!/bin/sh来定义使用哪种sh解释器来解释脚本
sh跟bash的区别实际上就是有没有开启posix模式
sh打开了bash的posix标准模式意味着当代码出错时,不继续往下解释
#!/bin/bash –posix =
#!/bin/sh
2.~/.bash_profile 只能在登录的时候启动一次
~/.bashrc
每次登录都会启动
其中~在linux下面代表的是HOME这个变量
3.单独的一个点,代表source命令
. filename = source
filename
/前面的点,就是代表当前目录
4.export命令用于设置或显示环境变量,效力仅及于该次登录操作
export查看当前的所有环境变量
export [变量名称]=[变量设置值] 在某个环境变量中加入新的路径
该命令的语法如下
export [-fnp] [变量名称]=[变量设置值]
其中:-f 代表[变量名称]中为函数名称
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
5.倒引号。 命令替换。在倒引号内部的shell命令首先被执行,其结果输出代替用倒引号括起来的文本,不过特殊字符会被shell解释
生产中数据库的使用小技巧
DROP table, truncate table,delete 等在create,insert之前一定要先执行,有助于系统崩溃后重新启动
Getopts :d:t args;do
Case ${args} in
d)
dataData=${OPTARG}
;;
t)
thread=${OPTARG}
;;
?)
USAGE
;;
Linux命令行
基本操作命令
rmove 删除文件夹目录
rm -r 删除目录选项
rm -f 文件名 删除忽略所有提示
cp -r 文件名 目标位置 复制目标文件到目标位置
cat -n 文件名 打印文件内容加行号,去掉-n没有行号
more 文件名 分页打印文件内容 f向下翻页 b向上翻页
less 文件名 分页打印文件内容 ?string向上查找匹配string字符串
/string 向下查找匹配string字符串
head -n 文件名 打印文件前n行
tail -n 文件名 打印文件后n行
-f 文件名 动态刷新文件的最后一行,
注:动态刷新常用于动态查看日志文件
ln -s 文件1名 文件2名
为文件1创建软链接
ln
文件1名 文件2名 为文件1创建硬链接
进程命令
ps -a 查看所有进程
-e 查看所有进程
-l 显示长信息
-u 以用户为主的格式来显示程序状况
-x 显示所有程序,不以终端机来区分
权限命令
权限表示 rwx
rwx rwx
八进制表示 111 111 111
对象 所属用户 组用户 其他用户
文件 目录
r 可读 可浏览
w 可写 可执行
x 可执行 可进入
umask -S 查看或修改系统文件创建默认权限掩码
u=rwx
g=rwx o=rx
chmod
xxx 文件名 修改文件权限
打包命令
gzip
abc.txt 对文件进行gzip格式压缩打包
gunzip
abc.txt.gz 对文件进行gzip格式解压缩
bzip2
abc.txt 对文件进行bzip2格式压缩打包
bunzip2
abc.txt.bz2 对文件进行bzip2格式解压缩
查找匹配命令
grep
-i 忽略大小写的差别
-o 只输出文件中匹配到的部分
-r
递归对目录进行查找匹配
[ ] 匹配括号中的任意字符
Eg: echo “test and
bank home”|grep ‘[abc]’ 匹配abc三个字符中任意一个字符
echo “test and bank home”|grep
‘[^abc]’ 匹配非abc三个字符中任意一个字符
[^ ] 匹配非括号内的任意字符
^string 匹配的字符串在行首
string$
匹配的字符串在行尾
string. 匹配任意一个字符
string* 匹配任意无穷个字符
{} 匹配指定字符制定次数
Eg: echo “iiiii am a boy”|grep “i{1,2}” 匹配i字符出现一到两次