Linux特殊符号

1 管道符|

  • 管道符号 | 用于将一个命令的输出作为另一个命令的输入。
  • 这种机制允许将多个命令组合在一起,形成一个数据处理链,每个命令处理前一个命令的输出,从而实现复杂的数据处理任务。
  • 示例
# 查询/var/log目录下所有的log文件,并进行分页显示,每页5条
find /var/log -name "*.log" | more -5
# 查找并统计文件中的关键词
grep "error" /var/log/auth.log | wc -l
grep -c "error" /var/log/auth.log

2 重定向符号>和追加重定向符号>>

2.1 重定向符号>

  • 重定向符号 > 用于将命令的输出重定向到一个文件中。
    • 如果文件不存在,它将创建该文件
    • 如果文件已存在,它将覆盖文件中的原有内容
  • 示例
# 搜索auth文件中含有error的行,写入到error.txt中
grep "error" /var/log/auth.log > error.txt
# 查询当前文件夹下所有txt文件的详细信息,入wb文件中
ll *.txt > wb
# 查询lshelp.txt文件的7-10行内容,并覆盖写入wb文件
head -10 lshelp.txt | tail -4 > wb

2.2 追加重定向符号>>

追加重定向符号 >> 用于将命令的输出追加到文件末尾,而不是覆盖原有内容

  • 示例
# 将一条文本追加到文件末尾
echo "这是一条新的日志信息" >> logfile.txt
# 将date命令的输出追加到文件中
date >> logfile.txt

2.3 标准输入

  • 标准输入在Linux系统中通常用stdin来表示。它指的是程序从用户或其他来源获取数据的通道。
  • 通过标准输入,用户可以与程序进行交互,输入数据以驱动程序的运行。

2.4 标准输出与标准错误输出

  • stdout代表标准输出,即程序正常输出数据的通道
  • stderr则表示标准错误输出,用于传递程序在执行过程中产生的错误信息
  • 通过这两种数据流,程序能够清晰地与用户沟通其运行状态和结果
  • 将正确的输出重定向到文件,使用1>符号,其中1代表标准输出,可以省略
  • 将错误输出重定向到文件,使用2>符号。
  • 示例
# 标准输出
ls 1> true.txt
ls > true.txt
# 错误输出
lk 2> error.txt
  • 将这两种输出合并到同一个文件中,可以使用2>&1
    • 2>&1的含义:将标准错误输出重定向到标准输出
    • 符号>&是一个整体,不可分开
  • 示例
# 1.txt 2.txt 两个文件一个存在一个不存在# 标准输出与错误输出,合并输出到终端
cat 1.txt 2.txt 2&>1
# 错误输出到终端,标准输出重定向到文件中
cat 1.txt 2.txt 2&>1 >1.txt
# 标准输出到终端,错误输出重定向到文件中
cat 1.txt 2.txt 2&>1 >1.txt
# 标准输出和错误输出,全部重定向到文件中
cat 1.txt 2.txt >1.txt 2&>1

3 后台执行符&

“&”符号用于将任务放到后台运行。
通过使用“&”符号,用户可以在执行命令时不阻塞终端,继续进行其他操作。
对于需要长时间运行的任务特别有用,因为它允许用户在等待任务完成的同时,继续使用终端执行其他命令。

  • 示例
# 在后台运行一个长时间运行的命令,如文件压缩
tar -czf archive.tar.gz large_directory &
# 同时启动多个命令,所有命令都会并行在后台执行
command1 & command2 &command3
  • 查看后台任务
    • 使用jobs命令查看当前在后台运行的任务
    • 格式:jobs
    • jobs命令会列出后台任务及其对应的作业号
  • 将后台任务带到前台
    • 使用fg命令将后台任务带到前台
    • 格式:fg %1
    • 将作业号为1的后台任务带到前台执行
  • 终止后台任务
    • 使用kill命令终止后台任务
    • 格式:kill %1
    • 终止作业号为1的后台任务

4 逻辑或符号|| 和逻辑与符号&&

