bash编程复习,实践和进阶练习

Bash-Script的复习与梳理 最近把Linux Bash编程的知识复习了一遍,大概梳理了一下,做个记录。 第一个Bash-Script LINUX shell的种类非常之多,但是目前用得最为广泛的还是Bash,本文也是基于Bash的Shell环境。 下面是一个简单的示例: #! /bin/sh echo 'hello world!' 这就是一个最简单的shell脚本了。 第一行的#!用来告诉系统,这个脚本用什么解释器来执... 阅读详情

    学习shell有一段时间了, 一直懒于学习更多的用法, 趁着现在工作中有用到的机会, 打算好好掌握之. 这篇笔记是读<unix shell 编程>的笔记, 进行了一些改动, 以实例为主.


Chapter 1 复习基础命令和知识

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


基础命令和知识


  常用命令:  ls,  echo, cp , mv , mkdir, rm , rmdir ,cd,ln,date, who/who am i,cat ,wc 


  概念和知识点:

      1> 管道的概念

      2> 标准输入和标准输出的概念

      3> 输入重定向和输出重定向的概念. > 和 >> 的区别.

      4> 管道连接命令的概念

      5> shell默认的有限字符匹配功能.  ?: 匹配1个字符, *:匹配0-n个字符.   例如 ls *file*.txt


  部分命令用法:

    cat filename:  查看文件内容   

   ln fromfile tofile:  建立文件链接. 用windows的术语, 就是建立快捷方式. ln有两种链接方式, 请用 man ln 查看更多细节.

    wc filename:  统计文件的单词个数.  (注: wc表示 word count, 在K&R的<C Programming Language>里能看到算法)

              wc 和 sort 都可以在命令行输入多行字符串, 用ctrl + d 结束输入. 试试:

                      wc -l  <敲回车>

                      This is text   <敲回车>

                      is typed on the standard input device  <敲回车, ctrl+d>

  练习:

# 输出重定向例子. 现在输出并不是显示在控制台, 而是在文件中. 
who > users.txt
who >> users.txt

#输入重定向例子. wc的输入是文件users.txt 
wc -l < users.txt 

#重定向错误. 并没有asdf这个命令, 所以shell会报错, 但错误信息重定向到了文件. 注意, 2和>之间不能有空格. 
asdf 2> errors.txt

#管道连接. 某个命令的输出可以作为另一个命令的输入, 中间用 | 连接
who | wc -l 

#有趣技巧. 一行键入多条命令
date;pwd;who

   

  实用技巧:

#往文件写简单的内容时, 不需要用文本编辑器打开文件再编辑, 直接用 >> 命令即可. 例如, 这条命令把某个源添加到debian的source文件:
echo "This is a source " >> /etc/apt/source.list


   



   



   

   

     



Bash Scripting Review(Bash脚本复习) Bash脚本复习摘要 本文总结了Bash脚本编程的核心知识点:1)基础语法包括shebang声明、变量定义与使用规则、用户输入和注释方法;2)内置命令帮助系统(help/man/--help)和命令定位(which);3)echo命令的格式化输出选项;4)脚本参数处理($*/$@/$1等);5)双括号表达式[[ ]]的用法。内容涵盖变量作用域、多行注释、转义字符等实用技巧,为Shell脚本开发提供快速参考。 阅读详情

相关推荐

8、Python编程:从基础到进阶

本文全面介绍了Python编程从基础到进阶的完整学习路径,涵盖Python环境搭建、基本与集合数据类型、流程控制、函数定义、模块与包的使用方法,并深入探讨了代码风格、错误处理、性能优化和测试等最佳实践。同时展望了Python在人工智能、数据科学等新兴技术领域的发展前景,结合丰富的资源链接和学习流程图,为初学者和进阶者提供了系统化的指导。

q5r6s7的博客 38

Linux操作系统的简单指令(pwd、ls、cd、su、whoami、init、which、cat、clear等)

1.查看当前所在目录位置> pwd2.查看(当前)目录中的文件内容> ls 显示文件信息 > ls -a 显示包括隐藏文件在内的文件信息 > ls -l或者> ll 显示文件的详细信息 > ls -al 显示包括隐藏文件在内的文件的详细信息3.目录的切换> cd [dirname] 切换到指定目录 > cd .. 或 > cd ../ 切换到上级目录 > cd . 或 > cd ./ 切换

liu537192的专栏 2079

ESP32之 ESP-IDF + Clion 开发环境搭建(二)—— Linux版

本文介绍了 Linux 下,使用Clion IDE 用官方 ESP-IDF 开发包进行 ESP32 开发的环境搭建

Augtons 的博客 6098

Linux系统常用的基本命令

本文主要介绍Linux中常用的基本命令,简单实用,以供大家参考,如有错误,欢迎大家指出。下面开始介绍。 一、查看哪个用户登录的系统 1、users命令 2、whoami命令或者who am i命令 二、查看哪些用户在系统上工作 1、who命令 2、w命令 三、查看登录Linux系统所使用的终端 1、tty命令 四、显示操作系统的信息 1、uname命令:un...

