Linux 第十三天

十五、shell编程

1、Shell是什么

1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。(将人类语言翻译成机器能识别的二进制代码)

2)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

2、Shell的分类

1)Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。Bourne家族主要包括sh、ksh、Bash、psh、zsh;

2)CShell:CShell主要在BSD版的Unix系统中使用,其语法和C语相类似而得名。C家族主要包括:csh、tcsh

3)Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

3、/etc/shells      查看Linux支持的Shell

4、常用命令

1)echo  输出

语法 echo [选项] [输出内容]

选项:

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


控制字符


作用


\\


输出\本身


\a


输出警告音


\b


退格键,也就是向左删除键


\c


取消输出行末的换行符。和“-n”选项一致


\e


ESCAPE键


\f


换页符


\n


换行符


\r


回车键


\t


制表符,也就是Tab键


\v


垂直制表符


\0nnn


按照八进制ASCll码表输出字符。其中0为数字零,nnn是三位八进制数


\xhh


按照十六进制ASCll码表输出字符。其中hh是两位十六进制数

2)脚本执行

◆赋予执行权限,直接运行

chmod 755 hello.sh

./hello.sh

◆通过Bash调用执行脚本

bash hello.sh

3)历史命令

历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改histsize

语法:history [选项] [历史命令保存文件]

选项:

-c:清空历史命令

-w:把缓存中的历史命令写入历史命令保存文件  家目录/.bash history

历史命令的调用:

◆使用上、下箭头调用以前的历史命令

◆使用“!n”  执行第n条历史命令

◆使用“!!”  执行上一条命令

◆使用“!字串”  执行最后一条以该字串开头的命令

4)命令与文件补全

在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Eab”键就会自动进行补全

5)命令别名

alias别名=原命令    设定命令别名

alias                查询命令别名

修改 /root/.bashrc     让别名永久生效

unalias 别名        删除别名

命令执行时顺序

1第一顺位执行用绝对路径或相对路径执行的命令。

2第二顺位执行别名。

3第三顺位执行Bash的内部命令。

4第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。

6)Bash常用快捷键

原文地址:https://www.cnblogs.com/kuexun/p/Linux_learn_13.html

时间: 02-05

Linux 第十三天的相关文章

攻城狮在路上(叁)Linux(十三)--- 文件与目录的管理

一.查看文件与目录: 1.命令格式:ls [-aAdfFhilnrRSt] 目录名称; 2.参数说明: -a:显示所有的文件,包括隐藏文件(隐藏文件一般以.开头). -d:仅列出目录本身. -l:列出长数据串,包含文件的属性与权限等数据. 二.复制命令:cp 1.命令格式:cp [-adfilprsu] 源文件 目标文件 2.参数说明: -i:若目标文件已经存在时,覆盖之前先询问. -r:递归持续复制,用于目录的复制. -p:连同文件的属性一起复制过去,而非使用默认属性,一般在备份的时候用. -

linux(十三)之磁盘分区、创建文件系统、挂载

前面学习了linux的用户管理 ,感觉是不是linux的多用户多任务的系统感觉十分了解了,但是其实并不然的.你还需要了解更多.接下来给大家分享的是 在vmware中添加硬盘创建分区,然后挂载到指定目录. 记住永远不要放弃自己正在追求的东西,即使有可能会追不到,也要享受其中的乐趣. 一.vmware中添加硬盘 首先大家要先安装 一个vmware虚拟机,相信大部分的人要学习linux都会使用到这个工具,所以这里我就不在介绍vmware了.进入正题 第一步:进入指定linux系统在vmware的设置

Linux第十三周

1.建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu:   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组:密码均为用户名:   3)添加samba用户gentoo,centos和ubuntu,密码均为"mageedu":   4)此samba共享shared仅允许develop组具有写权限,其他用

嵌入式Linux裸机开发(十三)——I2C通信

嵌入式Linux裸机开发(十三)--I2C通信 一.IIC协议 1.IIC总线简介 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线是一种串行数据总线,只有二根信号线,一根是双向的数据线SDA,另一根是时钟线SCL.在 I2C总线上传送的一个数据字节由八位组成.总线对每次传送的字节数没有限制,但每个字节后必须跟一位应答位. IIC总线是一种串行总线,用于连接微控制器及其外围设备,具有以下特点:

linux杂谈(十三):代理服务器

1.代理服务器的简介 ? ?首先我们来了解一些什么是代理服务器?代理服务器是介于浏览器和Web服务器之间的另一台服务器.有了该服务器之后,浏览器发出的信息会先送到代理服务器,由代理服务器来取回网页内容并传送给客户的浏览器.平时我们提到代理服务器,主要是终端用户如何寻找自己需要的代理:而本专题所介绍的,则是服务器端的架设.配置等方面.对企业网络而言,代理服务器可以起到控制网络访问并屏蔽不安全信息,以及网络加速的目的. ? ?我们有的喜欢折腾的同学其实已经接触过代理服务器了,比如我们想要上国外的网站

攻城狮在路上(叁)Linux(二十三)--- linux磁盘参数修改(设备代码、设备名)

一.mknod:设置设备代码 linux中,所有的设备都是用文件来表示,文件通过major与minor数值来判断. major为主设备代码,minor为设备代码(需要查询),示例如下: /dev/hda ---------major:3------minor:0~63 /dev/hdb----------major:3------minor:64~127 /dev/sda----------major:8------minor:0~15 ... 命令格式:mknod 设备名 [bcp] [maj

linux服务器的性能分析与优化(十三)

[教程主题]:1.linux服务器的性能分析与优化 [主要内容] [1]影响Linux服务器性能的因素 操作系统级 Ø CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少. 另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲,两个4核的CPU整

Linux运维 第三阶段 (十三)nss&pam

Linux运维第三阶段(十三)nss&pam 一.nss(network service switch网络服务转换) authentication(认证,决定用户的用户名和密码是否能通过检验) authorization(授权,决定用户是否能访问某服务) audition(审计) username-->UID groupname-->GID http-->80port FQDN-->IP(hosts文件,DNS,mysql,NIS(networkinformation se

多学一点(十三)——解决Linux kdump服务启动失败

kdump 是 Linux Kernel 崩溃时的转储机制,简单理解就是在系统启动过程中如果 Kernel 因为某些原因崩溃了,kdump 就会负责记录日志以便排查原因.在 CentOS 6 等 Linux 发行版中,即便采用最小化安装, kdump 也会作为服务安装到系统中,此时可能因为我们对 Linux分配的内存的限制导致 kdump 服务开机启动失败,如图 1 所示: 图-1 kdump启动失败 解决 kdump 启动失败其实很简单,只要修改 grub.conf 文件,改变crashker

Linux笔记(十三) - 系统管理

(1)进程管理1.判断服务器健康状态2.查看进程a.查看系统中所有进程:ps    例:ps aux(使用BSD操作系统命令格式)    a 显示所有前台进程    x 显示所有后台进程    u 显示哪个用户产生        ps -le(使用linux标准命令格式)    -l 显示更加详细的信息    -e 显示所有进程    结果说明    VSZ :占用虚拟内存大小KB    RSS :占用实际物理内存大小KB    TTY :进程登录终端(?表示内核直接产生,1-7代表本地控制台终