当前位置: 首页 > java >正文

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.xdnf.cn/news/9606.html

相关文章:

  • Linux下挂载目录如何进行操作
  • C# Datatable筛选过滤各方式详解
  • PCI SSC推出PIN合规服务商列表计划
  • WES(一)——文件准备
  • 机器学习:线性回归、损失函数、导数、偏导
  • 主题阅读输出-关于成年/成熟的认识-01-学习
  • vue3 项目运行 加载 白屏
  • 嵌入式JPEG图像加水印实战技巧
  • 自我觉察是成长的第一步,如何构建内心的平静
  • 仿真每日一练 | ABAQUS水滴入水分析
  • SWMM+HTWATER最新水文水动力模型应用
  • linux版本vmware修改ubuntu虚拟机为桥接模式
  • STM32:ESP8266 + MQTT 云端与报文全解析
  • 微信小程序关于截图、录屏拦截
  • 通义实验室开源针对RAG的预训练框架
  • P1923 【深基9.例4】求第 k 小的数
  • Sentinel限流熔断机制实战
  • 软件测试计划中时间与资源的估算
  • 探索Dify-LLM:构建自定义大模型应用的高效平台
  • IO进程(进程 Process)
  • COF材料前沿应用:多孔晶态材料的催化革新之旅 | 乐研试剂
  • 华南会议|AI驱动仿真未来 2025 Altair区域技术交流会华南站,报名开启!
  • 【人工智能】DeepSeek的AI狂想曲:从训练到应用的交响乐
  • 2025.05.28【Parallel】Parallel绘图:拟时序分析专用图
  • 创建型模式之 Builder (生成器)
  • 从跟跑到领跑:雷克赛恩17年创业历程
  • 正则表达式的修饰符
  • 如何更新和清理 Go 依赖版本
  • 暗通道先验去雾算法实现
  • Trae配置JAVA本地环境,开发前后端