Shell速成:快速提升你的Linux命令行技能

1 diff 对比文件不同

bash 复制代码
diff file1 file2 # 区分两个文件不同的地方
bash 复制代码
[num1,num2][a|c|d][num3,num4]
num1,num2 ##第一个文件中的行
a ##添加
c ##更改
d ##删除
< ##第一个文件中的内容
> ##第二个文件中的内容
num3,num4 ##第二个文件中的行

-b忽略空格

-B忽略空行

-i 忽略大小写

-c 显示文件所有内容并标示不同

-r 对比目录

-u合并输出

2 patch 打补丁

2.1 patch 原文件 补丁文件

2.1 -b 备份原文件

3 cut 截取

3.1 -d 指定:为分隔符

-f 指定显示的列

3.2 -c 指定截取的字符(数字用法同-f)

4 sort

4.1 -n ##纯数字排序

4.2 -r ##倒叙

4.3 -u ##去掉重复

4.4 -o ##输出到指定文件

4.5 -t ##指定分隔符

4.6 -k ##指定排序的列

5 uniq

5.1 -c #合并重复并统计重复个数

5.2 -d #显示重复的行

5.3 -u #显示唯一的行

6 tr

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

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

7 test

bash 复制代码
test = [] ##[] 就相当于test命令
"test $a = $b" = [ "$a" = "$b" ]

7.1 test数字对比

bash 复制代码
=
!=
-eq ##等于
-ne ##不等于
-le ##小于等于
-lt ##小于
-ge ##大于等于
-gt ##大于

7.2 test的条件关系

bash 复制代码
-a ##并且
-o ##或者

7.3 test对空的判定

bash 复制代码
-n ##nozero 判定内容不为空
-z ##zero 判定内容为空

7.4 test对于文件的判定

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

8 && ||

bash 复制代码
&& # 符合条件作动作
bash 复制代码
|| # 不符合条件作动作

9 shell脚本

9.1 显示网卡ip

bash 复制代码
ifconfig ens160 | head -n 2 | tail -n 1 | cut -d " " -f 10

9.2 显示登录系统UID最大的用户

bash 复制代码
cat /etc/passwd | grep "/home" | sort -n -t : -k 3 | cut -d : -f 1 | tail -n 1

9.3 判断用户类型

user_check.sh 用户

用户类型为

super user

system user

common user

相关推荐
Olrookie2 分钟前
MySQL运维常用SQL
运维·数据库·sql·mysql·dba
hweiyu0027 分钟前
Linux运维实战:云原生设计与实施Docker&K8S(视频教程)
linux·运维·云原生
blackorbird29 分钟前
使用 Overpass Turbo 查找监控摄像头
运维·服务器·数据库·windows
海棠蚀omo40 分钟前
Linux操作系统-命令行参数及环境变量
linux·操作系统
小白不想白a1 小时前
【shell】每日shell练习(系统用户安全审计/系统日志错误分析)
linux·运维·云原生
码猫Mrr1 小时前
创维E900V22D刷入armbian hdmi开机花屏和网络无法使用 解决方式【亲测】
linux·armbian·e900v22d
SelectDB技术团队1 小时前
Apache Doris 与 ClickHouse:运维与开源闭源对比
运维·clickhouse·apache
YongCheng_Liang1 小时前
Oracle数据库基本命令的8个模块
运维·数据库·oracle
Cx330❀1 小时前
《Linux基础入门指令(二)》:从零开始理解Linux系统
linux·运维·服务器·网络·经验分享
武文斌772 小时前
项目学习总结:CAN总线、摄像头、STM32概述
linux·arm开发·stm32·单片机·嵌入式硬件·学习·c#