shell中常用的基础命令

目录

一. diff 

1. 作用

2. 用法

​3. 输出信息

4. 常用参数

​二. patch

1. 简介

2. 安装​

3. 用法

​三. cut

1. 简介

2. 功能

3. 用法

四. sort

1. 简介

2. 用法

五. uniq

1. 简介

2. 用法

 六. tr

1. 大小写转换

2. 删除字符

3. 压缩字符

4. tr可以使用的字符类

七. test

1. test数字对比

​  2. test的条件关系

3. test对空的判定

4. test对于文件的判定

八. &&  ||


一. diff 

1. 作用

      Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。


 
 

2. 用法


diff [options] files|directorys


3. 输出信息

[num1,num2][a|c|d][num3,num4]
num1,num2        ##第一个文件中的行
a                ##添加
c                ##更改
d                ##删除
<                ##第一个文件中的内容
>                ##第二个文件中的内容
num3,num4        ##第二个文件中的行

4. 常用参数

 

-b  ##忽略空格
-B  ##忽略空行
-i  ##忽略大小写
-c  ##显示文件所有内容并标示不同
-r  ##对比目录
-u  ##合并输出


 


二. patch

1. 简介

       patch命令被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。

2. 安装

3. 用法

patch  原文件 布丁文件
-b  ##备份原文件


三. cut

1. 简介

 cut命令用来显示行中的指定部分,删除文件中指定字段。

2. 功能

一是用来显示文件的内容,它依次读取由参数file所指 明的文件,将它们的内容输出到标准输出上。
二是连接两个或多个文件,将几个内容合并起来,然后通过输出重定向符“>”的作用,将它们放入一个文件中。

3. 用法

cut 
-d :        ##指定:为分隔符
-f           ##指定显示的列    5第五列   |   3,5 3和5列  |  3-5 3到5列   |   5- 第五列以后   |   -5 到第五列
-c          ##指定截取的字符(数字用法同-f)
 
学员命令测试:
ifconfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示

四. sort

1. 简介

sort命令,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。

2. 用法

-n##纯数字排序
-r##倒叙
-u##去掉重复
-o##输出到指定文件
-t##指定分隔符
-k##指定排序的列
 
练习:
ls -l 目录 可以显示目录中所有文件案的属性
清按照文件大小进行排序并找出最大的2个文件并显示其名称

五. uniq

1. 简介

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。

2. 用法


-c#合并重复并统计重复个数
-d#显示重复的行
-n#显示唯一的行
 

 
六. tr

1. 大小写转换


tr 'a-z' 'A-Z'         ##小写转大写
tr  'A-Z' 'a-z'        ##大写转小写

2. 删除字符

3. 压缩字符

4. tr可以使用的字符类

[:alnum:]:字母和数字
[:alpha:]:字母
[:cntrl:]:控制(非打印)字符
[:digit:]:数字
[:graph:]:图形字符
[:lower:]:小写字母
[:print:]:可打印字符
[:punct:]:标点符号
[:space:]:空白字符
[:upper:]:大写字母
[:xdigit:]:十六进制字符
 
## 使用方式
tr '[:upper:]' '[:digit:]'

七. test


test = []             ##[] 就相当于test命令
"test $a = $b" = [ "$a" = "$b" ]
 

1. test数字对比
 

=
!=
-eq   ##等于
-ne   ##不等于
-le   ##小于等于
-lt   ##小于
-ge   ##大于等于
-gt   ##大于


 
 
2. test的条件关系


-a##并且
-o##或者
 

3. test对空的判定


-n   ##nozero 判定内容不为空
-z   ##zero判定内容为空
 

4. test对于文件的判定

-ef   ##文件节点号是否一致(硬链)
-nt   ##文件1是不是比文件2新
-ot   ##文件1是不是比文件2老
-d    ##目录
-S    ##套结字
-L    ##软连接
-e    ##存在
-f    ##普通文件
-b    ##快设备
-c    ##字符设备


 
学员检测
编写脚本完成以下条件
file_check.sh 在执行时
如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错“此文件不存在”
当文件存在时请检测文件类型并显示到输出中

 #!/bin/bash
 [ -z $1 ] && {
         echo "未指定检测文件,请指定"
 } || {
         [ ! -e $1 ] && {
                 echo "此文件不存在,请重新输入文件"
         } || {
                 [ -d $1 ] && {
                         echo "目录"
                 } || {
                         [ -S $1 ] && {
                                 echo "套接字"
                       } || {
                                 [ -c $1 ] && {
                                         echo "字符设备"
                                 } || {
                                         [ -b $1 ] && {
                                                 echo "块设备"
                                         } || {
                                                 [ -L $1 ] && {
                                                         echo "软连接"
                                                 } || {
                                                         [ -f $1 ] && {
                                                                 echo "普通文件"
                                                         } || {
                                                                 echo "未知文件类型"
                                                         }
                                                 }
                                         }
                                 }
                         }
                 }
         }
 }

 

八. &&  ||


&&符合条件作动作
||不符合条件作动作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值