大数据学习:shell基础

news2024/11/23 21:30:09

文章目录

      • 一、常用shell命令
        • 任务一:查看`/etc`目录信息前5行信息
        • 任务二:查看`/etc/profile`文件后5行信息
      • 二、grep命令
        • 选项参数
        • 任务一:抓取`/etc`目录下的python信息
        • 任务二:抓取`/etc/profile`文件里的dev信息
        • 任务三:抓取用户数据文件中以us打头的信息
        • 任务四:显示所有以win开头的文件中包含hello的行
      • 三、find命令
        • 选项参数
        • 任务一:按类型查找
          • 任务二:按大小查找
        • 任务三:按权限查找
      • sed命令
        • 参数说明
        • 替换操作(s - substitute)
          • 任务一:将所有行的第一个hello替换成HELLO
          • 任务二:将第2行到第3行的第2个hello替换成HELLO
          • 任务三:将第2行的hello全部替换成HELLO
          • 任务四:将全部的hello替换成HELLO后生成新文件
          • 任务五:将全部的hello替换成hi,要求修改原文件
        • 插入操作(i - insert, a - append)
          • 任务一:在第2行之前插入一行新内容
          • 任务二:在第2行之后插入一行新内容
        • 删除操作(d - delete)
          • 任务一:删除第2行
          • 任务二:删除第2行到第3行
          • 任务三:删除文件所有行
          • 任务四:删除包含指定字符串的行

一、常用shell命令

任务一:查看/etc目录信息前5行信息

  • 命令:ll /etc | head -5
    在这里插入图片描述

任务二:查看/etc/profile文件后5行信息

  • 命令:cat /etc/profile | tail -5
    在这里插入图片描述

二、grep命令

选项参数

参数作用
-c只输出匹配行的计数
-l不区分大 小写(只适用于单字符)
-h查询多文件时不显示文件名
-n显示匹配行及行号
-s不显示不存在或无匹配文本的错误信息
-v显示不包含匹配文本的所有行
\忽略正则表达式中特殊字符的原有含义
[ ]单个字符,如[A]即A符合要求
[-]范围,如[A-Z],即A、B、C一直到Z都符合要求
.所有的单个字符
*任意字符,长度可以为0

任务一:抓取/etc目录下的python信息

  • 命令:ll /etc | grep python

在这里插入图片描述

  • 命令:ll /etc | grep -c python
    在这里插入图片描述

任务二:抓取/etc/profile文件里的dev信息

  • 命令:cat /etc/profile | grep dev
    在这里插入图片描述

任务三:抓取用户数据文件中以us打头的信息

  • 命令:cat /etc/passwd | grep us*
    在这里插入图片描述

任务四:显示所有以win开头的文件中包含hello的行

  • 命令:grep hello win*
    在这里插入图片描述

三、find命令

选项参数

参数作用
-type按类型查找(d - 目录;l - 链接;f - 文件)
-name按名称查找(可使用通配符)
-size按大小查找
-perm按权限查找

任务一:按类型查找

  • 命令:find /etc/sysconfig -type 'd'
    在这里插入图片描述
  • 检查是否查找成功
    在这里插入图片描述
  • 命令:find /etc/sysconfig -type 'l'
    在这里插入图片描述
  • 命令:find /etc/sysconfig -type 'f'
    在这里插入图片描述
任务二:按大小查找
  • 命令:find /etc/sysconfig -size 15c(等于15字节)
    在这里插入图片描述
  • 命令:find /etc/sysconfig -size +10k(大于10240个字节)
    在这里插入图片描述
  • 命令:find /etc/sysconfig -size -20c (小于20个字节)
    在这里插入图片描述

任务三:按权限查找

  • 命令:find /etc/sysconfig -perm '777' (权限字符串:rwxrwxrwx)
    在这里插入图片描述
  • 命令:find /etc/sysconfig -perm '755' (权限字符串:rwxr-xr-x)
    在这里插入图片描述

sed命令

参数说明

参数作用
a新增, a 的后面可以接字串,这些字串会在新的一行出现(当前行的下一行)
c取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
d删除,因为是删除啊,所以 d 后面通常不接任何东西
i插入, i 的后面可以接字串,这些字串会在新的一行出现(当前行的上一行)
p打印,将某个选择的数据打印出,通常 p 会与参数 sed -n 一起运行
s取代,可以直接进行取代工作,通常这个 s 的动作可以搭配正规表示法

替换操作(s - substitute)

