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

【BASH】回顾与知识点梳理(目录)

【BASH】回顾与知识点梳理(目录)

    • 一. 认识与学习 BASH
    • 二. Shell 的变量功能
    • 三. 命令别名与历史命令
    • 四. Bash Shell 的操作环境
    • 五. 数据流重导向
    • 六. 管线命令 (pipe)
    • 七. 前六章知识点总结及练习
    • 八. 正则表达式(正规表示法)
    • 九. 扩展正则表达式(延伸正规表示法)
    • 十. 文件的格式化与相关处理
    • 十一. 八至十章知识点总结及练习
    • 十二. Linux 文件与目录管理
    • 十三. 文件内容查阅
    • 十四. 文件与目录的默认权限与隐藏权限
    • 十五. 指令与文件的搜寻
    • 十六. 十二至十五章知识点总结及练习
    • 十七. 什么是 Shell scripts
    • 十八. 条件判断式
    • 十九. 循环 (loop)
    • 二十. 十六至十九章知识点总结及练习

一. 认识与学习 BASH

入口

1.1 硬件、核心与 Shell
1.2 为何要学文字接口的 shell?
1.3 系统的合法 shell 与 /etc/shells 功能
1.4 Bash shell 的功能
1.5 查询指令是否为 Bash shell 的内建命令: type
1.6 指令的下达与快速编辑按钮

二. Shell 的变量功能

入口

2.1 什么是变量?
2.2 变量的取用与设定: echo, 变量设定规则: set/unset
2.3 环境变量的功能用 set 观察所有变量 (含环境变量与自定义变量)export: 自定义变量转成环境变量那如何将环境变量转成自定义变量呢?declare / typeset
2.4 影响显示结果的语系变量 :locale
2.5 变量的有效范围
2.6 变量键盘读取、数组: read、 array
2.7 与文件系统及程序的限制关系: ulimit
2.8 变量内容的删除、取代与替换 (Optional)变量内容删除(从前向后开始删除变量内容)变量内容删除(从后向前开始删除变量内容)变量的测试与内容替换

三. 命令别名与历史命令

入口

3.1 命令别名设定: alias, unalias
3.2 历史命令:history同一账号同时多次登入的 history 写入问题无法记录时间

四. Bash Shell 的操作环境

入口

4.1 路径与指令搜寻顺序
4.2 bash 的进站与欢迎讯息: /etc/issue, /etc/motd
4.3 bash 的环境配置文件login与non-login shell/etc/profile (login shell 才会读)~/.bash_profile (login shell 才会读)source :读入环境配置文件的指令~/.bashrc (non-login shell 会读)其他相关配置文件
4.4 终端机的环境设定: stty, set
4.5 通配符与特殊符号

五. 数据流重导向

入口

5.1 什么是数据流重导向standard output 与 standard error output/dev/null 垃圾桶黑洞装置与特殊写法standard input : < 与 <<
5.2 命令执行的判断依据: ; , &&, ||cmd ; cmd (不考虑指令相关性的连续指令下达)$? (指令回传值) 与 && 或 ||

六. 管线命令 (pipe)

入口

6.1 撷取命令: cut, grepcutgrep
6.2 排序命令: sort, wc, uniqsortuniqwc
6.3 双向重导向: tee
6.4 字符转换命令: tr, col, join, paste, expandtrcoljoinpasteexpand
6.5 分区命令: split
6.6 参数代换: xargs
6.7 关于减号 - 的用途

七. 前六章知识点总结及练习

入口

7.1 总结
7.2 练习

八. 正则表达式(正规表示法)

入口

8.1 什么是正规表示法
8.2 基础正规表示法语系对正规表示法的影响grep 的一些进阶选项基础正规表示法练习例题一、搜寻特定字符串例题二、利用中括号 [] 来搜寻集合字符例题三、行首与行尾字符 ^ $例题四、任意一个字符 . 与重复字符 *例题五、限定连续 RE 字符范围 {}
8.3 基础正规表示法字符汇整 (characters)
8.4 sed 工具(重点)以行为单位的新增/删除功能以行为单位的取代与显示功能部分数据的搜寻并取代的功能直接修改文件内容(危险动作)同时执行多条sed命令sed脚本文件

