shell 的一些常见操作命令
shell 就是在操作系统和应用程序之间的一个命令翻译工具
常用命令
head:默认获取文件前10 行
tail:默认获取文件后 10 行,如:tail n,n为任何数字
cut:取出文本指定 的列,默认以空格或者tab 键进行分割(不支持不规则的空格),选项:
-d :指定分隔符
-f :指定获取的列号
uniq:去除重复的内容,需先排序,不然只能去除连续重复的内容,选项:
-d : 仅打印有重复的元素(duplicate)
-c : 打印元素重复的个数
sort :对文本的内容进行排序,默认以字符的ASCII 数值从小到大排序,选项:
-n:以数值大小排序
-r :倒序
-t :指定分隔符,默认为空格
-knum :指定以某个字段来排序
wc (word count):计算 文本数量,选项:
wc - l :打印行数
wc -w:打印单词数
wc -L:打印最长行的字节数
变量
定义变量,默认为本地变量
变量名 = 变量值
变量值必现是一个整体,中间没有特殊字符
等号两侧不能有空格
方式一:变量名=‘变量值’,使用单引号,内容直译,不会传递变量
方式二:变量名=“变量值”,使用双引号,可传递变量
方式三:变量名=$(linux命令)
全局变量,只在当前终端全局,若在所有终端全局可在bashrc文件中定义全局变量
通过命令查看环境变量(只显示全局变量)
env
定义全局变量
方法一:1、变量=值 2、 export 变量
方法二:export 变量=值
查看变量
方式一:echo $变量名
方式二:echo “ $变量名 ”
内置变量
$0:获取当前执行的shell 脚本文件名,包括脚本路径
$n:获取当前执行的shell 脚本的第n个参数值,n =1...9,如果n 大于9 就要用大括号括起来:${ 10 }
$#:获取当前执行的shell 脚本中的参数总 个数
$*:获取当前执行的shell 脚本中参数的总数
$?:获取执行上一个指令执行结果的返回值(0为成功,非0为失败)
数值运算
支持的运算:+、-、*、/、%、<、>、<=、>=、=、!=
方式一:$((算数表达式)),变量可以不加$,如:echo $(1+1)、echo $($a+$b) = echo $(a+b)
方式二:expr 算术表达式,如:echo “$(expr 20+2)”
条件表达式
返回值:条件成立,返回0;条件不成立,返回1
逻辑表达式:&& 和 ||
文件表达式:
-f:判断输入内容是否是一个文件
-d:判断输入内容是否是一个目录
-x:判断输入内容是否可执行
-e:判断文件是否存在
数值操作符
n1 -eq n2 相等
n1 -gt n2 大于
n1 -lt n2 小于
n1 -ne n2 不等于
字符串比较
str 1 == str 2 :str 1和str 2 字符串内容一致
str 1 != str 2:str 1 和 str 2 字符串内容不一致

浙公网安备 33010602011771号