linux常用命令

shell脚本常用命令

awk

awk 选项 '模式或条件 {操作}' 文件 1 文件 2 ...

常用的内部变量:

NF: 字段个数

NR: 当前的行号

复制代码
awk 'NR==1,NR==3 {print $1}' demo.txt # 输出一到三行
awk '(NR==1)&&(NR==3) {print $1}' demo.txt # 输出第一行和第三行
awk 'BEGIN {x=0};/^hello/{x++};END {print x}' demo.txt # 统计以hello开头的行数	

第三个是比较完整的用法。有BEGIN,有限制条件,有循环体,有END。

shell脚本数组@和*的区别

复制代码
"${数组变量[*]}": 加上双引号,bash会当成是一串字符串处理
${数组变量[*]}: 不加上双引号,bash会当成是数组处理
${数组变量[@]:加不加双引号bash都是当成数组处理

sort和uniq

sort是对输出内容进行排序,uniq是对输出内容的相邻行进行去重。

复制代码
sort -u demo.txt # 对demo.txt排序去重

uniq -c demo.txt # 对相邻行进行去重计数
uniq -d demo.txt # 显示相邻行重复的结果

xargs

将结果作为参数进行执行

复制代码
find -name '*.log' -print0 | xargs -0 rm  # 找到.log结尾的文件,拼接\0,执行的时候按\0进行分隔,然后删除文件
相关推荐
云和数据.ChenGuang9 分钟前
运维故障之MySQL 连接授权错误
运维·数据库·人工智能·mysql
~黄夫人~10 分钟前
Kubernetes Pod 初始化容器(InitContainer)起不来的排错思路
linux·运维·服务器
运维有小邓@26 分钟前
如何在 Linux 中查看系统日志消息
linux·运维·服务器
TroubleBoy丶27 分钟前
麒麟V10-ARM架构Docker启动报错
运维·docker·容器·arm·麒麟v10
Allen-Steven30 分钟前
群辉NAS 部署小雅 SSH指令版
运维·ssh
PyHaVolask1 小时前
Linux零基础入门:文件系统结构与文件管理命令详解
运维·文件管理·linux命令·linux文件系统·目录结构·fhs
m0_738120721 小时前
渗透测试——y0usef靶机渗透提权详细过程(插件伪造请求头)
服务器·网络·web安全·ssh·php
gaize12131 小时前
阿里云服务器用途配置选购指南与最新价格表
服务器·阿里云·云计算
天边一坨浮云1 小时前
Ubuntu(PC)遇到的各种问题-EXT4-fs(vdb): VFS: Can‘t find ext4 filesystem
linux·ubuntu
企业对冲系统官1 小时前
期货与期权一体化平台风险收益评估方法与模型实现
运维·服务器·开发语言·数据库·python·自动化