linux BASH shell

有些话、适合烂在心里 提交于 2020-03-02 19:23:32

一. BASH shell的功能

  • 命令编修能力 (history):
  • 命令与文件补全功能: ([tab] 按键的好处)
  • 命令别名配置功能: (alias)
  • 工作控制、前景背景控制: (job control, foreground, background)
  • 程序化脚本: (shell scripts)
  • 通配符: (Wildcard)
  • 当命令超长的时候使用"\"进行两行或者多行写入。
  • 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 内建命令
type的用法范例

二. 变量的取用与配置

1. 变量的取用

[root@www ~]# name=good
[root@www ~]# echo $name
good

 

2. 变量的配置

变量与变量内容以一个等号『=』来连结,如下所示: 
『myname=good』

等号两边不能直接接空格符,如下所示为错误: 
『myname = good』或『myname=good Tsai』

变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误: 
『2myname=good』

变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来,但
双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:
『var="lang is $LANG"』则『echo $var』可得『lang is en_US』
单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:
『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』

可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符;

在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号『`命令`』或 『$(命令)』。特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号! 例如想要取得核心版本的配置:
『version=`uname -r`』再『echo $version』可得『2.6.18-128.el5』

若该变量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,如下所示:
『PATH="$PATH":/home/bin』

若该变量需要在其他子程序运行,则需要以 export 来使变量变成环境变量:
『export PATH』

通常大写字符为系统默认变量,自行配置变量可以使用小写字符,方便判断 (纯粹依照使用者兴趣与嗜好) ;

取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的配置:
『unset myname』

 

3. 系统登录配额

ulimit

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!