4.1 逻辑或符号||

在Linux命令中,“||”表示逻辑“或”关系。
用于指定在前一个命令执行失败时,才执行其后跟随的命令。
这种用法类似于一种条件判断,根据前一个命令的执行结果来决定是否执行后续命令。

  • 示例
# 尝试创建一个目录,如果目录已存在,则显示一条消息
mkdir aa || echo "目录已存在"
# 运行一个命令,如果命令不存在或失败,则提示用户
mycommand || echo "命令未找到"
# 检查某个程序是否安装,如果未安装,则尝试安装它
command -v ifconfig || apt install net-tools

4.2 逻辑与符号&&

在Linux中,&&符号用于实现逻辑与操作。它的作用是,如果前面的命令执行成功(返回零退出状态),则执行后面的命令。

  • 示例
# 创建一个新目录,如果创建成功,则进入该目录
mkdir test && cd test
# 在删除文件之前,先备份文件,只有备份成功后才删除原文件
cp lshelp.txt shelp.txt.bak && rm lshelp.txt

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

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

相关文章

初识Docker:容器化技术的入门指南

初识Docker:容器化技术的入门指南 一、Docker是什么:容器化技术的核心概念二、Docker的核心优势2.1 环境一致性2.2 高效部署与快速迭代2.3 资源利用率高 三、Docker的安装与基本使用3.1 安装Docker3.2 Docker基本概念3.3 第一个Docker容器体验 四、Docke…

商务风企业公司推广培训计划PPT模版分享

商务风企业公司推广培训计划PPT模版分享:商务培训推广计划PPT模版https://pan.quark.cn/s/063282eaf739 第1套PPT模版,绿橙配色,几何图形拼接背景,有中英文标题和占位文本。 第2套PPT模版是黑金高端商务风格,有汇报人…

深入理解Nginx:详尽配置手册

Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于负载均衡、缓存和Web服务器等场景。随着互联网应用的快速发展,掌握Nginx的配置和优化技巧显得尤为重要。在本篇文章中,我们将深入探讨Nginx的配置,帮助你更好地理解和使用这款…

每日leetcode

1572. 矩阵对角线元素的和 - 力扣(LeetCode) 题目 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3], …

Server 9 ,在 VMware 虚拟机上安装 Windows 系统完整指南

目录 前言 一、准备工作 1.1 准备安装文件 1.2 安装VMware软件 1.3 创建新的虚拟机 1.4 开启虚拟机 二、注意事项 2.1 调整硬件设置 2.2 启动顺序配置 2.3 固件类型选择 2.4 安全启动配置 三、安装优化 3.1 安装VMware Tools 3.2 系统更新与激活 四、更多操作 ​…

最终章:终焉之塔 · 前端之道

第一章:HTML基石现实的骨架 第二章:CSS秘典 色彩与布局的力量 第三章:JavaScript引擎 行为之火 第四章:DOM迷宫 掌控页面之心 第五章:异步幻境 时间与数据的秘密 第六章:事件风暴 用户的意志 第七章&a…

详解 .net9 内置 Lock 对象,更加现代化和灵活可控的锁对象

.NET 9 引入了全新的 System.Threading.Lock 类型,作为更现代、类型安全且具备递归支持的同步原语。与传统的基于 Monitor.Enter/lock(obj) 的方式不同,Lock 是一个具体的类,提供了更灵活的 API 和结构化编程模型。 Lock 类 Lock 是一个具体…

python几行命令实现快速打包apk

1. ​​环境准备​ sudo apt update sudo apt install -y python3-pip git zip unzip openjdk-17-jdk sudo apt-get install -y autoconf automake libtool pip install kivy buildozer cython2. ​​项目配置​ 在项目目录中初始化Buildozer: buildozer init这会…

实时数仓和离线数仓的区别是什么?企业如何选择合适的数仓架构?

实时数仓和离线数仓的区别是什么?企业如何选择合适的数仓架构? 时数仓和离线数仓都是数据仓库的不同类型,用于存储和管理企业的数据,但它们在数据处理和使用的时间、速度以及用途方面有明显的区别。 在介绍实时数仓之前&#xf…

