Linux - 数据流重定向、管道符、环境变量配置文件的加载

概述

想了解Linux编程,shell脚本是绕不开的关键知识点,原计划写一个整篇来分享shell的来龙去脉,但知识点过于繁杂,先分享一下学习shell的准备工作,数据流重定向、管道符、环境变量配置文件的加载,有助于知识更好的理解、再实际生产中的运用。

shell

shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

bash脚本执行方式

1、赋予执行权限,直接运行

chmod 755 stark.sh
./stark.sh

2、通过Bash调用执行脚本

bash stark.sh

Bash的基本功能

命令别名与快捷键

1、查看别名alias
2、设置别名 alias ls='ls -l'
3、删除别名 unalias 别名

但是需要注意的是,alias设置在重启系统后会失效,想永久生效写入在配置文件中。

vim .bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Bash命令生效顺序:

  • 第一顺位执行用绝对路径或相对路径执行的命令。
  • 第二顺位执行别名。
  • 第三顺位执行Bash的内部命令。
  • 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。

常用快捷键

Ctrl + c:强制终止当前命令
Ctrl + l:清屏
Ctrl + a:光标移动到命令行首
Ctrl + e:光标移动到命令行尾
Ctrl + u:从光标位置删除到行首
Ctrl + z:把命名放入后台
Ctrl + r:在历史命令中搜索

数据流重定向

输出的信息不在输出在显示器上,把正确/错误的信息输出在文件中,本来输出到显示器的内容输出在指定的文件中,所以叫做 数据量重定向。

  • 1> 以覆盖的方法将【正确的数据】输出到指定的文件或者设备上
  • 1>> 以追加的方法将【正确的数据】输出到指定的文件或者设备上
  • 2> 以覆盖的方法将【错误的数据】输出到指定的文件或者设备上
  • 2>> 以追加的方法将【错误的数据】输出到指定的文件或者设备上

/dev/null垃圾桶黑洞设备与特殊写法,作用是不输出任何信息

管道符
  • ; 分号代表多个命令连接,前后命令没有关系,只是单纯的连接
  • && 用地址符连接,前后都成功才会成功。
  • || 命令1不正确执行,才会执行命令2,反之也一样
  • | 管道符的作用是把命令1的数据结果,做进行进一步的筛选

环境变量配置文件简介

shell变量类型:

  • 用户自定义变量(本地变量)
  • 环境变量:定义每个用户的操作环境,环境变量配置文件中主要是定义对系统操作环境生效的系统默认环境变量。如PATH等。
  • 预定义环境

在这里插入图片描述

1、用户登录时加载的配置文件

/etc/profile
/etc/profile.d/
~/.bash_profile
~/.bashrc
/etc/bashrc

2、用户注销时加载的配置文件

~/.bash_logout

3.本地终端欢迎信息

/etc/issue
/etc/motd #登录后的欢迎信息

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jdk17新特性—— instanceof的模式匹配

目录 一、instanceof模式匹配的概述二、instanceof模式匹配代码示例2.1、jdk17之前 instanceof用法 代码示例2.2、jdk17及之后 instanceof用法 代码示例一2.3、jdk17及之后 instanceof用法 代码示例二 一、instanceof模式匹配的概述 instanceof增加了模式匹配功能,…

Vulnhub靶机:niveK

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:niveK(10.0.2.41) 目标:获取靶机root权限和flag 靶机下载地址:https://download.vulnhub.com/hms/nive…

算法训练第一周考试(思维性题目)

目录 第一题.满足约束 第二题:传递信息 第三题:无线替换 第四题:环球旅行 第五题:求和游戏 第六题:大相径庭数组 总结:其实这次考试主要都是一些思维性的题集,并没有过难的东西&#xff…

五、防御保护---防火墙出口选路篇

五、防御保护---防火墙智能选路篇 一、就近选路二、策略路由选路1.策略路由的概念1.1匹配条件(通过ACL定义)1.2动作 三、智能选路 --- 全局路由策略1.基于链路带宽的负载分担2.基于链路质量进行负载分担3.基于链路权重进行负载分担4.基于链路优先级的主备…

shell - sed命令和awk命令

一.sed 的高级用法 sed 中除了模式空间,还另外支持保持空间,利用此空间,可以将模式空间中的数据,临时保存至保持空间,从而后续接着处理,实现更为强大的功能。 常见命令: 选项含义P(大)打印模…

【MySQL】学习如何通过DQL进行数据库数据的基本查询

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-KvH5jXnPNsRtMkOC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Docker部署Plik系统并结合内网穿透实现远程访问本地上传下载文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…

Leetcode刷题笔记题解(C++):1117. H2O 生成(多线程)

思路: 解法二:生产者-消费者解法 1.把 hydrogen 线程看作生产者,oxygen 线程看作消费者,缓冲队列大小为2。 2.hydrogen 把生成的氢放入队列;oxygen 线程每次从队列里消费两个氢元素。 3.生产者生产两个氢元素后会因为…

