第19节-认识 BASH 这个 Shell

什么是Shell

    之前提到了: 管理整个计算机硬件的其实是操作系统的核心 (kernel),这个核心是需要被保护的! 所以我们一般使用者就只能透过 shell 来跟核心沟通,以让核心达到我们所想要达到的工作。
    也就是说,我们必须要透过『 Shell 』将我们输入的命令与 Kernel 沟通,好让 Kernel 可以控制硬件来正确无误的工作!

Bash Shell的功能

    1.命令编修能力 (history):
        当我们在命令行界面下输入命令,可使用上下键来调用之前使用过的历史命令,默认可保存1000条;历史命令记录在你的家目录内的 .bash_history文件里,只有当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!

    2.命令与文件补全功能: ([tab] 按键的好处)
        [Tab] 接在一串命令的第一个字的后面,则为命令补全;
        [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』!

    3.命令别名配置功能: (alias)
        使用别名可简化输入指令,提高效率;
        配置别名:alias lm='ls -al'

    4.工作控制、前景背景控制: (job control, foreground, background)
        使用前、背景的控制可以让工作进行的更为顺利!至于工作控制(jobs)的用途则更广, 可以让我们随时将工作丢到背景中运行!而不怕不小心使用了 [Ctrl] + c 来停掉该程序!此外,也可以在单一登录的环境中,达到多任务的目的呢!

    5.程序化脚本: (shell scripts)
        在 Linux 底下的 shell scripts 则发挥更为强大的功能,可以将你平时管理系统常需要下达的连续命令写成一个文件, 该文件并且可以透过对谈交互式的方式来进行主机的侦测工作!也可以藉由 shell 提供的环境变量及相关命令来进行设计.

    6.通配符: (Wildcard)
        除了完整的字符串之外, bash 还支持许多的通配符来帮助用户查询与命令下达。 举例来说,想要知道 /usr/bin 底下有多少以 X 为开头的文件吗?使用:『 ls -l /usr/bin/X* 』此外,还有其他可供利用的通配符, 这些都能够加快使用者的操作!

Bash shell 的内建命令: type

    [root@www ~]# type [-tpa] name
    选项与参数:
        :不加任何选项与参数时,type 会显示出 name 是外部命令还是 bash 内建命令
        -t  :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他的意义:
    file    :表示为外部命令;
    alias   :表示该命令为命令别名所配置的名称;
    builtin :表示该命令为 bash 内建的命令功能;
        -p  :如果后面接的 name 为外部命令时,才会显示完整文件名;
        -a  :会由 PATH 变量定义的路径中,将所有含 name 的命令都列出来,包含 alias

    范例一:查询一下 ls 这个命令是否为 bash 内建?
    [root@www ~]# type ls
    ls is aliased to `ls --color=tty' <==未加任何参数,列出 ls 的最主要使用情况
    [root@www ~]# type -t ls
    alias                             <==仅列出 ls 运行时的依据
    [root@www ~]# type -a ls
    ls is aliased to `ls --color=tty' <==最先使用 aliase
    ls is /bin/ls                     <==还有找到外部命令在 /bin/ls

    范例二:那么 cd 呢?
    [root@www ~]# type cd
    cd is a shell builtin             <==看到了吗? cd 是 shell 内建命令

命令的下达

    当我们顺利的在终端机 (tty) 上面登陆后, Linux 就会依据 /etc/passwd 文件的配置给我们一个 shell (默认是 bash),然后我们就可以依据上面的命令下达方式来操作 shell, 之后,我们就可以透过 man 这个在线查询来查询命令的使用方式与参数说明.
    范例:如果命令串太长的话,如何使用两行来输出?
    [vbird@www ~]# cp /var/spool/mail/root /etc/crontab \
    > /etc/fstab /root
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值