Linux认证 > 综合辅导 > 文章内容

linux从入门到精通(34)

2016-6-24编辑:ljnbset

初识Shell——bash

  Linux中的shell有点类似Windows下的cmd.exe或者.bat。管理整个计算机硬件的其实是操作系统的内核(Kernel),用户无法与内核直接交互,所以通过shell来跟内核通信。即shell介于操作系统(Kernel)和用户之间,它是用户与内核的翻译官,是一个命令解释器。

  常见的shell种类有:Bsh、Csh、Ksh、Bash、Zsh

Bsh和Csh出现的较早,Ksh继承了它两的功能,Bash继承了Bsh和Ksh的升级版,而且是Linux系统中默认的shell,Zsh则兼具了各种shell的程序有点,交互式操作效率更高,但仍不及bash应用广泛。

  Shell环境的切换:

  登录Shell:指用户每次登录系统后自动加载的Shell程序,大多数Linux系统采用 /bin/bash 作为默认登录Shell;/etc/shells 文件记录了系统支持的有效登录Shell

 

[root@localhost ~]# cat /etc/shells   ==>使用chsh -l命令也可查看
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh 
[root@localhost ~]#

  默认的shell是bash,那么如何切换shell环境呢?分为两种,一种是临时切换,即当此终端关闭时,下次启动仍然是bash,方法很简单,直接在终端输入shell名称;第二种则是更改用户登录Shell,需要修改/etc/passwd文件中用户记录的最后一个字段,或者像前面讲到的使用修改用户的命令:usermod  -s  shell程序路径   用户名,也可以使用chsh命令,下次登录有效。

  查看当前shell可以通过/etc/passwd来查看,要查看系统默认使用的shell,可以使用echo $SHELL。

  bash的常用功能:

1)Tab键自动补齐

这个功能可以让您少打很多字,并且确定输入是正确的。tab键接在一串命令的第一个字后面,则为命令补全;若接在一串命令的第二个字后面,则为文件补全;直接在bash提示符后面按两下tab键,则能显示所有可执行的命令。

2)命令编辑快捷键

如之前提到的ctrl+D,ctrl+L,ctrl+U等

3)命令历史

 保存用户曾经执行过的命令操作;存放位置是:~/.bash_history隐藏文件;查看历史命令只需使用history命令就行了。

 调用历史命令:

  !n:执行历史记录中的第n条命令

  !str:执行历史记录中以“str”开头的命令

 设置记录历史命令的条数:修改HISTSIZSE参数即可(在/etc/profile文件里),默认为1000条。

(备注:正确使用历史命令可以有效提高命令行输入的效率,例如:如果之前不久执行过“service network restart”命令,则重新修改了网卡的配置文件以后,通常只需要执行“!ser”操作即可调用该历史命令,以重启network服务。合理控制历史命令的条数可以提高安全性,root用户的命令历史一般建议设置为少于100条)

4)命令别名

 为使用较高的复杂命令行设置间断的调用名称,存放位置是:~/.bashrc隐藏文件。查看命令别名只需用alias命令即可。

(备注:手动使用alias命令设置的别名只在当前Shell环境中有效,如alias rm='rm -i';若需每次登录Shell环境时设置的别名都有效,需要修改宿主目录中的“.bashrc”文件,添加相应别名设置)

5)标准输入输出

交互式硬件设备: 

标准输入:从该设备接收用户输入的数据

标准输出:通过该设备向用户输出数据

标准错误:通过该设备报告执行出错信息

类型

设备文件

文件描述编号

默认设备

标准输入

/dev/stdin

0

键盘

标准输出

/dev/stdout

1

显示器

标准错误输出

/dev/stderr

2

显示器

(备注:/dev/stdin、/dev/stdout、/dev/stderr这三个文件是一个符号链接,输入输出与重定向关系紧密)

6)重定向操作

改变标准输入、标准输出、标准错误的方向:

类型

操作符

用途

重定向标准输入

<

将命令中接收输入的途径由默认的键盘更改为指定的文件

重定向标准输出

>

将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上

>>

将命令执行的结果追加输出到指定文件

重定向标准错误

2>

清空指定文件的内容,并将标准错误信息保存到该文件中

2>>

将标准错误信息追加输出到指定的文件中

重定向标准输出和

标准错误

&>

将标准输出、标准错误的内容全部保存到指定的文件中,而不是直接显示在屏幕上

7)管道操作

  管道操作符号是“|”,连接左右两个命令,将左侧的命令输出的结果,作为右侧命令的输入(处理对象)。管道是脚本语言的特色,它可以讲多个功能连接起来形成一个大的功能,这点与面向对象有很大的不同。

  例如我现在要查看历史记录命令的第4行:则可先将前4条命令显示出来,在��示前4条命令的最后一条:history | head -4  |  tail  -1   这样即取出了第四条命令。

linux从入门到精通(33)

热点推荐

登录注册
触屏版电脑版网站地图