象在舞的技术专栏 6万+

保姆级教程:用海思PQTool搞定ISP图像调试,从参数读取到固件烧录全流程

本文提供海思PQTool的ISP图像调试全流程指南,从参数读取、实时调试到固件烧录,涵盖环境配置、核心功能解析、参数固化及生产部署。通过实战案例和避坑指南,帮助开发者高效提升图像质量,适用于海思开发板的ISP调试与优化。

weixin_30872337的博客 280

STM32串口接收避坑指南:为什么你的USART_IT_IDLE中断不触发?附完整调试流程

本文深入解析STM32串口接收中断机制,特别是USART_IT_IDLE中断不触发的常见原因及解决方案。通过详细分析中断标志清除顺序、波特率配置、硬件连接等关键因素,并提供完整的调试流程和代码示例,帮助开发者快速定位并解决串口通信问题。

weixin_42519985的博客 347

Bash语言的并发编程

Bash语言为并发编程提供了多种灵活的机制,包括后台执行、任务调度、进程间通信等。尽管Bash的并发功能不如一些专门的编程语言(如Python、Go)强大,但在很多日常任务中,Bash仍然是一个非常实用的工具。通过适当地运用并发编程技巧,可以显著提高脚本执行的效率和性能。在实际应用中,应综合考虑脚本的可维护性、可读性和容错性,设计出既高效又健壮的并发解决方案。希望通过本篇文章的介绍,能够帮助读者更好地理解Bash并发编程的基本概念和实现方法。

2501_90291120的博客 1335

基于STM32的智能垃圾分类机器人

垃圾分类是城市管理的重要环节,传统人工分拣效率低、成本高。本文设计了一款基于STM32的智能垃圾分类机器人,通过视觉识别与机械臂协同作业,实现垃圾自动分类与投放,适用于社区、公共场所等场景,可显著提升垃圾分类效率。:STM32H743(480MHz Cortex-M7,支持AI加速)本系统实现了垃圾分拣的自动化,显著提升了分类效率。OV5640摄像头(500万像素,支持JPEG输出)支持4类垃圾识别(可回收/厨余/有害/其他)问题讨论,stm32的资料领取可以私信!超声波避障(探测距离0.1-4m)

stm32d1219的博客 1820

系统编程 期末复习二 Shell编程

《系统编程》期末复习二 Shell编程一、输入/输出重定向二、管道三、命令连接符四、Shell语法4.1 执行Shell脚本4.2 执行Shell脚本4.3 执行Shell脚本4.4 执行Shell脚本4.5 执行Shell脚本4.6 执行Shell脚本4.7 执行Shell脚本4.7.1 条件判断4.7.2 if语句4.7.3 select语句4.7.4 switch-case语句4.8 执行Shell脚本4.8.1 for循环4.8.2 while循环4.8.3 until循环五、Shell脚本调试六、

fixupyourmind的博客 383

097、Zephyr RTOS驱动开发实战:传感器驱动(陀螺仪)

I2C速率别设太高:LSM6DSO支持最高400kHz,但实际布线有寄生电容时,400kHz容易出错。工业产品我统一用100kHz,稳定压倒一切。FIFO水印值要计算:假设ODR=6.66kHz,每150us产生一组数据,如果水印设32组,则每4.8ms触发一次中断。这个间隔要大于I2C读取耗时(实测约200us),否则中断堆积。电源纹波敏感:陀螺仪对电源噪声敏感,特别是3.3V供电时。我遇到过因为DC-DC纹波太大,陀螺仪输出噪声从0.1dps飙升到2dps。

m0_50546716的博客 118

【固态变压器(SST)全维度解析】发展历史、技术、玩家、挑战与数据中心趋势

SST正处于技术突破向规模化商用的关键过渡期,随着SiC/GaN器件降价、标准完善、可靠性数据积累,其在数据中心的渗透率将快速提升。短期(2025 - 2027年)以示范项目为主,中长期(2030年后)有望成为超大规模智算中心的主流供电方案。

昔时扬尘处 2127

【BUAA S3系统编程复习】Shell编程

BUAA S3系统编程复习 Linux基础

lyxjtsdmfz的博客 1663

仿真学习系列(四十九):Sigrity仿真之电容库制作

在高速电路设计中,电源完整性(PI)是确保系统稳定、可靠运行的关键因素。随着电子产品对性能的要求不断提升,PDN(电源分配网络)的设计与优化变得尤为重要。为了确保电源网络在高速工作状态下不会引发电压波动和信号干扰,我们需要在设计中精确地选择电容器进行优化,而电容库的制作则是这一过程的核心。 OptimizePI作为一个强大的电源完整性优化工具,能够帮助设计师根据不同的目标,批量进行PDN仿真,以得出最佳电容选择。

案例文章,高速信号 225

Linux编程期末复习【超实用】

所用教材:徐钦桂、徐治根、黄培灿、谢伟鹏(编著) 出版社:清华大学出版社 实战和理论相结合的一本好书,但也很晦涩抽象。以下为考试原题! 一、简答及编程 1. 写出20条命令。 P24 su ls touch tar gcc mkdir rmdir chmod apt wc cd pwd cp kill mv grep cat more less ...

