Linux中shell简介

来源:互联网 发布:李玖哲 夏天 知乎 编辑:程序博客网 时间:2024/05/17 12:51

1、Shell概述

        每个人在成功登录linux后,系统会出现不同的提示符号。例如$、~、#等,然后你就可以开始输入需要的命令,若是命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登录到注销期间,输入的每个命令都会经常解译及执行。而这个负责的机制就是shell。

2、Shell编程

        其实作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面,shell还可以用来进行程序设计。它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中的处理文件,称为shellscript,或叫shell程序或shell命令文件。shell与windows下的批处理文件类似。

3、Shell分类

shell有很多,但常用的就几种:

Shell名称

开发者

命令名称

Bourne

S.R.Bourne

/bin/sh

C

Bill Joy

/bin/csh

Kom

David

/bin/ksh

        1、查看目前使用的是哪种shell。命令:env(该命令可以显示当前操作系统的环境变量)。

        2、shell的修改。命令:chsh -s /bin/[shell文件名] (不同的shell对命令的解释不一样)。

4、Shell命令

        命令补全:是指用户输入命令时,并不需要输入完整的命令,而系统自动会找出最符合的名称。这种功能可以节省经常输入命令的时间。直接输入"mk"再按两下"tab"键,出现两头两个字母为"mk"的命令。cat p再按两下"tab"键会出现开头字母为"p"的所有文件或目录。

        在linux下,我们有时可能希望知道或是使用最近执行的命令,history可能会帮上大忙。

        1、history 5:此项说明会显示最近使用的5个命令。

        2、!5:此项说明执行历史编号为5的命令。

        3、!ls:此项说明执行最后一次以"ls"开头的命令。

5、神奇的ssh

        概述:ssh(securt shell)是一款集远程操作linux和进行文件上传和下载的软件,那是相当的好用呀,在软件公司几乎所有的linux程序员都会使用ssh。安全,方便是它最大的特点。

        安装:linux的ssh服务端是在安装linux时自动安装一个sshd并默认是启动的。ssh服务端的端口是22。windows下安装ssh客户端。使用ssh客户端登陆到linux(前提是linux下的sshd服务启动)。

6、Shell使用

        命令历史和互动:用上下箭头键可以重复以前所输入的命令。

        命令完成功能:用tab键能自动完成相关命令,再次按tab可得到清单。

        shell脚本文件:是一个文本文件/命令集合/有执行的权限chmod744 文件名,执行方式(./文件名)/(.sh后缀名的文件是shell文件)。

        用户登录后自动执行的shell脚本文件:1、.bashrc位于主目录下,它之前执行系统的脚本/etc/bashrc主要是基本配置数据 (/etc/bashrc相当于windows下的自动批处理文件autoexec.bat)。2、.bash_profile位于主目录下,它之前执行系统的脚本/etc/profile主要是配置环境变更。

        当希望在环境中临时加入一个路径时,可使用export,用export:PATH=$PATH:$HOME/bin:/root/test/tl

        输出环境变量PATH引用原来的值$PATH,$HOME表示工作主目录,:是路径分隔符。

        一些已定义好的环境变量:

        SHELL:默认shell

        PATH:路径

        USER:当前登录用户的用户名

        显示变量内容:echo $PATH

                                 echo $USER

                                 echo $SHELL


        通配符: * 代表多个字母或数字

                       ? 代表一个字母或数字

                        ls a*   ls a?    ls ?at?   ls f080[1-6].tif

        转义字符: \

                        ls /mnt/winl/My\ Documents

        引号:export NAME-Michael

        echo Welcome $NAME, the date is date。

        echo 'Welcome $NAME, the date is date':单引号 - shell不处理任何变量和命令;

        echo "Welcome $NAME, the date is date":双引号 - 处理变量但不处理命令;

        echo "Welcome $NAME, the date is `date`":反引号 - 把引号中的每个单词作为一个命令,如果是变量则先求值然后作为一个命令处理。

        别名命令:alias显示系统当前定义的所有alias

        alias别名 = '命令或命令组'

        aliascp='cp -i'

        aliasll='ls -l --color=tty'

原创粉丝点击