天天看点

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

bash

  • kernel
  • 为什么要学习命令行shell
  • 合法的shell
    • shells文件
  • 使用者shell
  • bash shell
    • bash shell简介
    • bash功能
  • type命令

kernel

管理整个计算机硬件的操作系统使kernel,但是kernel又是需要被保护的,就是用户无法直接通过对kernel的命令来操作核心,所以通过shell命令来间接的对计算机执行某种命令。

例如:在听音乐的时候,计算机都做了什么。

首先要有一部分的硬件的条件:声卡,音响等

核心管理:就是支持声卡的芯片组,提供芯片的驱动程序。

在应用程序中输入命令来进行播放音乐。

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

用户可以通过shell命令,图形化操作界面,app等对kernel来进行简介的操作。

操作系统实际上就是一组软件,管理整个的硬件功能的作用。用户通过应用程序控制核心,让核心实现所需的硬件任务。应用程序在最外面,就像是一个外壳。而shell的功能就是提供用户操作系统的接口,可以调用其他的软件。

为什么要学习命令行shell

1.不同的distribution使用的bash命令都是相同的。但是他们的图形化操作界面可能会有变动,需要一定的学习成本去适应。

2.命令行模式对于远程管理的速度快。用图形化操作界面进行远程连接操作的时候,会出现卡顿等。

3.可以更好的管理主机。很多服务器连接同一个主机的时候,用命令行模式可以更好的管理主机。

合法的shell

Bourne shell(sh)

SUN: C shell

K shell 取代C shell

TCSH

Bourne Again shell(bash)sh的增强版 在当前的Linux中使用最多的shell

shells文件

vim /etc/shells
           
Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

使用者shell

使用者默认使用的shell是哪一个呢?

vim /etc/passwd
           
Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

最后的一个字段待变用户正在使用的shell命令,可以在/etc/passwd文件中修改该文件的内容进行对用户使用shell的变换。

bash shell

bash shell简介

文件位于/bin/bash,使Linux默认使用的shell,使GNU计划中的shell,也是当前Linux distribution的标准的shell,它还兼容sh,是sh的加强版。

bash功能

1.命令编辑功能,可以记忆使用过的命令,默认可以记忆1000左右的命令。存放在用户家目录中。

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令
vim ~/.bash_history
           
Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

不一定是history记录的命令越多越好,有可能会使用户的某些信息泄露。

2.命令与文件补全功能:tab键,保证输入是正确的。

3.命令别名的配置(alias)可以用一些简单的命令去替代一些复杂的命令。

在/etc/profile文件中添加

alias lm='ls -al'

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令
Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

但是显示命令没有被找到,原因是因为还没有加载变量,输入:

source/etc/profile

之后再执行。

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

4.前后台控制。

5.shell scripts

6.通配符

type命令

可以查看命令是内建文件与否

type [-tpa] name

不加任何选项或参数时,type会显⽰出name是外部命令还是bash內建命令;

只有bash内建命令在不同的distribution中是相同的。

-t: 显⽰命令的意义;

file: 表⽰为外部命令;

alias: 表⽰该命令为命令别名所配置的名称;

builtin: 表⽰该命令为bash內建命令。

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

-p: 如果name为外部命令,则显⽰完整⽂件名;

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

-a: 根据PATH变量,将所有含有name的命令都进⾏罗列,包括别名

Linux-bashkernel为什么要学习命令行shell合法的shell使用者shellbash shelltype命令

继续阅读