网站建设乐云seo,做视频网站为什么费钱,美词原创网站建设,地推是什么1. Shell的介绍
在Linux中#xff0c;Shell 是一种命令行解释器#xff0c;它是用户与操作系统内核之间的接口#xff0c;它负责解释用户输入的命令#xff0c;并将其转换成系统调用或其他操作系统能够执行的指令。
Shell 提供了一种交互式的方式来与操作系统进行通信Shell 是一种命令行解释器它是用户与操作系统内核之间的接口它负责解释用户输入的命令并将其转换成系统调用或其他操作系统能够执行的指令。
Shell 提供了一种交互式的方式来与操作系统进行通信用户可以通过输入命令来执行各种操作。
如文件操作、进程管理、网络通信等。常见的 Shell 包括 Bash、Zsh、Fish 等。 BashBourne Again SHell是一种常用的shell是基于Bourne shellsh的一个扩展版本提供了更多的功能和特性比如命令历史记录、命令补全、变量替换等。因此可以说bash是一种shell它是Linux系统中最常用的shell之一。
不同的操作系统有不同的shell解释器例如Linux中常用的Shell解释器是Bash而Windows使用的是Cmd或者PowerShell。
Windows中存在 *.bat 批处理脚本Linux中常用 *.sh 表示shell脚本
2. Bash的特性
Bash 是Linux系统中最常用的shell之一Bash也是许多Linux系统默认的命令行解释器它允许用户通过命令行界面与操作系统内核进行交互并执行各种命令和脚本。由于其强大的功能和广泛的应用Bash在Linux和其他类Unix系统中被广泛使用。
2.1. 自动补全
Bash可以根据用户输入的部分命令或文件名进行自动补全提高命令输入的效率。
#1.输入ls /us然后按下 Tab 键Bash会自动补全为ls /usr
ls /us#2.输入his然后按下 Tab 键Bash会自动补全为history
his2.2. 历史命令记录
Bash可以记录用户在命令行中输入的命令历史用户可以使用上下箭头来浏览和重复之前输入的命令。
用户登录Linux终端后系统重新读取命令历史记录 .bash_history 文件。
#1.linux默认的历史命令保存在用户目录下的“.bash_history”文件
/root/.bash_history
/home/jungout/.bash_history#2.查看历史命令-c清除历史记录,-r恢复历史命令
history2.3. 别名和函数
Bash支持命令别名和自定义函数可以通过设置别名和定义函数来简化命令行操作。
#1.输入alias可以查看系统上所有别名
alias#2.创建命令别名输入ll就相当于输入ls -l
alias llls -l2.4. 元字符
Bash中支持元字符是具有特殊含义的字符用于匹配文本或执行特定的操作。
常见的元字符包括通配符 * 和 ?定位符 ^ 和 $字符类 [...]反向引用 \1 等等。这些元字符在正则表达式中也经常使用用于进行文本匹配和替换操作。
在Shell中转义字符是反斜杠\。反斜杠用于转义特殊字符元字符使其不再具有特殊含义而是作为普通字符来处理。
常见的元字符 单引号 双引号$ 美元符号 \ 反斜杠。特殊的转义字符 \n 换行\r 回车\t 制表符\b 退格 。
#1.要输出双引号字符
echo This is a quote: \ #输出This is a quote: #2.要输出反斜杠字符\
echo The path is: /home\\documents #输出The path is: /home\documents2.5. 通配符
通配符扩展Bash支持通配符如*和?来扩展文件名用于匹配一系列文件名或者路径名的特殊字符。 * 匹配任意长度的任意字符当前目录下存在file1.txt、file2.txt、file3.txt三个文件 # 列出所有以.txt结尾的文件
ls *.txt? 匹配任意单个字符 ls file?.txt[] 匹配指定范围内的任意单个字符 ls file[0-9].txt
ls [a-z]ile[0-9].txt{} 匹配指定的一组字符中的任意一个(集合) mkdir {dir1,dir2}! 用于否定匹配 # 列出所有不以.txt结尾的文件
ls !(*.txt)2.6. 重定向
I/O 重定向机制Bash支持I/O重定向可以将命令的输入和输出重定向到文件或其他命令。
将命令的标准输出重定向到文件如果文件不存在则创建如果文件已存在则覆盖。将命令的标准输出追加到文件末尾如果文件不存在则创建。将文件内容重定向为命令的标准输入。用来表示输入重定向可以将一个文本块作为输入传递给命令。
#1.使用 将命令的输出重定向到文件强制覆盖文件
ls filelist.txt#2.使用 将命令的输出追加到文件末尾文件不存在则创建
ls filelist.txt#3.从文件中读取内容作为命令的输入(读取unsorted内容排序后再写入到sorted)
sort unsorted.txt sorted.txt#4.把文本块作为输入传递给cat命令。
cat EOF
This is a multiline
message that is input
to the cat command
EOF2.7. 管道
管道机制Bash支持管道操作符 |可以将一个命令的输出作为另一个命令的输入执行效果较慢。
将一个命令的输出作为另一个命令的输入实现多个命令的协作。在数据处理过程中可以通过管道将多个命令连接起来实现复杂的数据处理任务。通过管道可以将命令的输出结果传递给另一个命令进行进一步处理从而实现数据的筛选、转换和汇总。
#1.列出当前目录的文件并过滤出带有后缀txt的文件
ls -l | grep txt