鸟哥私房菜Shell基础(1/3)

何为shell

应用程序操作操作系统的顺序是

  • 应用程序发出指令
  • 核心管理Kernel(主要控制各个硬件工作)
  • 硬件
    而入提到的很多指令例如man,chmod等都是死一系列的应用程序,这些程序都是通过操作kernel来操作硬件做出具体的行为

linux系统使用的shell

  • /bin/sh(已被/bin/bash取代)
  • /bin/bash (预设的shell)
  • /bin/tcsh(整合C shell,提供更多功能)
  • /bin/csh (已被/bin/tcsh取代)

使用者什么时候可以获得操作的shell?

[root@young ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

如上,当我们登录的时候,在/etc/passwd中就保存了对应用户使用的shell,而root用户使用的就是/bin/bash

常用的shell,bash

bash有何好处?以下几点为使用bash的好处:

  • 记忆指令功能,在命令行模式下使用上下键可以查看输入的指令,可以记忆的命令超过1000个(怎么看这些被记录的命令?输入history命令或者查看~/.bash_history)
[root@young ~]# history
    1  ls
    2  cd /opt
    3  cd /
    4  ls
    5  wget http://download.redis.io/releases/redis-4.0.7.tar.gz
    6  ls
    7  cd /redis
    8  cd /opt/redis
    9  ls
   10  tar xvf redis-2.8.8.tar.gz 
   11  ls
   12  cd /opt/
   13  ls
   14  cd redis/
  • 命令补全功能【tab】键
    这里需要注意的是,Tab在指令第一个字的后面为命令补全而在第二个字后面则为文件补全
  • 别名设定功能alias
[root@young ~]# alias la='ls -alh'
[root@young ~]# la
总用量 48K
dr-xr-x---.  3 root root  206 3月  10 21:18 .
dr-xr-xr-x. 17 root root  224 1月  25 23:34 ..
-rw-------.  1 root root 1.2K 1月  25 23:35 anaconda-ks.cfg
-rw-------.  1 root root 3.1K 5月  27 17:18 .bash_history
-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile
-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc
-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc
drwxr-xr-x.  2 root root   40 2月   3 15:59 .oracle_jre_usage
-rw-r--r--.  1 root root   37 1月  26 00:01 .rediscli_history
-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc
-rw-r--r--.  1 root root  14K 3月  11 17:38 zookeeper.out

使用后的效果和ll一样,可以直接使用别名

  • 工作控制,可以处理多线程的任务,在鸟哥第十六章

如何查看bash的联机帮助文件呢?

直接使用man后加bash是全部bash的帮助文件,而后面如果跟上命令的话则是这个命令的帮助文件

[root@young ~]# man cd
BASH_BUILTINS(1)      General Commands Manual     BASH_BUILTINS(1)

NAME
       bash, :, ., [, alias, bg, bind, break, builtin, caller, cd,
       command, compgen,  complete,  compopt,  continue,  declare,
       dirs,  disown,  echo,  enable,  eval,  exec,  exit, export,
       false, fc, fg, getopts, hash, help,  history,  jobs,  kill,
       let,  local,  logout,  mapfile,  popd,  printf, pushd, pwd,
       read, readonly, return, set, shift, shopt, source, suspend,
       test, times, trap, true, type, typeset, ulimit, umask, una‐
       lias, unset, wait - bash built-in commands, see bash(1)

而type则是查看是否是bash内的命令和命令所处的位置

你可能感兴趣的:(鸟哥私房菜Shell基础(1/3))