Linux云计算训练营笔记day05(Rocky Linux中的命令:管道操作 |、wc、find、vim)

news2025/5/11 7:52:55

管道操作 |
作用: 将前面命令的输出,传递给后面命令,作为后面命令的参数

head -3 /etc/passwd | tail -1  取第三行
head -8 /etc/passwd | tail -3 | cat -n  取6 7 8行
ifconfig | head -2 | tail -1  只查看IP地址
ifconfig | grep 192  过滤192的ip地址

wc是一个统计工具,可以统计文件中的行数,单词数,字符数,字节数,以及最长行的长度,分析日志文件
wc 选项  文件 
echo hello world > a.txt  把hello world写入a.txt中
echo hello >> a.txt      把hello追加到a.txt中
选项:
-w 单词数  wc -w a.txt    3个单词
-l 文件的行数 wc -l a.txt  2行
             cat /etc/passwd | wc -l 45行
             ls  /opt | wc -l 2行
             ls | wc -l 查看当前的文件或者目录有多少个
-m 字符数 wc -m a.txt  18个字符  单词15个 空格算1个 换行\n算1个,一共有2个
在a.txt中输入一个中文字符,-c 字节数 wc -c a.txt  一个汉字是三个字节
   UTF-8 编码 通常使用 3 个字节来表示
   GBK 通常使用 2 个字节来表示
L 最长行的长度   wc -L a.txt  11个(hello world)不涉及换行

Linux中大多数的配置文件都是以#开头,这个叫注释
显示配置文件有效信息(去除注释 以#开头, 去除空行 ^$ )
grep -v ^# /etc/login.defs | grep -v ^$  | cat -n > a.txt

把/root/.bashrc配置文件中的有效信息保存到gongli.txt中
grep -v ^# /root/.bashrc | grep -v ^$ > gongli.txt

练习:
1)创建目录 /study/nsd01
  mkdir -p  /study/nsd01
2)在 /study/nsd01 创建文件abc.txt,利用echo 写入内容 abc.tedu.cn
  echo  abc.tedu.cn > abc.txt
3)将/study/nsd01/abc.txt 文件复制到/opt目录下,同时改名为test.txt
  cp /study/nsd01/abc.txt  /opt/test.txt
4)使用vim修改文件/etc/hostname,删除原来内容,写入www.sina.com
  echo  www.sina.com > /etc/hostname
5)将/etc/passwd,/etc/hostname,/etc/hosts同时拷贝到/study/nsd01 
  cp /etc/passwd /etc/hostname /etc/hosts /study/nsd01 
6)将文件/study/nsd01/hostname 重命名为host.txt
  mv /study/nsd01/hostname  /study/nsd01/host.txt
7)把目录/boot内容中以vm开头的数据复制到/root/vm目录下(自己创建vm目录)
  mkdir /root/vm
  cp /boot/vm* /root/vm
8)将/home 目录复制到/root/vm目录下
  cp -r  /home  /root/vm
9)创建/root/boothome与/root/usrsbin目录
  mkdir  /root/boothome  /root/usrsbin
10)打包/boot和/home这两个文件夹,压缩包名字为boothome.tar.gz 
   tar -czf  boothome.tar.gz  /boot  /home
11)打包/usr/sbin目录,压缩包名字为usrsbin.tar.bz2 
   tar -cjf usrsbin.tar.bz2 /usr/sbin
12)解压boothome.tar.gz到/study/nsd01
   tar -xf  boothome.tar.gz  -C /study/nsd01

find 精确查找
find  目录  条件
条件
-type  类型 (f 文件  d目录 l快捷方式)
    find  /boot  -type d
     
    touch  /opt/a.txt
    touch  /opt/b.txt
    mkdir  /opt/nsd
    find  /opt  -type f

-name 名字
find /etc -name "passwd"
find /etc -name "*tab"
find /etc -name "*tab" | cat -n
find /etc -name "*.conf"
find /etc -name "*.conf" | wc -l

find /root -name ".*"   查找隐藏数据

两个条件一起使用:
mkdir /mnt/cbd01
mkdir /mnt/cbd02
touch /mnt/cbd03.txt
find /mnt -name "cbd*"
find /mnt -name "cbd*" -type d     两个必须都满足
find /mnt -name "cbd*" -type f     两个必须都满足
find /mnt -name "cbd*" -o -type f  两个满足其中一个

-size  大小  + -
ls -lh /boot
find  /boot -size +1M     大于1M的数据
find  /boot -size +1M -size -10M    1M到10M之间的数据

-user 用户名,按照数据的所有者
find /home -user nsd  普通用户的名字

-mtime  修改时间(所有的时间都是过去时间)
+90  90天之前修改过的数据
-10  最近10天之内修改过的数据

/var 存放经常变化的数据,日志文件
find /var -mtime +90  三个月之前的数据

-newermt  在此时间之后
! -newermt 在此时间之前 , 不写年月日则表示今天

