学习脚本几天了,总结下linux debian下脚本常用命令。
Linux
1.添加删除账户 useradd / userdel
2.修改“张三”密码 passwd 张三 或者 echo "user:password"|chpasswd
3.查找 grep {-r 路径} {文件} “ 查找内容” 或者 grep -Rrni “内容” 查找当前目录下所有文件内是否有“内容”。
4.pwd 输出当前路径
5.tail -n 行数 显示文件最后n行
6.time time ./XXX.sh 查看脚本运行时间
7.cut {-d '按该字符分割'} {-f 2-5 针对分割后的区域,选2-5区域} {-c 1-8 切割前1-8位} eg: 8位随机密码 $RANDOM|md5sum|cut -c 1-8
8.shift 针对 函数或者脚本输入参数的前进一步
9.test -eq == -ne != -gt > -lt < -le <= -ge >= -e 文件存在 -f文件 -d目录
多与if test ... 或者 test ... $?(上条语句是否成功执行)
10. if [ ];then if test -f ./XX.txt ;then
表达式a 表达式a
else elif [] ;then
表达式b 表达式b
fi else
表达式c
fi
11. while read line
do
echo $line
done
12.for i in `seq 1-5`
do
echo $i
done
13. eg: mybash.sh -a -b 1 -c1 (挨着)
while getopts ab:c::
do
case $ARGV in
a)
echo "a" ;;
b)
bb=$OPTARG echo $bb ;;
c)
cc=$OPTARG echo $cc ;;
*) exit 1;;
esac
done
14.echo -n 无回车输出 -e 支持"\n\t..."
15. . + 库文件 (引用库)
16. 打包 tar zcvf 文件名 目录 eg: tar zcvf /root/etc/etc.tar.gz /etc >>file 2>>file 解包 tar zxvf 文件 目录
17. 算数运算 $((&i + 1)) equals i++ 或者 expr $i \+1
18. fun(){
echo $1 $2
}
fun 1 2
#函数调用
19. cat <<EOF
1.aaa
2.bbb
EOF
#打印菜单
20. [[ 字符串比较 等于 = 大于> 小于 < ]]
[ 整数判断 -eq -nq -f -d ....]&& YES || NO
21. i=1
echo "string${i}" 输出 string1
seq 3 输出
1
2
3
反引号 echo `seq 3` 和 echo $(seq 3) 输出 1 2 3
22. seq -s "=" 3 输出 1=2=3 seq -w 10 输出 01 \n 02 ....10
23. $PATH路径 $UID 用户id $#输入参数个数 $?上条指令是否执行正确 $1 第一个参数 $RANDOM 随机数
24. 流重定向 cat 1.txt >/dev/null 2>&1(2同1) 0标准输入 1标准输出 2错误输出
25.raad -p "输入:" var 读输入到参数var
26.su root root 用户 logout 退出root su user user用户
27.fg 回到挂起程序 一般同 ctrl +z(暂停) 合用 bg 挂起程序继续执行
28.=~ 跟正则表达式
29.vim 配置文件 vim ~/.vimrc 输入 set nu (显示行号) syntax on (语法高亮)
30.添加path路径 1》 vim /etc/profile 2》追加 expot PATH="mypath:$PATH" 3》 source /etc/profile
31.设置预言 LANG=en 改英文
32. dos2unix myfile windos file to unix file
33. diff file1 file2 比表file1 file2 还有 vimdiff
34.>> 追加文件 > 流入 <流出 | 管道
35. basename 文件名 dirname 目录
36. 命令语句可能出错 可以加 || exit 2
37. touch + 文件 创建文件
38. awk -F '分割字符' '{printf $1 $2}' awk -F ['识别多个字符分割'] 'BEGIN{printf} {} END{}'
39.find 目录 操作 -type f文件 d目录 c字符设备 -mtime 修改时间 +1一天前 -1 一天内 -name "名字 *.sh " -size 文件大小
eg:删除当前目录7天前sh文件 find ./ -type f -name "*.sh" -mtime +7 |xargs rm
40.xargs 针对不支持管道的命令
41. rm -rf 强制递归删除
42. alias 自定义指令 永久添加 vim /root/.bashrc vim /user/.bashrc 添加 rm -i mv -i cp -i ls -a ls -al
43. kill -9 强杀进程
44. sort uniq
45. curl -I www.baidu.com 服务器头信息 curl -s ip.cn?ip=201.37.45.107 查询ip地址
未完待续。。。
参考网址:
http://edu.51cto.com/course/course_id-6068.html