Linux学习篇之shell基础

echo [选项] [输出内容]

-e:支持反斜线控制的转义字符

例:echo -e "hell\bo"   →   输出结果为"helo"

echo -e "\x68\t\x65\t\x6c\n\x6c\t\x6f\t"   →   输出hello(带有格式)

echo -e "\e[1;34mThis is a blue\e[0m"   →   输出蓝色字体(This is a blue)

#30m=黑色,31m=红色,32m=绿色,33m=黄色

#34m=蓝色,35m=洋红,36m=青色,37m=白色

脚本执行:

第一种:(赋予执行权限)

① chmod 755 hello.sh

② ./hello.sh

第二种:(不赋予执行权限)

① bash hello.sh

命令别名与快捷键:

alias → 查看系统生效的别名

alias 别名=‘原命令‘   #设定命令别名(临时生效)

vim ~/.bashrc   #写入配置文件(永久生效)(source .bashrc → 重新加载配置文件)

unalias 别名   #删除别名(临时生效)

Ctrl+c → 强制终止当前命令

Ctrl+l → 清屏

Ctrl+a → 光标移到到命令行首

Ctrl+e → 光标移到到命令行尾

Ctrl+u → 从光标所在位置删除到行首

Ctrl+z → 把命令放入后台

Ctrl+r → 在历史命令中搜索

历史命令:

history [选项]

-c:清空历史命令

-w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

历史命令默认保存1000条,可在/etc/profile中进行修改

!n → 重复执行第n条历史命令

!!  → 重复执行上一条历史命令

!字符串 → 重复执行最后一条以该字符串开头的命令

输出重定向:

键盘 /dev/stdin 0 标准输入

显示器 /dev/stdout 1 标准输出

显示器 /dev/stderr 2 标准错误输出

命令 > 文件   #以覆盖的方式,把命令的正确输出输出到指定的文件或设备中

命令 >> 文件   #以追加的方式,把命令的正确输出输出到指定的文件或设备中

错误命令 2> 文件   #以覆盖的方式,把命令的错误输出输出到指定文件或设备中

错误命令 2>> 文件   #以追加的方式,把命令的错误输出输出到指定文件或设备中

命令 >> 文件 2>&1   #以追加的方式,把正确输出和错误输出都保存到同一个文件中

命令 &>>文件   #以追加的方式,把正确输出和错误输出都保存到同一个文件中

命令 >> 文件1 2>>文件2   #把正确的输出追加到文件1中,把错误的输出追加到文件2中

输入重定向:

wc [选项] [文件名]

-c:统计字节数

-w:统计单词数

-l:统计行数

< <<

多命令顺序执行:

命令1;命令2         #度命令顺序执行

命令1 && 命令2     #当命令1正确执行,命令2才会执行

命令1 || 命令2      #当命令1执行不正确,命令2才会执行

例:命令 && echo yes || echo no      #命令正确执行输出yes,错误执行输出no

管道符:

命令1 | 命令2   #命令1的正确输出作为命令2的操作对象

通配符:

?→ 匹配一个任意字符

* → 匹配0个或任意多个任意字符

[ ] → 匹配中括号中任意一个字符

[0-9] → 匹配0到9的数字中的一个数字

[^0-9] → 匹配除了0-9的数字中的任意一个字符

时间: 2024-10-06 00:29:49

Linux学习篇之shell基础的相关文章

Linux学习篇之shell编程基础

设置环境变量: ① export 变量名=变量值   #设置环境变量 ② 变量名=变量值    #设置环境变量 export 变量名 set   #显示当前shell所有变量 env   #查看环境变量 unset 变量名  #删除变量 常用环境变量: PATH变量:系统查找命令的路径 echo $PATH    #查看PATH的值 PATH="$PATH":/root/sh   #将/root/sh目录加到PATH变量中(临时生效) PS1变量:命令提示符变量 当前语系查询: loc

Linux学习笔记:Shell基础正则表达式