鸽子的博客 7190

ZYNQ系列PS侧和PL侧DDR3或DDR4在AD(Altium Designer 25)中的layout布线规则约束

DDR3或DDR4的PCB布线规则通常有相对固定的要求,对应的,在PCB设计时有固定的约束设置。

FPGA艺术家的博客 788

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Linux 复习_01

Linux 综合练习 找到这里来的大概被Linux课弄得头疼了吧,以下为老师上课发的资料,自己写的答案,如有错误请指出~~ 一、填空题。 1、ls、cp等命令文件一般位于哪个目录 /bin 2、在Linux系统中,第一个启动的进程是:init 其编号为: 1 。 3、给出文件的三种类型的名称 普通文件 、目录文件 、设备文件。 4、当前用户是stu,当前目录在/home/stu/...

qq_40464371的博客 1410

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Linux学习—复习bash这个shell

管理整个计算机硬件是操作系统的内核,内核时需要被保护的,所以我们只能通过shell跟内核通信,让内核达到我们想要的目的。 1 硬件、内核、shell 在计算机运行应用需要些什么? 1)硬件:整个系统中的实体工作者,包含硬盘、显示卡、网络卡、CPU等。 2)核心:真正控制硬件的工作的有CPU进程、内存管理、磁盘输出输入等工作。 3)用户界面(shell、KDE、application):接受来自用户的指令、以与核心进行沟通。 我们必须通过“shell”将我们输入的命令与内核通信,可以让内核控制硬件准确无误地工

qq_41596734的博客 150

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux期末复习-Shell编程基础练习

Linux期末复习-Shell编程的基本练习,包含了多种基本的shell编程

CrazyRabbitttt 3221

bash编程 特殊字符

回想一下,断断续续在工作中写过很多bash脚本了,但一直有一个遗憾,就是未曾系统的学习过bash。能写跟能写的好绝对不是一码事,于是下决心把《高级Bash脚本编程指南》这本书主要部分都仔细读一遍,力争bash编程水平能有所进步,在这里记录一些简略的笔记,用于以后复习,主要会包括一些要点和疑惑解释。 第一部分热身略去了,毕竟不是完全没写过bash的人。。。 第二部分:基础 3.特殊字符 #

韦远科的专栏 1713

bash的一些基础特性(复习)

(一)bash的基础特性:           1.命令历史:history                        -d:删除历史中指定的命令                        -c:清空历史                        history #:显示历史中最近的#条命令            2.调用历史命令:                         !#...

一个Linux系统的初学者 300

bash复习笔记

Bash特性之一:1、命令行展开:能够把一个特殊字符换成别的字符 {,}展开为多个条目,例如 mkdir /home/{od,a,b} (注意不能有空格)2、文件和目录管理类的命令 目录: cd ~[username] ~:指定用户的家目录 cd -:回到上一次所在的目录 路径: 相对路径中: .:当前目录 ..:父目录...

weixin_30279751的博客 186

LINUX之Bash-Script

最近把Linux Bash编程的知识复习了一遍,大概梳理了一下,做个记录。 第一个Bash-Script LINUX shell的种类非常之多,但是目前用得最为广泛的还是Bash,本文也是基于Bash的Shell环境。 下面是一个简单的示例: #! /bin/sh echo 'hello w...

china4875的博客 363

齐鲁工业大学Linux编程基础课程期末复习

1、简述 GNU、GPL 的含义,及其对 Linux 的影响。GNU 计划开始于 1984 年 1 月。其创始人是理查德•马修•斯托曼(Richard Matthew Stallman)。“GNU”是“GNU's Not UNIX”的递归首字母缩写词。“GNU”的发音为 g'noo。GNU 计划的目的是开发一个完全类似于 UNIX 的免费操作系统。其内核 Hurd 的开发工作始于 1990 年,但是至今尚未成熟。

mengnankk的博客 1210

bash shell基本语法之循环示例

前言 bash shell中循环语句的写法有:for-in、for-i、while、until; 循环中断控制符有:break、continue 循环语句示例 for-in #! /bin/bash for num in 1 22 14 55 do echo $num done echo "1 2 3 4 5 loop output" for num in `seq ...

程序猿的樊笼 1547

linux的shell脚本编程练习

(1)如果用户输入的文件为空时显示:you must input a filename,并中断程序;(2)如果用户输入的文件不存在时,显示the file do not exist,并中断程序;说明:由于root在很多权限的限制上面都是无效的,所以使用root执行这个脚本时,练习3:将第二章变量与运算符中字符串相关的练习都练习一遍,并将结果上传到小鹅通平台。(3)如果文件存在,判断该文件的文件类型和执行者对该文件所拥有的的权限。练习1:计算用户输入的任意两个整数的和、差、乘、商、余数。

weixin_55115133的博客 190

30000字Linux期末考试复习总结

30000字Linux期末考试复习总结

KI的博客 8639
上一篇: Ubuntu 10.4 LAMP installation
下一篇: 小议人才
云哥
博客等级 码龄22年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值