Linux学习高级篇(一)

xiaoxiao2021-02-28  132

一、shell概述

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。 Shell的分类: Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。 C Shell: C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名. Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。

二、shell脚本执行方式

(1)、echo命令 -e表示支持反斜杠字符转换。 linux中字符有以下几种: Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh 控制字符 作 用\\ 输出\本身\a 输出警告音\b 退格键,也就是向左删除键\c 取消输出行末的换行符。和“-n”选项一致\e ESCAPE键\f 换页符\n 换行符\r 回车键\t 制表符,也就是Tab\v 垂直制表符\0nnn 按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进 制数\xhh 按照十六进制ASCII码表输出字符。其中hh是两位十六进制数 shell脚本Hello.sh编写 执行:

三、Bash的基本功能

(1)history命令 [root@localhost ~]# history [选项] [历史命令保存文件] 选项: -c: 清空历史命令 -w: 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history 历史命令默认会保存1000条,可以在/etc/profile中修改。 (2)alias 命令 给某个命令设置别名: [root@localhost ~]# alias 别名='原命令 ' 查询命令的别名:alias Bash中常用的快捷键: 快捷键 作 用ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移 动到命令行开头时使用。ctrl+E 把光标移动到命令行结尾。ctrl+C 强制终止当前的命令。ctrl+L 清屏,相当于clear命令。ctrl+U 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退 格键一个一个字符的删除,使用这个快捷键会更加方便ctrl+K 删除或剪切光标之后的内容。ctrl+Y 粘贴ctrl+Uctrl+K剪切的内容。ctrl+R 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入 搜索内容,就会从历史命令中搜索。ctrl+D 退出当前终端。ctrl+Z 暂停,并放入后台。这个快捷键牵扯工作管理的内容,我们在系统管 理章节详细介绍。ctrl+S 暂停屏幕输出。ctrl+Q 恢复屏幕输出。 (3) 标准输入输出   设备 设备文件名 文件描述符 类型键盘 /dev/stdin 0 标准输入 /dev/sdtout 1 标准输出显示器 /dev/sdterr 2 标准错误输 出 (4) 输出重定向 类 型 符 号 作用标准输出重定向命令 > 文件以覆盖的方式,把命令的 正确输出输出到指定的文 件或设备当中。命令 >> 文件以追加的方式,把命令的 正确输出输出到指定的文 件或设备当中。标准错误输出重定 向错误命令 2>文件以覆盖的方式,把命令的 错误输出输出到指定的文 件或设备当中。错误命令 2>>文件以追加的方式,把命令的 错误输出输出到指定的文 件或设备当中。 正确输出和错误输 出同时保存命令 > 文件 2>&1以覆盖的方式,把正确输 出和错误输出都保存到同 一个文件当中。命令 >> 文件 2>&1以追加的方式,把正确输 出和错误输出都保存到同 一个文件当中。命令 &>文件以覆盖的方式,把正确输 出和错误输出都保存到同 一个文件当中。命令 &>>文件以追加的方式,把正确输 出和错误输出都保存到同 一个文件当中。命令>>文件1 2>>文件2把正确的输出追加到文件 1中,把错误的输出追加 到文件2中。 (5) .输入重定向 使用wc命令: wc  选项  文件名 选项: -c 统计字节数-w 统计单词数-l 统计行数 (6)多命令顺序执行 多命令执行 符 格式 作 用命令1 ;命令2 多个命令顺序执行 系 ,命令之间没有任何逻辑联&& 命令1 && 命令2逻辑与 当命令1正确执行,则命令2才会执行 当命令1执行不正确,则命令2不会执行|| 命令1 || 命令2逻辑或 当命令1 执行不正确,则命令2才会执行 当命令1正确执行,则命令2不会执行 (7)管道符 命令格式: [root@localhost ~]# 命令1 | 命令2 #命令1的正确输出作为命令2的操作对象 例如:ll -a /etc/ | more netstat -an | grep "ESTABLISHED" [root@localhost ~]# grep [选项] "搜索内容" 文件名 选项: -i忽略大小写-n 输出行号-v 反向查找--color=auto 搜索出的关键字用颜色显示
转载请注明原文地址: https://www.6miu.com/read-45248.html

最新回复(0)