shell中常用的基础命令

本文深入讲解了Linux系统中八个核心命令的使用技巧,包括diff、patch、cut、sort、uniq、tr、test以及&&和||操作符。通过详细的参数解释和实例演示,帮助读者掌握这些命令的高效应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.diff

  • 用法:diff [options] files|directorys
  • 输出信息:
  • [num1,num2][a|c|d][num3,num4]
参数作用
num1,num2第一个文件中的行
a添加
c更改
d删除
<第一个文件中的内容
>第二个文件中的内容
num3,num4第二个文件中的行

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

2.patch

  • 安装patchyum install -y patch.x86_64
  • patch 原文件 布丁文件
    在这里插入图片描述
  • -b 备份原文件(使原文件保留下来,不加的话,原文件就没了)
  • 在这里插入图片描述

3.cut

cut

参数作用
-d指定:为分隔符
-f指定显示的列
-c指定截取的字符(数字用法同-f)
-f和-c的用法
5第五列
3,53和5列
3-53到5列
5-第五列以后
-5到第五列
cut -d : -f 1 passwd##以冒号为分隔符,指定查看第一列
cut -d : -f 1,5 passwdd##以冒号为分隔符,指定查看第1和5列
cut -d : -f 1-5 passwdd##以冒号为分隔符,指定查看第1到5列
cut -d : -f -5 passwd##以冒号为分隔符,指定查看第5列之前
cut -d : -f 2- passwd##以冒号为分隔符,指定查看第2列之后

cut -c -5 passwd##查看按字符,前5列
cut -c 2-5  passwd##查看按字符,第2-5列

在这里插入图片描述
在这里插入图片描述

  • 命令测试:ifconfig 网卡
  • 可以显示此网卡的信息,显示信息中包含此网卡使用的ip地址
  • 请用命令过滤此ip并在输出时只显示ip,其他信息不显示
  • ifconfig ens33 | cut -c 14-25 | head -n 2|tail -n 1 在这里插入图片描述
    有很多种实现方法在这里插入图片描述
    在这里插入图片描述

4.sort

参数作用
-n纯数字排序
-r倒序
-u去掉重复
-o输出到指定文件
-t指定分隔符
-k指定排序的列
sort -n file##纯数字排序
sort -nu file##倒序
sort -rnu file##倒序并且去掉重复
sort -rnu file -o file1 ##将排好序的输出到一个文件file1
sort -t : -k 2 file ##以冒号为分隔符,对第二列进行排序
sort -t : -k 2 file -nu##以冒号为分隔符,对第二列进行排序,并且去掉重复

在这里插入图片描述

  • 练习:
  • ls -l 目录 可以显示目录中所有文件案的属性
  • 按照文件大小进行排序并找出最大的2个文件并显示其名称
    在这里插入图片描述
    在这里插入图片描述

5.uniq

参数作用
-c合并重复并统计重复个数
-d显示重复的行
-u显示唯一的行

在这里插入图片描述

6.tr

  • 其他用法可以参见 tr --help
tr 'a-z' 'A-Z' ##小写转大写
tr 'A-Z' 'a-z' ##大写转小写

在这里插入图片描述

7.test

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

在这里插入图片描述

  • test数字对比
=等于
!=不等于
-eq等于
-ne不等于
-le小于
-lt小于
-ge大于
-gt大于

在这里插入图片描述

  • test的条件关系
-a并且
-o或者

在这里插入图片描述

  • test对空的判定
-n (nozero)判定内容不为空
-z (zero)判定内容为空

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 小检测:

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.&& 和 ||

  • && 符合条件作动作
  • || 不符合条件作动作
ping -c1 -w1 192.168.1.15 &> /dev/null && echo yes || echo no##能ping通的话显示yes,ping不通的话显示no

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值