find  /var -newermt '2025-5-8 15:28:50'
find  /var -newermt '2025-5-8 10:30:50' ! -newermt '12:30:50'

find高级使用
处理find找到的数据,每查找一个就传递一次

find [范围]  [条件]  -exec  处理命令 {} \;
-exec 额外操作的开始
{}    前面find查找的结果
\;    额外操作的结束

find  /boot -size +10M -exec cp {} /opt \;
find  /boot -size +10M -exec ls -lh {} \;
两个条件联合使用
mkdir /root/mytab
find  /etc -name "*tab" -type f -exec cp {} /root/mytab \;

案例:
利用find查找,数据的所有者为student,并且必须是文件,把他们拷贝到/root/findfiles目录中
useradd  student     添加student用户
mkdir  /root/findfiles
find / -user student -type f -exec cp {} /root/findfiles \;

/proc: 内存的数据,不占用硬盘空间 

红帽RHCSA题目:
1.查找属于 jacques 用户所属文件,并拷贝到/root/findfiles 目录
useradd  jacques     添加student用户
mkdir  /root/findfiles
find / -user jacques -type f -exec cp {} /root/findfiles \;

2.查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。将所有这些行的副本按原始顺序放在文件 /root/list 中。/root/list 不得包含空行且所有行必须是 /usr/share/xml/iso-codes/iso_639_3.xml 中原始行的确切副本
grep ng  /usr/share/xml/iso-codes/iso_639_3.xml > /root/list

3.创建一个名为/root/backup.tar.bz2的tar存档,其应包含/usr/local的tar存档,其应包含/usr/local的内容。该tar存档使用bzip2进行压缩。
tar  -cjf  /root/backup.tar.bz2  /usr/local

vim 文本编辑器
cp  /etc/passwd user
vim user
命令模式
   yy 复制一行  p粘贴
   10yy复制十行  
   dd  删除1行
   10dd  删除10行
   G 跳转到末尾
   gg 跳转到首行

   /a 查找字符串a
      n  跳到下一个结果
      N  跳到上一个结果
   u 撤销
   ctrl +r 取消上一次撤销
   ZZ  保存修改并退出
插入模式
   自己随便写东西
末行模式
   :set nu 显示行号
   :set nonu 关闭行号
   :set ai 启用缩进
   :set noai 关闭自动缩进

 

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

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

相关文章

diy装机成功录

三天前,我正式开启了这次装机之旅,购入了一颗性能强劲的 i5-12400 CPU,一块绘图能力出色的 3060ti 显卡,还有技嘉主板、高效散热器、16G 内存条、2T 固态硬盘,以及气派的机箱和风扇,满心期待能亲手打造一台…

【 Redis | 实战篇 缓存 】

目录 前言: 1.认识缓存 2.添加Redis缓存 2.1.根据id查询商铺缓存 2.2.优化根据id查询商铺缓存 3.缓存更新策略 3.1.三种策略 3.2.策略选择 3.3.主动更新的方案 3.4. Cache Aside的模式选择 3.5.最佳实践方案 4.缓存三大问题 4.1.缓存穿透 4.1.1.介绍 …

2025年全新 GPT 4.5 AI 大模型 国内免费调用

一、中转账号注册 第一步:打开宙流AI中转站,网站地址如下: 宙流AI中转站 按照上图中的操作步骤,通过邮箱进行账号注册,注册完毕后,网站初始会分配0.4刀的免费额度,获取额度后,即可…

“睿思 BI” 系统介绍

“睿思 BI” 商业智能系统是由成都睿思商智科技有限公司自主研发的企业数据分析系统,以下是对该系统的详细介绍: 功能模块 : • 数据集成与准备 :支持数据导入、数据填报、数据 ETL 等功能,可抽取企业在经营过程中产生…

虚假AI工具通过Facebook广告传播新型Noodlophile窃密木马

网络安全公司Morphisec的研究人员发现,攻击者正利用虚假人工智能(AI)平台传播名为Noodlophile Stealer的新型信息窃取木马。这种复杂攻击手法利用AI工具的热度诱骗用户下载恶意软件,窃取浏览器凭证、加密货币钱包,并可…

麦科信获评CIAS2025金翎奖【半导体制造与封测领域优质供应商】

在苏州举办的2025CIAS动力能源与半导体创新发展大会上,深圳麦科信科技有限公司凭借在测试测量领域的技术积累,入选半导体制造与封测领域优质供应商榜单。本届大会以"新能源芯时代"为主题,汇集了来自功率半导体、第三代材料应用等领…

指针运算典型例题解析

1.题目1 该代码运行的结果是什么&#xff1f; #include <stdio.h> int main() { int a[5] { 1, 2, 3, 4, 5 }; int *ptr (int *)(&a 1); printf( "%d,%d", *(a 1), *(ptr - 1)); return 0; } 解析&#xff1a; 运行结果&#xff1a; 2.题目2 在X86…

DAX 权威指南1:DAX计算、表函数与计算上下文

