linux初学之6——shell基础

来源:互联网 发布:大数据数据采集 编辑:程序博客网 时间:2024/06/08 09:39

一、概念

1、shell是什么

Shell 是 一 个 命 令 行 解 释 器 它 为 用 户 提 供 了 一 个 向 Linux 内 核 发 送 请 求 以 便 运 行 程 序 的 界 面 系 统 级 程 序 , 用 户 可 以 用 Shell 来 启 动 、 挂 起 、 停 止 甚 至 是 编 写 一 些 程 序 。 
Shell  还 是 一 个 功 能 相 当 强 大 的 编 程 语 言 , 易 编 写 , 易 调 试 , 灵 活 性 较 强 。 Shell 是 解 释 执 行 的 脚 本 语 言 , 在 Shell 中 可 以 直 接 调 用 Linux 系 统 命 令 。


机器能识别的是机器语言,也就是二进制。但是对于人来讲,二进制就是如同金星文了,几乎看不懂,那么如何进行这中间的翻译呢?shell的作用就是这个“翻译官”。

windows的图形操作界面就是类似于linux的shell的功能。


 2、shell 分类

Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容.Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh

查看linux支持的shell; 

(1) vi /etc/shells

(2)echo $SHELL

切换/调用shell: shell [shell类型]

 回到上次shell:  exit


3、脚本执行方式

  编写脚本文件,例如 vi hello.sh

(1)给hello.sh文件赋予执行权限,直接运行:

            chmod 755 hello.sh 

            ./hello.sh

(2)通过bash调用执行脚本

          bash hello.sh

(3)直接. 脚本文件

         . hello.sh


4、脚本语言中基本输出echo简介

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

选项:



二、bash基本功能

1、命令别名、快捷键

命令别名:顾名思义,给命令赋予其他的名称,那么给什么样子的命令赋予其他名称呢?理论上可以给任意命令赋予别名,而我们的习惯操作是给一串命令赋予一个别名,也就是说一个新的命令对应了一串命令,举例,常用的ll 实际上就是系统默认指定的别名:ls -l --color=auto。

(1)查看系统中已经存在的别名: alias

(2)设置别名:alias 别名 原命令

(3)让别名永久生效:将别名写入环境变量配置文件~/.bashrc(前文已经讲过,~代表当前用户的家目录,/root 或者/home/username),对每个用户单独生效。  让环境变量立即生效:source ~/.bashrc

(4)删除别名:如果已经写入配置文件~/.bashrc,则需要删除该配置文件中的配置项。

   删除别名指令:unalias 别名


(5)命令生效的顺序



快捷键:

   含义与windows中快捷键含义相通,简单的按键完成特殊的功能。

   例如常用的几个快捷键:

   ctrl c:强制终止当前执行命令

   ctrl l:清屏

   ctrl a:光标移动到行首

   ctrl e:光标移动到行尾

   ctrl u:删除整行

   ctrl z:命令后台执行

   ctrl r:历史命令


2、历史命令

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

      选项:-c 清空历史命令    -w 把缓存中的历史命令写入到历史命令保存文件中 ~/.bash_history

默认历史命令保存1000条,修改/etc/profile 配置文件中的 HISSIZ,可以修改此数据。


历史命令调用:



3、输入重定向、输出重定向


对于计算机而言,输入,就是接收数据,输出就是将数据发送出去,那么接收数据的来源一般来自键盘、鼠标、扫描仪等,而发送的终端,往往就是显示器、打印机等。

输出重定向指的就是将默认的发送终端修改为其他设备或文件等。例如,当我执行ls命令时,默认情况下,输出的结果是在显示器中,而如果我想要将结果保存到一个文件test.log中的时候,那么这个过程就是输出重定向了。输入重定向含义类似。


输入重定向用的不多,一般用于wc命令

    命令格式为 wc [选项] [文件名]

    选项:

    -c 统计字节数

    -w 统计单词数

    -l 统计行数

例如, wc < test.log ,意为统计文件test.log的数据,此命令等同于 wc test.log

      wc << abc *** abc ,意为统计直到第二个abc出现时的数据量。(此处的abc为任意字符串)


下面几个截图说明输出重定向的语法。






4、多命令顺序执行

多命令顺序执行的符号有四个,分别是:; && || |;分号、逻辑与、逻辑或、管道符。

其中| 两边的命令是有关系的,即命令1 的正确输出作为命令2 的操作对象

 ; && || 符号两边的命令都没有关系,具体说明如下:



管道符 | 举例:netstat -an | grep *** | wc -l ,查看当前状态为 ***的端口的连接总数。


5shell中的特殊符号,包括通配符和bash其他特殊符号



本文为慕课网linux学习笔记,参考网址:http://www.imooc.com/learn/175


文章描写简单,如有错误欢迎批评指正。



0 0
原创粉丝点击