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

概述

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

shell

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

bash脚本执行方式

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

bash 复制代码
chmod 755 stark.sh
./stark.sh

2、通过Bash调用执行脚本

复制代码
bash stark.sh

Bash的基本功能

命令别名与快捷键

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

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

bash 复制代码
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、用户登录时加载的配置文件

bash 复制代码
/etc/profile
/etc/profile.d/
~/.bash_profile
~/.bashrc
/etc/bashrc

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

bash 复制代码
~/.bash_logout

3.本地终端欢迎信息

bash 复制代码
/etc/issue
/etc/motd #登录后的欢迎信息
相关推荐
程序猿DD11 分钟前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
贵州诚鑫致达科技有限公司2 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
余槐i3 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8263 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
凤山老林4 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne5 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF5 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
澜山奕秋6 小时前
RHCSA
linux·运维·服务器
pride.li6 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
upala6 小时前
【仓颉语言入门 · 第二篇 第 6 课】
后端