九. 扩展正则表达式(延伸正规表示法)

入口

9.1 egrep命令语法匹配指定模式的行(用法和grep相同)忽略大小写匹配(用法和grep相同)反向匹配(用法和grep相同)显示行号(用法和grep相同)递归搜索目录(用法和grep相同)匹配整词(用法和grep相同)统计匹配行数(用法和grep相同)显示匹配行及其上下文内容(用法和grep相同)
9.2 egrep和grep的区别
9.3 延伸型的正规表示法的特殊字符匹配重复字符(用法和grep不同)匹配分组模式(用法和grep不同)匹配'或'模式(用法和grep不同)匹配重复群组(用法和grep不同)

十. 文件的格式化与相关处理

入口

10.1 格式化打印: printf
10.2 awk:好用的数据处理工具awk 的逻辑运算字符
10.3 文件比对工具diffcmppatch
10.4 文件打印准备: pr

十一. 八至十章知识点总结及练习

入口

11.1 总结
11.2 练习情境模拟题一:透过 grep 搜寻特殊字符串,并配合数据流重导向来处理大量的文件搜寻问题。情境模拟题二:使用管线命令配合正规表示法建立新指令与新变量。

十二. Linux 文件与目录管理

入口

12.1 目录与路径相对路径与绝对路径相对路径的用途绝对路径的用途
12.2 目录的相关操作cd (change directory, 变换目录)pwd (Print Working Directory, 显示目前所在的目录)mkdir (make directory, 建立新目录)rmdir (remove directory, 删除『空』的目录)
12.3 关于执行文件路径的变量: $PATH
12.4 文件与目录的检视: ls
12.5 复制、删除与移动: cp, rm, mv, renamecp (复制文件或目录)rm (移除文件或目录)mv (移动文件与目录,或更名)rename(用字符串替换的方式批量改变文件名)
12.6 取得路径的文件名与目录名称:dirname, basename

十三. 文件内容查阅

入口

13.1 直接检视文件内容:cat, tac, nlcat (concatenate)tac (反向列示)nl (添加行号打印)
13.2 可翻页检视:more, lessmore (一页一页翻动)less (一页一页翻动)
13.3 资料撷取:head, tailhead (取出前面几行)tail (取出后面几行)
13.4 非纯文本档: od
13.5 修改文件时间或建置新档: touch

十四. 文件与目录的默认权限与隐藏权限

入口

14.1 文件预设权限:umaskumask 的利用与重要性:专题制作
14.2 文件隐藏属性chattr (配置文件案隐藏属性)lsattr (显示文件隐藏属性)
14.3 文件特殊权限: SUID, SGID, SBITSUID(Set UID)SGID(Set GID)SBIT(Sticky Bit)SUID/SGID/SBIT 权限设定
1.4 观察文件类型:file

十五. 指令与文件的搜寻

入口

15.1 脚本文件名的搜寻which (寻找『执行档』)
15.2 文件档名的搜寻whereis (由一些特定的目录中寻找文件文件名)locate / updatedbfind与时间有关的选项与使用者或组名有关的参数与文件权限及名称有关的参数额外可进行的动作
15.3 权限与指令间的关系让用户能进入某目录成为『可工作目录』的基本权限为何?用户在某个目录内读取一个文件的基本权限为何?让使用者可以修改一个文件的基本权限为何?让一个使用者可以建立一个文件的基本权限为何?让用户进入某目录并执行该目录下的某个指令之基本权限为何?

十六. 十二至十五章知识点总结及练习

入口

16.1 总结
16.2 练习
16.3 简答题

十七. 什么是 Shell scripts

入口

