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 #登录后的欢迎信息
相关推荐
不知更鸟4 小时前
Django 项目设置流程
后端·python·django
黄昏恋慕黎明6 小时前
spring MVC了解
java·后端·spring·mvc
G探险者8 小时前
为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
数据库·后端·mysql
百锦再8 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
Tony Bai8 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3
小兔薯了8 小时前
11. Linux firewall 防火墙管理
linux·运维·服务器
程序猿20238 小时前
项目结构深度解析:理解Spring Boot项目的标准布局和约定
java·spring boot·后端
RainbowSea9 小时前
内网穿透配置和使用
java·后端
Linux技术芯9 小时前
浅谈SCSI寻址机制与工作阶段深度解析?
linux
掘金码甲哥9 小时前
网关上的限流器
后端