Docker Desktop for Windows 系统设置说明文档

1. 文档概述 本文档旨在详细说明 Docker Desktop for Windows 应用程序中“设置 (Settings)”界面下的所有可配置选项及其子选项。对于每个配置项,我们将提供其功能描述、推荐配置(如适用)以及相关注意事项,帮助用户更好地理解和…

精准监测,健康无忧--XC3576H工控主板赋能亚健康检测仪

在快节奏的现代生活中,亚健康问题逐渐成为困扰人们健康的隐形杀手。疲劳、失眠、免疫力下降等问题频发,却往往因难以察觉而延误调理。智能亚健康检测仪通过高科技手段,帮助用户实时了解身体状况,提前预警潜在健康风险。 其核心功能…

SBT开源构建工具

SBT 的多元定义与核心解释 SBT(Simple Build Tool)是专为 Scala 和 Java 项目设计的开源构建工具,基于 Scala 语言开发,提供依赖管理、编译、测试、打包等全流程支持。其核心特点包括: 核心功能与特性: …

npm run build后将打包文件夹生成zip压缩包

安装依赖 npm install archiver --save-dev准备compress.js文件 const fs require(fs); const archiver require(archiver);const sourceDir ./dist; //替换为你的文件夹路径 const outputZip ./dist.zip;console.log(开始压缩); const output fs.createWriteStream(ou…

力扣 215 .数组中的第K个最大元素

文章目录 题目介绍题解 题目介绍 题解 法一:基于快速排序的选择方法 以中间元素pivot为基准进行排序后,右指针 r 的位置就是最终全部排序好后pivot的位置,然后去左边或右边递归寻找第k个位置(答案)的元素。 代码如下…

CentOS 7.0重置root密码

文章目录 版本:CentOS 7.0内核版本:CentOS Linux, with Linux 3.10.0-123.el7.x86_64 服务器重启后,等待进入上述页面,按⬆⬇键,中断正常启动。在此页面按E,进入编辑模式 继续按⬇,找到linux16…

Linux之高效文本编辑利器 —— vim

目录 一、vim的基本概念 二、Vim 的三种基本模式 1. 命令模式(Command Mode) 2. 插入模式(Insert Mode) 3. 底行模式(Last Line Mode) 模式切换方法 IDE例子: 三、vim的基本操作 进入vim…

【STM32】HAL库 之 CAN 开发指南

基于stm32 f407vet6芯片 使用hal库开发 can 简单讲解一下can的基础使用 CubeMX配置 这里打开CAN1 并且设置好波特率和NVIC相关的配置 波特率使用波特率计算器软件 使用采样率最高的这段 填入 得到波特率1M bit/s 然后编写代码 环形缓冲区 #include "driver_buffer.h&qu…

《Scientific Reports撤稿门技术节分析》——从图像篡改检测到学术伦理重建的技术透视

2023年以来,《Scientific Reports》等开放获取期刊频繁曝出大规模撤稿事件,涉及数据造假、图像重复、AI生成内容篡改等技术性学术不端行为。本文以技术视角切入,系统分析撤稿事件背后的技术动因、检测手段漏洞、学术出版体系的技术短板及应对…

Client请求Grpc服务报错

现象:err: rpc error: code Unimplemented desc 背景:调用链路A->B->C,A是一个Http协议的接口,B也是一个Http协议的接口, 但C是一个Grpc协议的接口。 解决思路:查看C服务对应的proto,比…

机器学习课程设计报告 —— 基于口红数据集的情感分析

目录 一、课程设计目的 二、数据预处理及分析 2.1 数据预处理 2.2 数据分析 三、特征选择 3.1 特征选择的重要性 3.2 如何进行特征选择 3.3 特征选择的依据 3.4 数据集的划分 四、模型训练与模型评估 4.1 所有算法模型不调参 4.2 K-近邻分类模型 4.3 GaussianNB模…