17.1 干嘛学习 shell scripts自动化管理的重要依据追踪与管理系统的重要工作简单入侵检测功能连续指令单一化简易的数据处理跨平台支持与学习历程较短
17.2 第一支 script 的撰写与执行撰写第一支 script
17.3 撰写 shell script 的良好习惯建立
17.4 简单范例对谈式脚本:变量内容由用户决定随日期变化:利用 date 进行文件的建立数值运算:简单的加减乘除数值运算:透过 bc 计算 pi
17.5 script 的执行方式差异 (source, sh script, ./script)利用直接执行的方式来执行 script利用 source 来执行脚本:在父程序中执行

十八. 条件判断式

入口

18.1 利用 test 指令的测试功能文件类型判断文件权限侦测两个文件之间的比较两个整数之间的判定判定字符串的数据多重条件判定
18.2 利用判断符号 [ ]
18.3 Shell script 的默认参数($0, $1...)shift:造成参数变量号码偏移
18.4 利用 if .... then单层、简单条件判断式多重、复杂条件判断式
18.5 利用 case ..... esac 判断
18.6 利用 function 功能

十九. 循环 (loop)

入口

19.1 while do done, until do done (不定循环)
19.2 for...do...done (固定循环)
19.3 for...do...done 的数值处理(C写法)
19.4 搭配随机数与数组的实验
19.5 shell script 的追踪与 debug
19.6 what_to_eat-2.sh debug结果解析

二十. 十六至十九章知识点总结及练习

入口

20.1 总结
20.2 练习

相关文章:

【BASH】回顾与知识点梳理(目录)

【BASH】回顾与知识点梳理&#xff08;目录&#xff09; 一. 认识与学习 BASH二. Shell 的变量功能三. 命令别名与历史命令四. Bash Shell 的操作环境五. 数据流重导向六. 管线命令 (pipe)七. 前六章知识点总结及练习八. 正则表达式&#xff08;正规表示法&#xff09;九. 扩展…...

TFRecords详解

内容目录 TFRecords 是什么序列化(Serialization)tf.data 图像序列化&#xff08;Serializing Images)tf.Example函数封装 小结 TFRecords 是什么 TPU拥有八个核心&#xff0c;充当八个独立的工作单元。我们可以通过将数据集分成多个文件或分片&#xff08;shards&#xff09;…...

