码迷,mamicode.com
首页 > 系统相关 > 详细

Shell

时间:2020-05-23 09:35:19      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:home   lse   记录   注意   行修改   tin   表达式   $0   好用   

@(软件测试技术栈)

Linux基础命令

文件类命令

1.磁盘与目录

  • df
  • ls
  • midir
  • cd
    cd /d,进入d盘,不是cd d:,CMD是d:
    cd ~,跳转直自己的home目录
  • pwd
  • $PWD

2.文件编辑

  • vi、vim
    vi 1.txt
    i:insert
    a:append
    ESC:退回命令模式

    w:write
    q:quit
    ! 强制
  • sed

3.文件权限
drwxrwxr-x 2 25172814 25172814 4096 Dec 8 10:38 12
-rw-rw-r-- 1 25172814 25172814 2018 Dec 21 15:04 4.text
第1位:表示文件夹类型,d表示目录 ,-表示文件
第2-4位,所有者权限标识
第5-7位,组用户权限标识
第8-10位,其他用户权限标识
三种身份
当前用户u
当前组用户g
非同组用户o
三种权限
r,读
w,写
x,执行
参考:https://www.cnblogs.com/vivian-test/p/5071488.html

  • ll,查看文件权限
  • chmod,更改文件模式(权限)
    chmod o+w 1.txt,o表示非同组用户,+表示增加权限,w表示写权限,1.txt是文件名
    chmod a-x 1.txt,a表示全部用户,-表示去掉权限
  • chown,更改文件所有者和所属群组
  • chgrp,更改文件所属群组

4.文件搜索

  • find

5.文件内容

  • cat
  • more
  • less
  • grep

6.特殊文件

  • ln,软链,相当于windows的快捷方式
    ln -s 1.txt 3.txt,设置软链后编辑3.txt就等于编辑1.txt
    技术图片

7.文件

  • rm 删除文件和目录
    rm 1.txt
  • cp 复制文件或目录
    cp 1.txt 2.txt,复制1.txt,名称为2.txt,如果2.txt存在直接覆盖
    cp 目录1/11.txt 目录2/22.txt,从目录1复制文件到目录2
  • mv 移除和重命名
    mv 4.txt 5.txt,4.txt从命名为5.txt
    目录1/11.txt 目录2/33.txt,可以写上路径,从目录1移动到目录2

进程类命令

  • ps,进程快照
    ps aux
    ps -ef
  • top,持续交互式

网络类命令

  • netstat
    netstat -tlnp,当前对外开放的端口
    netsta -tnp,当前连接
  • curl

管道

1.输入与输出

  • read,用来读取输入,并赋值给变量
    技术图片
    把123赋值给x
  • ehco,输出变量
  • printf,输出变量
  • >file,将输出重定向到另一个文件,每次都覆盖
    技术图片
  • >>file,将输出追加重定向到另一个文件
    技术图片
  • <file,输入重定向
    技术图片
  • 管道,前一个命令的输出传给后一个命令的输入
    管道会开启一个新的进程,与read组合使用时要注意。

Linux三剑客

gerp,基于正则表达式查找满足条件的行

grep pattern file
pattern:正则表达式
file:没给文件时,会找标准输出
1.grep的参数

  • -i,忽略大小写
  • -v,不显示匹配的行
  • -o,每个匹配内容用独立的行显示
  • -E,使用拓展正则表达式
  • -r,递归搜索文件夹

2.基本正则表达式
使用正则表达式,最好用单引号括住表达式

  • ^开头
    技术图片

  • $结尾

  • [a-z]、[0-9]区间,其中任意一个

  • [^a] 不匹配a

  • *表示0个或多个

  • .表示任意字符

3.拓展正则表达式
使用拓展正则表达式,需要加上-E参数

  • ? 非贪婪匹配
  • +表示一个或多个
  • () 分组
  • {} 范围限定
  • | 匹配多个表达式中的一个

awk,根据定位到的数据行处理其中的分段

语法:awk ‘pattern{action}
掌握字段数据处理
技术图片

  • -F参数,指定字段分隔符,没有指定默认以空格为分隔符
  • $0,代表当前的记录,为避免$符号与引用变量的$混淆,需要使用{}括起来
  • $1,代表第一个字段
  • $N,代表第N个字段
  • $NF,代表最后一个字段
    echo $PWD |awk -F ‘/‘ ‘{print $2}‘
    技术图片
    以/为分隔符,打印第二个字段

sed,根据定位到的数据行修改其中的数据

**掌握修改 **
技术图片

  • s代表搜索
  • /可以是其他符号,一般用/
  • g代表全局搜索修改
  • -e可以使用多个表达式
    echo $PWD |sed -e‘s/1/a/g‘ -e‘s/h/999/‘
    技术图片

Bash语言

变量

1.变量定义

  • = 左右不要有空格
  • 如果内容有空格,需要使?单引号或者双引号
  • 双引号?持转义 $开头的变量会被?动替换

2.变量引用
$

逻辑控制

1.if
? if [ condition ] ; then …;?
? if [ condition ] ; then …;else …;?
? if [ condition ] ; then …;elif …;?
? 简单的逻辑可以使? && || 去替代
? [ -f ?le ] && echo ?le exist || echo ?le not exist
? 条件可以?命令返回值代替

2.for

  • ?于递归数组
    arry=(1 2 3 4);for i in ${arry[@]};do echo $i;done
    技术图片
  • 用于递归以空格隔开的字符串序列
    ss="aa bb cc dd";for x in $ss;do echo $x ;done
    技术图片
  • 用于递归某个命令的返回值
    for x in ls;do echo $x ;done
    技术图片

3.while

  • 设置循环条件
    i=0;while ((i<3));do echo $i;((i=i+1));done
    技术图片

  • ???的读取?件内容
    while read line; do echo $line ; done < 3.txt
    技术图片

4.退出控制

  • return 函数返回
  • exit 脚本进程退出
  • break 退出当前循环
  • continue 跳过当前的循环,进?下?次循环

函数

1.注释
2.传参
? $0 表?执?的程序,是相对于执??录的路径
? $1 ,$2 ,$3 分别表?第?个参数。默认shell只?持9个参 数,使?shift可以传递更多的参数。
? $@,$* 表?所有的参数,不含$0
? ${#}和${#@}表?位置参数的个数
? 通过${
:1:3}, ${*??#} 来表?多个参数。
3.定义函数
技术图片
4.执行函数
5.调试函数 -x

Shell

标签:home   lse   记录   注意   行修改   tin   表达式   $0   好用   

原文地址:https://www.cnblogs.com/Uni-Hoang/p/12941020.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!