任务一:将所有行的第一个hello替换成HELLO
  • 预备工作:创建demo.txt
    在这里插入图片描述
  • 命令:sed "s/hello/HELLO/" demo.txt
    在这里插入图片描述
任务二:将第2行到第3行的第2个hello替换成HELLO
  • 命令:sed "2,3s/hello/HELLO/2" demo.txt
    在这里插入图片描述
任务三:将第2行的hello全部替换成HELLO
  • 命令:sed "2s/hello/HELLO/g" demo.txt
    在这里插入图片描述
任务四:将全部的hello替换成HELLO后生成新文件
  • 命令:sed "s/hello/HELLO/g" demo.txt > demo1.txt
    在这里插入图片描述
任务五:将全部的hello替换成hi,要求修改原文件
  • 执行命令: sed -i "s/hello/hi/g" demo.txt
    在这里插入图片描述

插入操作(i - insert, a - append)

任务一:在第2行之前插入一行新内容
  • 命令:sed "2 i I love Linux" demo.txt
    在这里插入图片描述
任务二:在第2行之后插入一行新内容
  • 命令:sed "2 a Linux is fun and I love it" demo.txt
    在这里插入图片描述

删除操作(d - delete)

任务一:删除第2行
  • 命令:sed '2d' demo.txt
    在这里插入图片描述
任务二:删除第2行到第3行
  • 命令: sed '2,3d' demo.txt
    在这里插入图片描述
任务三:删除文件所有行
  • 命令:sed 'd' demo.txt
    在这里插入图片描述
任务四:删除包含指定字符串的行
  • 命令:sed '/scala/g' demo.txt
    在这里插入图片描述
  • 思考题:删除匹配行时,只是删除内容,行还依然存在,如何能将行也删除掉?
  • 将动作参数最后的/g改为/d即可
  • 命令:sed '/scala/d' demo.txt
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Revit运行很卡?这些招数你学会(废)了吗?

在日常的项目实施过程中,我们经常会感觉到Revit运行越来越慢。当然,和我们经常吐槽的软件本身有一定的关系,除此之外,根据我这些年的经验总结,规避掉以下问题可大幅度缓解Revit卡顿的问题。 01禁用结构分析选项 我们…

一条道简单的算法引发的思考

前言 新一季的 Rick&Morty 已经上线,剧集质量虽然有所下降,但 E03 中的 SheepCounter 挺有意思。自己照着剧中的设定开发了一款界面极其相似、交互更为丰富的小程序,小程序的终极目标只有一个:数羊!数羊&#xff…

大数据Kudu(六):Kudu Java Api操作

文章目录 ​​​​​​Kudu Java Api操作 一、​​​​​​​​​​​​​​添加Maven依赖

zos-open gb28181,rtsp,rtmp,hls直播储存回放,上下级级联

fslib框架 fslib框架是一套可运行于生产环境的支持c/c线程死锁,线程cpu资源统计,死机时自动记录死机所对应的源码位置的调试框架,部分功能支持php语言;fslib框架内置了很多实用库配置库(FsConfig)--支持向上向下兼容的配置模块,同时可以导出与导入json和…

Ajax(三)

1.form表单的基本使用 1.1 什么是表单 表单在网页中主要负责数据采集功能。HTML中的<form>标签&#xff0c;就是用于采集用户输入的信息&#xff0c;并通过<form>标签的提交操作&#xff0c;把采集到的信息提交到服务器端进行处理。 1.2 表单的组成部分 表单标签…

java+MySQL 基于ssm的网上定点餐外卖系统

网上订餐不是一蹴而就的事情,它需要的是线上线下的共同努力。对于线上来说,安全、稳定、功能完善的网站构建必不可少,这是主要的也是最重要的一部分,网站是“脸面”,好的脸面会吸引更多的顾客光顾。而对于线下来说,好的菜品是一个订餐网站的支柱,我们不能仅靠各色各样的图片满足…

mockito的详细使用

目录 1.概述 2.使用 2.1.依赖 2.2.校验 2.2.1.值校验 2.2.2.顺序校验 2.2.3.指定返回 2.3.注解 2.3.1.Mock 2.3.2.Spy 2.3.3.Captor 2.3.4.InjectMocks 1.概述 mock&#xff0c;一种JAVA单元测试技术&#xff0c;mock允许使用模拟对象替换测试中的系统部件&#xf…

【Redis】Redis 分布式锁

文章目录概述Redis 实现分布式锁加锁释放锁死锁概述 在单体项目中&#xff0c;我们处理多线程同时操作某一处代码块或者变量时就使用 Synchronized 或者 Lock 锁去保证数据的安全性&#xff0c;但是&#xff0c;现在我们基本上都是使用微服务&#xff0c;当我们把服务部署到多…