找不到xinput1_4.dll怎么办?xinput1_4.dll丢失的6种解决方法对比

无法找到或缺失xinput1_4.dll文件可能会引发一系列问题,这一现象在计算机系统中并不罕见。首先,它直接影响到某些应用程序的正常运行,特别是那些依赖于DirectX环境的游戏和软件,因为xinput1_4.dll是DirectX工具包中的一个重要组成…

ElementUI组件:Button 按钮

button按钮 点击下载learnelementuispringboot项目源码 效果图 el-button.vue页面效果图 项目里el-button.vue代码 <script> export default {name: "el_button",// 注意这里的名称不能和 router inex.js里的name一样methods: {sendMsg() {// alert(1)xthi…

皮层肌肉相干性(CMC)的介绍和实现

皮层肌肉相干性CMC的介绍和实现 0 引言1 CMC定义2 CMC实现(Python)3 总结欢迎来稿0 引言 皮质肌肉相干性(CMC)是研究大脑皮层控制肌肉活动机制的常用且有用的方法。它揭示了肌肉持续收缩期间皮层和肌肉之间的功能联系。CMC的起源是初级运动皮层和肌肉之间皮质脊髓通路的通…

飞桨大模型分布式训练技术

今天我为大家介绍飞桨大模型分布式训练技术&#xff0c;内容分为以下几个部分&#xff1a; 首先&#xff0c;我会介绍大模型训练面临的重点难题&#xff1b;然后&#xff0c;为大家介绍飞桨在大模型训练领域的特色分布式训练技术和优化方案&#xff1b;最后&#xff0c;伴随着…

【STM32】STM32学习笔记-SPI通信外设(39)

00. 目录 文章目录 00. 目录01. SPI简介02. SPI特征03. SPI外设简介04. SPI框图05. SPI基本结构06. 主模式全双工连续传输07. 非连续传输08. 软件/硬件波形对比09. 附录 01. SPI简介 在大容量产品和互联型产品上&#xff0c;SPI接口可以配置为支持SPI协议或者支持I2S音频协议。…

第十九回 梁山泊义士尊晁盖 郓城县月夜走刘唐-FreeBSD Ubunut系统后台运行程序

林冲请晁盖坐了第一把交椅&#xff0c;吴用坐了第二把交椅&#xff0c;公孙胜坐了第三把交椅&#xff0c;还想让&#xff0c;晁盖吴用公孙胜都不肯接受相让&#xff0c;因此林冲坐了第四把交椅。 一天小喽啰报济州府派了2000人马来攻打梁山。吴用说不须兄长挂心&#xff0c;吴某…

学习使用Flask模拟接口进行测试

前言 学习使用一个新工具&#xff0c;首先找一段代码学习一下&#xff0c;基本掌握用法&#xff0c;然后再考虑每一部分是做什么的 Flask的初始化 app Flask(__name__)&#xff1a;初始化&#xff0c;创建一个该类的实例&#xff0c;第一个参数是应用模块或者包的名称 app…

webassembly003 TTS BARK.CPP-02-bark_tokenize_input(ctx, text);

bark_tokenize_input函数 bark是没有语言控制选项的&#xff0c;但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数&#xff0c;bark_tokenize_input函数对中文分词失效&#xff0c;也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_…

Mybatis Plus轻松实现数据库变更全局审计日志

Mybatis Plus轻松实现数据库变更全局审计日志 Mybatis Plus轻松实现数据库变更全局审计日志引言实现审计日志1.创建审计日志表2.创建AuditLogAspect用于记录请求日志4. 保存审计日志 总结 Mybatis Plus轻松实现数据库变更全局审计日志 引言 在日常的业务开发中&#xff0c;监…

MySQL十部曲之一:MySQL概述及手册说明

文章目录 数据库、数据库管理系统以及SQL之间的关系关系型数据库与非关系型数据库MySQL程序系统变量系统状态变量SQL模式MySQL数据目录手册语法约定 数据库、数据库管理系统以及SQL之间的关系 名称说明数据库&#xff08;Database&#xff09;即存储数据的仓库&#xff0c;其本…

07. STP的基本配置

文章目录 一. 初识STP1.1. STP概述1.2. STP的出现1.3. STP的作用1.4. STP的专业术语1.5. BPDU的报文格式1.6. STP的选择原则&#xff08;1&#xff09;选择根桥网桥原则&#xff08;2&#xff09;选择根端口原则 1.7. 端口状态1.8. STP报文类型1.9. STP的收敛时间 二. 实验专题…

数据结构——并查集

1.并查集的定义 并查集其实也是一种树形结构&#xff0c;在使用中通常用森林的方式来表示 并查集的逻辑结构其实就是集合 并查集一般可以通过双亲写法&#xff08;顺序结构&#xff09;来完成&#xff0c;即通过一个数组存储父亲结点的下标 int s[10005]; int main() {for(…
最新文章