【shell命令】基础知识

Shell

Shell :可以理解为后台运行的程序(命令解释器),作用是用来解析你输入的命令,搜索环境变量,找到命令文件,运行命令文件。
Shell 是一个命令解释器,它在操作系统最外层,负责与用户对话。shell保存在/etc/shells目录中
Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。

几种常见的Shell:
Linux 是“万国牌”,由多个组织机构开发,不同的组织机构为了发展自己的 Linux 分支可能会开发出功能类似的软件,它们各有优缺点,用户可以自由选择。Shell 就是这样的一款软件,不同的组织机构开发了不同的 Shell,它们各有所长,有的占用资源少,有的支持高级编程功能,有的兼容性好,有的重视用户体验。
常见的Shell有:sh、bash、csh、tcsh、ash
sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。sh 是第一个流行的 Shell。
bash shell 是 Linux 的默认 shell。
bash 兼容 sh 意味着,针对 sh 编写的 Shell 代码可以不加修改地在 bash 中运行。

#!

用来说明文件类型,例:#!/bin/base 表名该文件是bash程序

包含外部脚本

Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。
source 1.sh 或 . 1.sh

运算式

$((运算式)) 或 $[运算式] 或 expr 1 + 2

管道符

|:命令1的输出做为命令2的数据

重定向

>、1>:输出重定向
案例:echo 'haha' >test.txt 向test.txt输出内容,如果内容存在就清空
>>、1>>:追加输出重定向
案例:echo 'haha' >test.txt 向test.txt追加输出内容
<、0<:输入重定向
案例:xargs -n 2 <test.txt
<< 、0<<:追加输入重定向
2>:输出错误重定向
案例:
echo haha 2>a.txt 如果命令错误,则把错误信息输出到a.txt
echo haha >a.txt 2>b.txt 如果命令错误,则把信息输出到a.txt,把错误信息输出到b.txt
echo haha >a.txt 2>&1 如果命令错误,则把信息输出到a.txt,把错误信息也输出到a.txt
echo haha &>a.txt 如果命令错误,则把信息输出到a.txt,把错误信息也输出到a.txt
ls &>/dev/null 不在屏幕输出内容
2>>:追加输出错误重定向
&>:输出重定向和错误输出重定向

命令顺序执行

; 命令1;命令2 --多个命令顺序执行,命令之间没有逻辑联系
&& 命令1&&命令2 --逻辑与,当命令1正确执行,则命令2才会执行
|| 命令1||命令2 --当命令1执行不正确,命令2才会执行;当命令1正确执行,命令2不会执行

通配符

? --匹配一个字符
* --匹配0或多个字符
[] --匹配中括号中的任意一个字符,例:[abc]、[a-z]
[^] --逻辑非,表示匹配不是中括号中的一个字符

特殊符号

'' --单引号,单引号中所有特殊字符都没有特殊含义
"" --双引号,双引号中可以包含特殊符号
$() --反引号,反引号括起来的内容是系统命令,在bash中先执行它,和反引号··作用一样
# --井号,注释
$ --用于调用变量的值
\ --反斜杠,转义符

参考:
菜鸟教程:https://www.runoob.com/linux/linux-shell.html

posted @ 2021-01-31 18:14  .Neterr  阅读(112)  评论(0编辑  收藏  举报