shell基本指令

shell 基本指令

1、常量
	$HOME /home
	$WPD  当前路径
	$USER home
    $SHELL /bin/bash
2、变量
	21、基本变量常识
		= 等号左右两边不可有空格
		export D 设置全局变量
	22、特殊变量
		$n 描述输入脚本参数 其中$0 为脚本本身名字 $1-9 为输入到脚本后的参数
		$# 描述输入脚本参数的个数
		$* 描述输入脚本的所有参数
		$? 描述上一条指令是否执行成功 如果执行成功返回0 如果执行失败则是其他数字
3、运算符
	三种表达方式
		expr + - \* / % 加减乘除 取余
		$(())
		$[]
4、条件判断
	41、基本语法 [ 条件 ]    [] 内条件左右都有空格 条件wield真返回True 条件为假返回False
	42、常用判断条件
		= 字符窜比较
		-lt 小于
		-le 小于等于
		-eq 等于
		-gt 大于
		-ge 大于等于
		-ne 不等于
	42、按照文件权限进行判断
		-r 可读
		-w 可写
		-x 可执行
	44、按照文件类型进行判断
		-f 判断文件是否为一个文件
		-e 判断文件是否存在
		-d 文件存在是否一个目录
	45、多条件判断
		&& 表示前一条命令执行成功才会执行下一条命令      echo "dagljsag" && echo "434343"
		|| 表示前一命令执行失败才会执行下一条命令 echo "dagljsag" && echo "434343"
5、流程控制
	51、基本语法
		if [ $1 -eq 1 ]
		then 
			echo "正确"
		elif [ $1 -eq 2 ]
		then 
			echo "错误"
		fi
	52、case基本语法
		case $1 in
		"1")
			echo "dlajlgjs"
		;;
		"2")
			echo "da;lgjfdjg"
		;;
		esac
	53、for循环
		基本语法
			for (( 初始值;循环控制条件;变量变化 ))
				do
				程序
			done
	54、while [ $1 -eq 1]
		do 
			程序
		done
6、读入数据
	read -p "please" number 表示读取number数据
	read -t 7 -p "please" number 表示等待7s再读取number数据
7、函数
	7.1 basename 截取地址中文件的名字
		basename /home/data/oo.txt  -> oo.txt
		basename /home/data/oo.txt .txt -> oo
	7.2 dirname 截取地址中除了文件的名字
		dirname /home/data/oo.txt  -> /home/data/
	7.3 自定义函数
		[ function ] funname[()]
		{
			action;
			[return int;]
		}
		funname
8、特殊指令
	8.1 cut 切分地址
		cut -d : -f 1    以:切分取第一列
		cut -d " " -f 2  以空格切分取第2列
	8.2 sed 对内容编辑
		基本参数
			-e 在指令列连续进行sed操作
			-a 新增第几行    sed "2a 美女"      在第二行新增 美女
			-d 删除指定内容  sed "/ok/d"        删除ok所在的行
             -s 替换内容      sed  "s/ok/po/g"   将ok全部替换为po  g为全局替换
		
	8.3 awk 文本分析工具
		基本参数
			-F 指定输入文件拆分隔符
			-V 赋值一个自定义变量
		内置变量
			FILENAME 文件名
			NR 条件所在行
			NF 按条件所在行分割的列数
		基本用法
			awk -F : '匹配模式  {指令}' 文件名字
				eg: awk -F : '/^root/ {print $1}' passwd 以:为分隔符,匹配/root/的所有行 并打印第1列
			awk -F : -V i=1  '/^root/ {print $1 +i }' passwd 以:为分隔符,匹配/root/的所有行 并打印第1列并+1
	8.4 sort 
		常用参数
			-n 按照数值大小排序
			-r 降序 (默认为升序)
			-h 按照文件大小排序
			-k 指定从第几列排序
			-t 指定分隔符
			-u 去重
			-m 同时查看多个文件
			-o 排序后的值写入文件(可直接修改文件)
		基本用法
			du -sh /etc/* | sort  -h  -r
			sort -u file.txt
			sort -m file1.txt file2.txt file3.txt
			sort -n file.txt -0 file.txt  排序后的值覆盖的原文件
	8.5 grep 检索文本
		常用参数
            -i		忽略大小写
            -c		统计匹配的行数
            -v		取反,不显示匹配的行-i	
            -w		匹配单词
            -n		显示行号
         基本用法
         	grep -n "root" /etc/passwd 查看/etc/路径下所有带root的路径并显示行号
         	grep "/bin/bash" /etc/passwd | wl -l 统计/etc/passwd路径下所有带有/bin/bash 路径 的文件数量
         	grep -nv "root" /etc/passwd 查看/etc/路径下所有不带root的路径并显示行号
         	grep -ni "root" /etc/passwd 查看/etc/路径下所有不带root的路径并显示行号,忽略大小写






  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值