在接手同事的容器化代码和自动部署代码之后发现了自己很大的问题,那就是对 Linux 的脚本和一些常用的命令还不是很熟悉,经常要去查命令的用法,于是决定还是开个分类每周一篇文章来记录一下每天用到或者见到的命令,算是一种笔记吧!
bash-complete-partial-path 通过添加不完整的路径展开(类似于 Zsh)来增强 Bash(它在 Linux 上,macOS 使用 gnu-sed,Windows 使用 MSYS)中的路径补全。如果你想在 Bash 中使用这个省时特性,而不必切换到 Zsh,它将非常有用。
终端打印 玩转变量与环境变量 使用函数填加环境变量 通过shell进行数学运算 玩转文件描述符与重定向 数组和关联数组 使用别名 获取终端信息 获取、设置日期及延时 调试脚本 函数和参数 将命令序列的输出读入变量 以不按回车键的方式获取字符”n” 运行命令直至执行成功 字段分隔符和迭代器 比较与测试
该文讲述了如何修复Linux/Unix/OS X/BSD系统控制台上的显示乱码问题。首先,可以尝试使用clear命令或reset命令来清理屏幕。如果这些方法不起作用,可以尝试使用ANSI转义序列来真正地清空bash终端。这些方法有助于解决控制台显示乱码的问题。
有时我的探索会在屏幕上输出一些奇怪的东西。比如,有一次我不小心用 cat 命令查看了一下二进制文件的内容 —— cat /sbin/*。这种情况下你将无法再访问终端里的 bash/ksh/zsh 了。 -- Vivek Gite 本文导航 ◈ clear 命令 22% ◈ 使用 reset 命令修复显示 45% ◈ 使用 ANSI 转义序列来真正地清空 bash 终端 65% 编译自 | https://www.cyberciti.biz/tips/bash-fix-the-display.html 作
在编写Bash脚本时,如果遇到类似 syntax error near unexpected token 'from' 的错误,这意味着脚本中的某个语法有问题。本篇博客文章将介绍如何解决这个错误。
众所周知, bash (the B ourne- A gain Sh ell)是目前绝大多数 Linux 发行版使用的默认 shell。本文将会介绍怎么通过添加颜色和样式来自定义 bash 命令提示符的显示。尽管很多插件或工具都可以很轻易地满足这一需求,但我们也可以不使用插件和工具,自己手动自定义一些基本的显示方式,例如添加或者修改某些元素、更改前景色、更改背景色等等。
命令行的通配符 * 匹配零个或多个 ls -l /dev/sda* ? 匹配单个字符 ls -l /dev/sda? [0-9] 匹配0~9之间单个数字字符 ls -l /dev/sda[0-9]
众所周知, bash (the B ourne- A gain Sh ell)是目前绝大多数 Linux 发行版使用的默认 shell。本文将会介绍如何通过添加颜色和样式来自定义 bash 命令提示符的显示。尽管很多插件或工具都可以很轻易地满足这一需求,但我们也可以不使用插件和工具,自己手动自定义一些基本的显示方式,例如添加或者修改某些元素、更改前景色、更改背景色等等。
在 Linux Shell 中,有很多字符是有特殊含义的,如果期望把这个字符当作普通字符来处理,需要经过 \ 的转义。
欢迎大家star我的GitHub:https://github.com/SolerHo/geeks-shell,建议直接使用GitHub来查看排版,发现markdown有错位的情况。
现在,越来越多的人趋向使用ZSH取代(Linux)原本的Bash作为自己的终端Shell。的确,ZSH才是适用于现代的Shell:
http://blog.csdn.net/pipisorry/article/details/39584489
表3-1 输入重定向中用到的符号及其作用
echo 命令是 Linux 中最基本和最常用的命令之一。 传递给 echo 的参数被打印到标准输出中。
个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每个匹配的行写入标准输出。
来自:程默 - 博客园,作者:程默 www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html 说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例: [chengmo@localhost ~/shell]$ ls a.txt b.txt c.old [chengmo@localhost ~/shell]$ ls *.txt a.txt b.txt [chengmo@localhost ~/shell]$ ls d*.t
诶诶欸?不是学Linux么?怎么要讲shell了?shell是啥?啥是shell?
把多个 Linux 命令适当地组合到一起,使其协同工作,以便更加高效地处理数据。要做到这一点,就必须搞明白命令的输入重定向和输出重定向的原理。
grep是Linux中用于文本处理的最有用和功能最强大的命令之一。 grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每条匹配的行写入标准输出。
其实脚本解释的时候#! /bin/bash解释的时候也是注释,只是系统识别为脚本解释器
所有程序, 包括shell启动的程序, 都能访问环境变量, 在c中通过system()函数执行的结果可以通过环境变量传递回来
Linux/Unix 下除了调用SQL之外,调用PL/SQL也是DBA经常碰到的情形,下面主要通过一些示例给出如何在shell下面来调用pl/sql。
read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。
作者:Linux学习 ID:LoveLinux1024 这里的技术技巧最初是来自谷歌的“Testing on the Toilet” (TOTT)。这里是一个修订和扩增版本。 脚本安全 我的所有bash脚本都以下面几句为开场白: #!/bin/bash set -o nounset set -o errexit 这样做会避免两种常见的问题: 引用未定义的变量(缺省值为“”) 执行失败的命令被忽略 需要注意的是,有些Linux命令的某些参数可以强制忽略发生的错误,例如“mkdir -p” 和 “rm -f”
本文介绍了Linux系列教程的第20篇——Linux的shell概述以及如何执行脚本。首先介绍了shell的概念和作用,然后讲解了Linux支持的shell种类和查看方式。接着介绍了echo输出命令和脚本执行方式,最后通过范例介绍了如何编写并执行shell脚本。
作者: Escape 链接:https://www.escapelife.site/posts/e8431cda.html
大多数原因是因为 shell 脚本是在 Windows 编写导致的换行问题,具体原因是 Windows 的换行符号为 CRLF(\r\n),而 Unix\Linux 为 LF(\n)。
学习前准备,了解 基础环境部署,工作原理,发展和历史 pycharm,notepad++等工具 交互模式 命令行模式 废话不多说,直接上分 第一个脚本 打印 linux命令行下,vim 1.py #!/bin/env python print "hello world" 保存退出。 chmoc +x 1.py python 1.py [root@localhost xiaoai]# python 1.py hello world 2.打印+运算 [root@localhost xiaoai]# cat
先说明以下内容来自:https://www.cnblogs.com/yinheyi/p/6648242.html 请大家支持原作,点击链接查看。 我写下来只是作为笔记,如果侵权,请留言,立马删除。 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有: bash:是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。 sh: 由Steve Bourne开发,是Bour
shell既是类Unix操作系统的命令解析器,用于解释执行用户输入的一连串命令,它类似于DOS下的command和后来Windows的cmd.exe。同时shell也是一种程序设计语言。作为命令解释型的脚本语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它预定义了各种环境变量,保留了一些关键字以及一些特殊字符的含义,并提供了许多在高级语言中才具有的控制结构,包括循环和分支判断。
Shell脚本语言是实现Linux/Unix系统管理及自动化运维所必须的重要工具,Linux系统的底层以及基础应用软件的核心大都涉及Shell脚本的内容。
总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。
需要注意的是,有些Linux命令可以使用一些选项来强制忽略错误,比如rm -f和mkdir -p。
一,shell题记 不懂shell的程序员不是好程序员,学习shell是为了自动化,使用自动化可以非常有效的提高工作效率。没有一个大公司不要求linux的基本技能的,只是不同岗位要求掌握的程度不同。 二,shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具
扩展:history 1 | { read x cmd; echo “$cmd”; }
In this chapter we will look at a seemingly trivial detail — our shell prompt. Thisexamination will reveal some of the inner workings of the shell and the terminal emulatorprogram itself.
变量名的规范 注意,变量名后面的等号左右不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
expr (evaluate expressions 的缩写),译为“表达式求值”。Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些选项对字符串进行处理,例如计算字符串长度、字符串比较、字符串匹配、字符串提取等。
管道符 ; 顺序执行,命令之间没有逻辑关系 正常顺序执行 && 逻辑与; 当命令1正确执行后,才会执行命令2。否则命令2不会执行 两个命令都会执行 || 逻辑或; 当命令1不正确执行后,命令2才会执行。否则命令2不会执行 mi 会执行whom 其他特殊符号 符号 作用 ' 单引号,在单引号中所有的特殊符号,如“$”和“`”(反引号)都无特殊含义 " 双引号,在双引号中特殊符号都无特殊含义,但“$”、“`”(反引号)和“\”是例外,拥有“调用变量值”,“引用命令”和“转义符”的特殊含义 ` 反
shell脚本语言采用交互式的方法解释和执行用户输入的命令或者自动解释和执行预先设定好的一连串的指令,它里面定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构。今天看了看shell脚本语言的一些语法,感觉语法还是挺简单的,但是有一些需要注意的点,这里描述介绍一下。
sed 是一个流编辑器。 它可以对文件和输入流(如管道)执行基本的文本操作。 使用 sed,您可以搜索、查找和替换、插入和删除单词和行。 它支持基本的和扩展的正则表达式,允许您匹配复杂的模式。
Linux中的三个命令awk、sed、grep在业界被称为“三剑客”,grep擅长查找,sed擅长取行和替换,awk擅长运算。
变量 #!/bin/bash # 变量 echo "01_变量.sh" # 变量定义与赋值,等号两边不能用空格分开 name=hahahaha echo $name echo 也使用 {} 输出为 ${name} # 一些特殊变量 test_func() { echo "function name is $FUNCNAME" } test_func echo $HOSTNAME echo $HOSTTYPE echo $MATCHTYPE echo $LANG echo $PWD # echo $
Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好,往往能给我们起到事半功倍的效果,为此,特地将Shell里面的一些符号说明罗列成对照表的形式,以便快速的查找。看看你知道下表中的哪些Shell符号呢?
Win脚本在Linux执行会报错,由于换行符定义不同,需要将windows文件 转换成 unix文件
shell脚本编程在linux系统管理拥有着极为强大的能力,可以说,当前的工作已经日益偏向自动化了。如果我们极不愿意去学习这方面的知识,可能在未来的工作中颇有不便。尽管我本人的编程能力较差,但是对于自动化的监控和警报,或者自动化的让系统自己处理一些小问题这类事情,我还是比较感兴趣的。一来不用自己天天盯着服务器,省出自己的时间去学习或做一些别的工作,无疑是更有意义的;其次呢,也是对于我的短板的补足,编程本身还是很有趣的,如果能够驾驭好这个工具,那可能真的可以创造出一个属于自己的世界。
领取专属 10元无门槛券
手把手带您无忧上云