一文说透小程序插件及其作用价值

最近工作接触小程序插件比较多&#xff0c;就想着不如跟大家系统分享一下小程序插件相关的内容。 首先&#xff0c;我们要先弄清楚小程序插件究竟是什么&#xff1f; 简单来说&#xff0c;小程序插件就是可被添加到小程序内直接使用的功能组件。插件依附于主程序的辅助程序&a…

详解c++---string的介绍(上)

这里写目录标题什么是stringstring的构造函数string的赋值重载string的遍历第一种方式 [ ]第二种方式 范围for第三种方式 正向迭代器反向迭代器string中的capacitysize lengthmax_sizecapacityreserveresizeshrink_to_fitstring的element access什么是string 那这里大家就只用…

k8s编程operator实战之云编码平台——③Code-Server Pod访问实现

文章目录1、openresty介绍和安装2、实现code-server的反向代理3、动态反向代理实现启动多个code-server访问k8s编程operator系列&#xff1a;k8s编程operator——(1) client-go基础部分k8s编程operator——(2) client-go中的informerk8s编程operator——(3) 自定义资源CRDk8s编…

【提高代码可读性】—— 手握多个代码优化技巧、细数哪些惊艳一时的策略

回顾 前期 趁着下班前五分钟书写——Vue3通讯(常规写法、语法糖、v-modle、兄弟通讯)_0.活在风浪里的博客-CSDN博客Vue3 组件通讯https://blog.csdn.net/m0_57904695/article/details/128145150?spm1001.2014.3001.5501 目录 一、可选链接运算符【&#xff1f;.】 二、空…

AD20和立创EDA设计(2)提取立创EDA的原理图库和PCB库

&#xff08;1&#xff09;因为AD20需要自己画原理图库和PCB库。所以我建议新手先用立创EDA画好原理图&#xff0c;转换为PCB&#xff08;注意&#xff0c;只需要转换出PCB即可&#xff0c;因为我们需要立创EDA的PCB库。不懂没关系&#xff0c;后面就清楚了&#xff09; &#…

把随身WiFi的esim卡移植到SIM卡放到手机使用

esim移植到实体sim卡&#xff0c;手把手教你esim改实体卡操作 自用先机的棒子&#xff0c;3-5倍虚标&#xff0c;在单位用&#xff0c;网速还行就是信号不好&#xff0c;uz801_v3.0的板子&#xff0c;410单天线&#xff0c;没有改装潜力&#xff0c;发热还大&#xff0c;加了风…

炸裂!速度百倍提升,高性能 Python 编译器 Codon 火了!

众所周知&#xff0c;Python 是一门简单易学、具有强大功能的编程语言&#xff0c;在各种用户使用统计榜单中总是名列前茅。相应地&#xff0c;围绕 Python&#xff0c;研究者开发了各种便捷工具&#xff0c;以更好的服务于这门语言。 编译器充当着高级语言与机器之间的翻译官…

[附源码]Nodejs计算机毕业设计基于Web企业客户管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

数据分析图表-FineReport 图表切换接口

1. 概述 1.1 问题描述 图表往往是按照从左往右或从右往左的顺序来切换。那么如何实现点击图表直接切换到其他不相邻的图表呢&#xff1f;效果如下图所示&#xff1a; 1.2 实现思路 给图表添加 JavaScript 类型的超级链接&#xff0c;调用图表接口FR.Chart.WebUtils.getChart(…

如何选择美股l2接口类型?

如何选择美股l2接口类型&#xff1f; 首先要选择稳定的美股l2接口&#xff0c;因为在进行股票行情分析的时候对于其数据的真实性和准确性都有很高的要求。不靠谱的数据平台容易造成数据传输卡顿&#xff0c;或数据获取不准确的情况&#xff0c;轻则影响企业运作&#xff0c;重…

SpringSecurity[6]-Thymeleaf中Spring Security的使用/退出登录/Spring Security中CSRF

上一篇:SpringSecurity[5]-基于表达式的访问控制/基于注解的访问控制/Remember Me功能实现 链接:SpringSecurity[4]-访问控制url匹配/内置访问控制方法介绍/角色权限判断_豆虫儿的博客-CSDN博客 十一、基于表达式的访问控制 十四、Thymeleaf中Spring Security的使用 Spring…

java计算机毕业设计基于安卓Android的校园财务流水系统APP

项目介绍 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设…