Shell 简介
shell 是用户和Linux 操作系统之间的接口。Linux 中有多种shell,其中缺省使用的是bash。
Linux 系统的shell 作为操作系统的外壳为用户提供使用操作系统的接口。它是一个命令语言解释器,拥有自己内建的shell 命令集。shell 也能被系统中其他应用。程序所调用用户在提示符下输入的命令都由shell 先解释然后传给Linux 核心。
Linux 中的shell 有多种类型其中最常用的几种是Bourne shell(sh)C shell(csh)和Korn shell(ksh)三种shell 各有优缺。
Bourne shell 是UNIX 最初使用的shell,并且在每种UNIX 上都可以使用。Bourne shell 在shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux 操作系统缺省的shell 是Bourne Again shell,它是Bourne shell 的扩展,简称bash。与Bourne shell 完全向后兼容,并且在Bourne shell 的基础上增加增强了很多特性。它还包含了很多C shell 和Korn shell 中的优点,有灵活和强大的编程接口同时又有很友好的用户界面。
Redhat Linux 系统默认的shell 是bash ,对普通用户用$作提示符,对超级用户root 用#作提示符一旦出现了shell 提示符,就可以键入命令名称及命令所需要的参数。
用户在登录到 Linux 时,由/etc/passwd 文件来决定要使用哪个shell 。例如,该文件中含有类似如下一行:
myself:x:500:500:Linux User:/home/myself:/bin/bash
用户使用的 shell 被列每行的末尾(/bin/bash)。
Shell的特性:
1.别名:通过使用alias命令可以为命令设置别名,提供用户个性设置。如:alias 'll=ls -l'
2.命令替换``。如:执行命令ls `cat myfile` -l 将cat myfile地执行结果传递给ls进行替换
3.后台处理,将任务放在后台进行处理,前台可以继续进行操作。nohup tar -czf filename &将压缩操作放置在后台执行。
4.变量(下一次详细介绍)
5.管道 |。将一个命令的输出作为另一个命令的输入。如:ls -l / |more
6.重定向。使用操作符<>进行输入输出的重定向。
7.模式匹配。通过正则表达式进行模式匹配。
Shell脚本
Shell脚本类似于批处理可以方便的执行大量命令,同时由于Shell脚本是一种程序设计语言,功能非常强大。
一个简单的例子:
#!/bin/bash
#注释,第一行格式固定
#定义变量
printstring="Hello Shell";
#输出变量内容
echo ${printstring};
编写shell脚本存储在文件中,需要设定用户对文件的执行权限,才可以执行,一下简介以下文件权限的设置命令chmod。
umask
创建文件和目录的时候系统根据umask的值,设定模人的权限。对应入下表所示:
umask 文件 目录
0 6 7
1 5 6
2 4 5
3 3 4
4 2 3
5 1 2
6 0 1
7 0 0
系统在/etc/profile中设定umask值,可以通过umask命令改变默认值。一般为022建议不要改动,影响系统的安全性
shell 的分类
查看命令
ls -l /bin/*sh
env :查看当前系统的环境变量
shell的修改,对命令的解释方式发生变化。。。
chsh -s shell名称:如chsh -s /bin/csh
history 查看命令历史
!number 即重复该命令
分享到:
相关推荐
在标题提及的"mysql-shell-8.0.30-linux-glibc2.12-x86-64bit.tar.gz"文件中,我们获取的是适用于Linux系统(glibc2.12版本)的64位MySQL Shell版本8.0.30,这是MySQL数据库8.0系列的一个重要组件。 MySQL 8.0相较...
"sqlite-shell-linux-x86-3080500.zip" 是针对Linux平台的x86架构的SQLite3命令行接口的压缩包,版本号为3.8.5。这个压缩包包含了一个名为"sqlite3"的可执行文件,它是用于管理和操作SQLite数据库的shell程序。 ...
"sqlite-shell-linux-x86-3080900.zip" 是一个适用于Linux环境下32位系统的SQLite交互式shell工具的压缩包,版本为3.8.9。这个工具提供了对SQLite数据库进行命令行操作的能力,是开发者和系统管理员在Linux环境中...
MongoDB Community Server(mongodb-shell-linux-x86_64-debian10-5.0.4.tgz)适用于Debian10 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ...
标题中的"mysql-shell-8.0.26-linux-glibc2.12-x86-64bit.tar.gz"指的是MySQL Shell的8.0.26版本,专为基于glibc 2.12的64位Linux系统设计。 MySQL Shell提供了以下主要功能: 1. **多语言支持**:MySQL Shell支持...
MongoDB Community Server(mongodb-shell-linux-x86_64-rhel70-5.0.4.tgz)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案...
linux-shell-scripting-fundamentals-bash.epub
安装`mysql-shell-8.0.18-linux-glibc2.12-x86-64bit.tar.gz`压缩包时,首先需要解压文件,然后将解压后的二进制文件路径添加到系统的PATH环境变量中,以便于从任何目录下直接运行MySQL Shell。安装完成后,可以通过...
Linux Shell简易注册登录系统是一种基于命令行界面的用户身份验证工具,主要由Shell脚本语言编写,用于教学或实验环境。这个系统可以帮助学生理解和实践基本的Linux用户管理和认证原理,而不涉及复杂的系统级别的...
Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...
iperf3-with-timestamp-Linux-shell-cli
linux shell 教程 包含大多数的命令来源于gitbooks,可以根据命令搜索
这个名为"Linux-Shell-Tutorial.rar_Linux shell"的压缩包文件显然包含了一个关于Linux Shell的教程,旨在帮助用户深入理解和掌握这个强大的工具。其中的"Linux Shell Tutorial.chm"是一个帮助文档,很可能包含了...
在Linux世界里,常见的Shell有Bash(Bourne-Again SHell)、C Shell、Korn Shell以及Z Shell等,其中Bash是大多数现代Linux发行版的默认Shell。 **Bash Shell** Bash是GNU项目的一部分,它是对原始的Unix Bourne ...
vip_2024.1129.-4 - iperf3-with-timestamp-Linux-shell-ser
"sqlite-shell-linux-x86-3080704.zip" 是一个专为Linux x86平台编译的SQLite命令行shell工具的压缩包,版本号为3.8.7.4。这个工具允许用户直接在终端中与SQLite数据库进行交互,执行SQL语句,创建、查询、更新和...
11.1 Shell编程-正则表达式.mp4 11.2.1 Shell编程-字符截取命令-cut命令.mp4 11.2.2 Shell编程-字符截取命令-printf命令.mp4 11.2.3 Shell编程-字符截取命令-awk命令.mp4 11.2.4 Shell编程-字符截取命令-sed命令...
本资料“Linux-shell-command.rar”聚焦于Linux Shell的运用和运维相关的shell技巧,旨在帮助用户提升Linux环境下的工作效率。 首先,让我们深入了解什么是Linux Shell。Shell是Linux操作系统的用户界面,它提供了...
ChromeDriver是用于自动化谷歌浏览器(Chrome)的一种工具,它遵循Selenium WebDriver协议。在Web测试自动化领域,ChromeDriver扮演着至关重要的角色,因为它允许开发者控制并进行交互操作,如打开网页、点击元素、...