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 字符串内容不一致

  

 

    

 

 

 

 

 

 

  

 

posted @ 2023-07-03 17:25  哩子吖  阅读(71)  评论(0)    收藏  举报