Shell中经常用到正则表达式的命令包括grep.sed.awk 用于测试的文件内容 [[email protected] ~]# vi testfile Current Network Status Last Updated: Mon Feb 15 10:55:06 CST 2016 Updated every 90 seconds Nagios Core 4.1.1 - www.nagios.org Logged in as admin I like google It's Google, 

Linux学习日志2-vim使用基础

vim是linux操作系统下的一个文本编辑工具,功能非常强大,但刚学习起来比较复杂.vim的所有功能要讲明白得有几百页,在这里只是记录一下vim的一些基本用法. 首先vim打开文件的三种方式: vim +# xxx(#是数字):表示打开xxx文件并将光标定位到指定行. vim -o xx1 xx2 xx3:表示同时打开三个文件,垂直分割显示 vim -O xx1 xx2 xx3:表示同时打开三个文件,水平分割显示 多个文件间跳转:键入ctrl+w后:→向左.←向右.↑向上.↓向下 vim打开文件

Linux学习闲谈(一)——Shell基本操作与命令

Linux学习闲谈(一) --Shell基本操作与命令 (转载请附上本文链接--linhxx) 1.#!/bin/sh 放在程序开头,表示用/bin/sh方式来解析. 2.变量 1)变量赋值 varname='xxx',除了在变量赋值和在FOR循环语句头中,其他情况下BASH 中的变量使用必须在变量前加"$"符号,即采用 $varname使用变量.更为标准的变量引用方式是 ${STR} 这样的,$STR 自不过是对 ${STR} 的一种简化.在复杂情况下(即有可能产生歧义的地方)最好用

Linux学习笔记(17) Shell编程之基础

1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了. (2) 基础正则表达式 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除了换行符外任意一个字符 ^ 匹配行首,如:^hello会匹配以hello开头的行 $ 匹配行尾,如:hello$会匹配以hello结尾的

Linux学习8之Shell编程--基础正则表达式

1. 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配的.grep.awk.sed等命令可以支持正则表达式. 通配符是用来匹配符合条件的文件名,通配符是完全匹配的.ls.find.cp等这些命令不支持正则表达式,所有只能使用Shell自己的通配符来进行匹配. 2. 基础正则表达式 原文地址:https://www.cnblogs.com/anchun7080/p/10311257.html

Linux学习笔记之shell编程基础

编程语言: 机器语言.汇编语言 .高级语言 静态语言:编译性语言 ,特点: 强类型(变量在使用前,必须先声明,甚至还需要初始化):事先转换成可执行文件.包含语言如: C .C++.JAVA.C# 动态语言:解释性语言 ,特点: 弱类型(变量用时声明,甚至不区分类型):边解释边执行.包含语言如: ASP.ASP.NET .PHP .SHELL .Python .PERL 编程能力: 面向过程 :Shell.C 面向对象:Python .Perl .JAVA .C++ Bash :变量 类型 环境变

小蚂蚁学习Linux(9)——shell基础了解和bash基本功能

shell简单了解 查看当前的shell    echo    $SHELL 尝试第一个小脚本:    vim    test.sh 1 #!/bin/bash 2 echo 'i will be back'; 注意: #!/bin/bash    这一句是一定要加的,切记. 执行脚本方式: 1. 赋予执行权限,chmod 755 test.sh,直接运行 ./test.sh,注意:要用相对或者绝对路径执行. 2. 通过bash调用执行脚本,如:bash test.sh bash的基本功能 别名

Linux学习之路-Shell编程

Shell的编程 Bash是用得最广泛的shell,是大多数Linux 系统的缺省 shell.Bourne Again shell (bash), 正如它的名字所暗示的,是Bourne shell 的扩展.bash 与Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加和增强了很多特性.bash 也包含了很多 C 和 Korn shell 里的优点.bash 有很灵活和强大的编程接口,同时又有很友好的用户界面. 下面具体来介绍bash. Bash语法基本介绍