参考《DAX 权威指南 第二版》 文章目录 二、DAX简介2.1 理解 DAX 计算2.2 计算列和度量值2.3 变量2.3.1 VAR简介2.3.2 VAR的特性 2.4 DAX 错误处理2.4.1 DAX 错误类型2.4.1.1 转换错误2.4.1.2 算术运算错误2.4.1.3 空值或 缺失值 2.4.2 使用IFERROR函数拦截错误2.4.2.1 安全地进…

使用 NV‑Ingest、Unstructured 和 Elasticsearch 处理非结构化数据

作者&#xff1a;来自 Elastic Ajay Krishnan Gopalan 了解如何使用 NV-Ingest、Unstructured Platform 和 Elasticsearch 为 RAG 应用构建可扩展的非结构化文档数据管道。 Elasticsearch 原生集成了行业领先的生成式 AI 工具和提供商。查看我们的网络研讨会&#xff0c;了解如…

20250508在WIN10下使用移远的4G模块EC200A-CN直接上网

1、在WIN10/11下安装驱动程序&#xff1a;Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip 2、使用移远的专用串口工具&#xff1a;QCOM_V1.8.2.7z QCOM_V1.8.2_win64.exe 3、配置串口UART42/COM42【移远会自动生成连续三个串口&#xff0c;最小的那一个】 AT命令&#xf…

C++(6):逻辑运算符

目录 1. 代码示例 示例 1&#xff1a;基础用法 示例 2&#xff1a;条件判断 2. 短路求值&#xff08;Short-Circuit Evaluation&#xff09; 代码示例 3. 实际应用场景 场景 1&#xff1a;输入合法性验证 场景 2&#xff1a;游戏状态判断 4. 注意事项 逻辑运算符用于组…

NXP iMX8MP ARM 平台多屏幕克隆显示测试

By Toradex秦海 1). 简介 NXP i.MX8MP ARM SoC 支持 3 路 Display Controller 分别提供 DSI/HDMI/LVDS 显示输出&#xff0c;在 Yocto Linux BSP 下采用 Wayland Backend 基于 DRM subsystem 显示驱动&#xff0c;前端默认基于 Weston Compositor。因此在默认情况下连接多个屏…

【数据结构】——栈

一、栈的概念和结构 栈其实就是一种特殊的顺序表&#xff0c;其只允许在一端进出&#xff0c;就是栈的数据的插入和删除只能在一端进行&#xff0c;进行数据的插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的元素遵循先进后出LIFO&#xff08;Last InFirst O…

Navicat中保存的数据库密码找回 Java 8

导出数据库连接打开导出的connections.ncx文件找到加密的password放入java程序中解密即可 package com.asia.card.cloud.enterprise.api;import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.nio.cha…

vs code管理员权限启动问题

vs code非管理员启动可以正常启动用管理员启动vs code&#xff0c;会提示 解决办法 找到argv.json文件在argv.json文件中添加 "disable-chromium-sandbox": true重启vs code即可

Spring Cloud与Service Mesh集成:Istio服务网格实践

文章目录 引言一、Spring Cloud与Service Mesh概述二、Istio服务网格架构三、Spring Cloud与Istio集成的基础设施准备四、服务发现与负载均衡五、流量管理与弹性模式六、安全通信与认证授权七、可观测性集成八、配置管理集成总结 引言 微服务架构已成为现代分布式系统的主流设…

React+Taro选择日期组件封装

话不多说&#xff0c;直接上效果 1.页面渲染时间模块 {this.renderCalendarPopup()}2.引入时间组件弹层&#xff0c;state中加入showPopup(控制什么时候展示时间选择弹层)&#xff0c;time(选择后的时间值) private renderCalendarPopup () > {const { showPopup, time…

C++进阶--AVL树的实现续

文章目录 C进阶--AVL树的实现双旋AVL树的查找AVL树的检验结语 很高兴和搭大家见面&#xff0c;给生活加点impetus&#xff0c;开启今天的比编程之路&#xff01;&#xff01; 今天我们来完善AVL树的操作&#xff0c;为后续红黑树奠定基础&#xff01;&#xff01; 作者&#x…

AutoGen+Deepseek+chainlit的简单使用

AutoGen 的应用场景 AutoGen 作为一个强大的多智能体协作框架&#xff0c;可用于多种复杂任务&#xff1a; 自动化工作流&#xff1a;构建由多个智能体组成的流水线&#xff0c;例如数据收集、分析、报告生成复杂问题分解&#xff1a;将难题拆解为子任务&#xff0c;分配给不…

采用SqlSugarClient创建数据库实例引发的异步调用问题

基于SqlSugar编写的多个WebApi接口&#xff0c;项目初始化时采用单例模式注册SqlSugarClient实例对象&#xff0c;前端页面采用layui布局&#xff0c;并在一个按钮事件中通过Ajax连续调用多个WebApi接口获取数据。实际运行时点击按钮会随机报下面几种错误&#xff1a; Execute…