1、
DIR="$( cd "$(dirname "$0")" ; pwd -P )"
$0 类似于python中的sys.argv[0]等。 $0指的是Shell本身的文件名。类似的有如果运行脚本的时候带参数,那么$1 就是第一个参数,依此类推。
dirname 用于取指定路径所在的目录 ,如 dirname /home/ikidou 结果为 /home。
$ 返回该命令的结果
pwd -P 如果目录是链接时,格式:pwd -P 显示出实际路径,而非使用连接(link)路径。
2、
Linux export命令用于设置或显示环境变量。
在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。
语法
export [-fnp][变量名称]=[变量设置值]
参数说明:
- -f 代表[变量名称]中为函数名称。
- -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
- -p 列出所有的shell赋予程序的环境变量。
# export -p //列出当前的环境变量值
# export MYENV //定义环境变量
# export -p //列出当前的环境变量
# export MYENV=7 //定义环境变量并赋值
# export -p
3、pwd -P
目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
命令:
pwd -P
输出:
复制代码
代码如下:
[root@localhost soft]# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
4、'date -d "-10 minute" "+%Y%m%d%H%M%S"'
之前的第十分钟
5、'dirname $0' 得到当前输入参数的父级路径
6、&&
如果第一条语句顺利执行,就执行后面的,前面有变量=就是将后面执行的结果赋值给新变量
7、$0指sheel本身文件名
$1就是第一个参数
$$代表脚本运行的进程ID
$LINENO 脚本当前行号
$[] 数学运算
${} 变量替换
8、basename 去除目录后剩下的名字
9、grep -v 反向查找,显示不包含文本的所有行 egrep = grep -e 扩展选项为正则表达式
10、sh -x 显示脚本执行过程 wc -l显示行数
11、ping -c | w 100 XXX
-c表示次数 -w为deadline 100秒超时
12、exit(0) 正常运行程序并推出程序
exit(1) 非正常运行程序并退出程序
13、 netstat -tunlp
-a显示所有 -n不用别名显示,只用数字显示 -p显示进程号和进程名
14、 awk -F : 意思是用:作为分隔符
15、sort -n file |unip 这个是去重文件中的重复行
16、tail -f 实时查看日志文件 tail -f 日志文件log
tail - 100 file 实时查看日志文件 后一百行
tail -f -n 100 catalina.out linux查看日志后100行
17、shfit + 6 到句首 shfit + 4 到句尾 shfit + 3 找上一个相同的
18、 du -sh * 查看当前目录磁盘信息 df -h 查看磁盘信息
19、 1. grep -A 1 keyword filename
找出filename中带有keyword的行,输出中除显示该行外,还显示之后的一行(After 1)
2. grep -B 1 keyword filename
找出filename中带有keyword的行,输出中除显示该行外,还显示之前的一行(Before 1)
3. grep -1 keyword filename
找出filename中带有keyword的行,输出中除显示该行外,还显示之前的一行(After 1)和显示之后的一行(After 1)
20、shell中 '>' 为创建: echo “hello shell” > out.txt
'>>' 为追加:echo “hello shell” >> out.txt
当out.txt 文本不存在时,'>'与‘>>’都会默认创建out.txt文本,并将hello shell 字符串保存到out.txt中
当out.txt文本存在时,‘>’会将out.txt文本中的内容清空,并将hello shell 字符串存入,而‘>>’会将 hello shell追加保存到out.txt的末尾