【多维定向滤波器组和表面波】表面变换:用于高效表示多维 s 的多分辨率变换(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

45.113.201.X服务器远程不上是什么原因,有什么办法解决?

45.113.201.1远程登录不上可能有多种原因导致&#xff0c;以下是一些常见的问题和解决方法&#xff1a; 网络连接问题&#xff1a;确保本地网络连接正常&#xff0c;尝试通过其他设备或网络连接服务器&#xff0c;确认是否是网络问题导致无法远程登录。 IP地址或端口错误&…...

微信小程序 地图map(电子围栏圆形和多边形)

正常情况下是没有手机上画电子围栏的&#xff0c;公共平台上我也没找到&#xff0c;所以走了一个歪点子&#xff0c;就是给地图添加点击事件&#xff0c;记录点的位置&#xff0c;在画到电子围栏上就是添加电子围栏了&#xff0c;如果只是显示电子围栏就简单了 一、多边形电子…...

Dockerfile 文件

dockerfile是一个文本文件&#xff0c;包含一条条指令&#xff0c;每条指令都会构建一层镜,一般分为四部分&#xff1a;基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令&#xff0c;#为 Dockerfile 中的注释。 docker build 基于dockerfile制作镜像 OPTIONS参数 …...

ssm学院党员管理系统源码和论文PPT

ssm学院党员管理系统源码和论文PPT002 开发工具&#xff1a;idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具&#xff1a;navcat,小海豚等 开发技术&#xff1a;java ssm tomcat8.5 选题意义、价值和目标&#xff1a; 随着鄂尔多斯应用技术学院招生规模的不断扩大&…...

文件数字水印,附一种纯文本隐写术数字水印方法

数字水印&#xff08;Digital Watermark&#xff09;是一种在数字媒体文件中嵌入隐藏信息的技术。这些数字媒体可以是图片、音频、视频或文本等。数字水印不会对原始文件造成明显的视觉或听觉变化&#xff0c;但可以在一定程度上保护知识产权&#xff0c;追踪数据来源&#xff…...

测试开发(一) 使用Vue开发chrome插件

目录 一、引言 二、功能说明 三、【配置】操作演示 四、【请求拦截】演示 不断访问博客&#x...

游戏行业实战案例 4 :在线时长分析

【面试题】某游戏数据后台设有「登录日志」和「登出日志」两张表。 「登录日志」记录各玩家的登录时间和登录时的角色等级。 「登出日志」记录各玩家的登出时间和登出时的角色等级。 其中&#xff0c;「角色id」字段唯一识别玩家。 游戏开服前两天&#xff08; 2022-08-13 至 …...

记一次图片压缩引发的生产问题

省流&#xff1a; 死循环导致没有commit&#xff08;提交事务&#xff09;&#xff0c;transaction一直没有结束。 正文&#xff1a; 调用接口报错&#xff1a; jdbc报错&#xff1a; MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting tran…...

mybatis-flex探索

mybatis古今未来 最近无意之中发现了一个非常棒的持久层框架mybatis-flex&#xff0c;迫不及待研究了一下 发现简直就是我的梦中情框&#xff0c;之前写ibatis&#xff0c;后来写mybatis&#xff0c;接着写mybatis-plus&#xff0c;接着研究mybatis-flex ibatis ibatis是apa…...

用ClickHouse 文件表引擎快速查询分析文件数据

有时我们需要快速查询分析文件数据&#xff0c;正常流程需要在数据库中创建表&#xff0c;然后利用工具或编码导入数据&#xff0c;这时才能在数据库中查询分析。利用ClickHouse文件引擎可以快速查询文件数据。本文首先介绍ClickHouse文件引擎&#xff0c;然后介绍如何快速实现…...

esp8266httpclient_get_post使用

esp8266httpclient_get_post使用 #include<ESP8266WiFi.h> #include <ESP8266HTTPClient.h>//const char *ssid "AxxxIFI"; const char *password "xxxs879xxx68";const char* ssid "IT-nxxxang";const char* URL "http://…...

【Spring】创建一个Spring项目与Bean对象的存储

目录 一、创建Spring项目 1、创建Maven项目 2、配置maven国内源 3、引入spring依赖 4、添加启动类 二、将Bean对象存储到Spring&#xff08;IoC容器&#xff09; 1、创建Bean对象 2、将Bean存储到spring&#xff08;容器&#xff09;中 3、获取Bean对象 3.1、Applicatio…...

Docker的入门与使用

什么是Docker&#xff1f; docker官网 简介与概述 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#x…...

Smart HTML Elements 16.1 Crack

Smart HTML Elements 是一个现代 Vanilla JS 和 ES6 库以及下一代前端框架。企业级 Web 组件包括辅助功能&#xff08;WAI-ARIA、第 508 节/WCAG 合规性&#xff09;、本地化、从右到左键盘导航和主题。与 Angular、ReactJS、Vue.js、Bootstrap、Meteor 和任何其他框架集成。 智…...

[分享]STM32G070 串口 乱码 解决方法

硬件 NUCLEO-G070RB 工具 cubemx 解决方法 7bit 改为 8bit printf 配置方法 添加头文件 #include <stdio.h> 添加重定向代码 #ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endi…...

[代码案例]学会python读写各类文件的操作(excel,txt,mat)

简介 python读写三类文件 excel文件 txt文件 mat文件 代码 """Description: python 读写各类文件 操作 """ import scipy as scipy from scipy.io import loadmat import xlwt import xlrd 读写excel文件workbook xlrd.open_workbook(test1.…...

【LeetCode】练习习题集【4月 - 7 月】

LEETCODE习题集【4月-7月总结】 简单 数组部分 1.重复数 题目&#xff1a; 在一个长度u为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...