日期:2014-05-16  浏览次数:20604 次

Linux私房菜 课后练习第十章

Linux私房菜 课后练习第十章
2011年06月15日
  Bash的优点:
  1、命令编修能力 (history):
  曾经输入的指令都被记录下来,记录的文件在根目录的.bash_history下。~/.bash_history记录的是上一次登入以前执行过的指令,这一次登陆所运行的命令都被缓存在内存中,当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!
  2、命令与文件补全功能: ([tab] 按键的好处)
  [Tab] 接在一串命令的第一个字的后面,则为命令补全;
  [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』!
  3、命令别名配置功能: (alias)
  4、工作控制、前景背景控制: (job control, foreground, background)
  5、程序化脚本: (shell scripts)
  6、通配符: (Wildcard)
  显示变量的值要用echo指令:
  语法:
  [root @test root]# echo $variable
  范例:
  [root @test root]# echo $PATH
  /bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr /local/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/ bin
  [root@test root]# echo $PATH
  /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/ local/bin:/usr/local/sbin
  [root@test root]# echo $HOME
  /root
  显示系统中的所有环境变量可以使用env指令
  比较重要的几个环境变量
  HOME 登入者的根目录
  SHELL 目前这个环境使用的 SHELL 是哪支程序
  HISTSIZE 当前的指令记忆数量
  MAIL 您的邮件文件
  PATH 文件和命令的搜寻路径
  set命令不止显示环境变量而且显示用户自定义变量
  配置变量:变量名=变量内容
  变量的配置规则:
  1、变量与变量内容以一个等号『=』来连结
  2、等号两边不能有空格符
  3、变量名称只能是英文字母与数字,但是开头字符不能是数字
  4、变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来,但
  双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:
  『var="lang is $LANG"』则『echo $var』可得『lang is en_US』 
  单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:
  『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』
  5、可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符
  6、在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号『`命令`』或『$(命令)』。注意,那个 ` 是键盘上方的数字键        1 左边那个按键,而不是单引号
  7、若该变量为扩增变量内容时,则可用 "$变量名称"或 ${变量} 累加内容,如:『PATH="$PATH":/home/bin』
  8、若该变量需要在其他子程序运行,则需要以 export 来使变量变成环境变量,如:『export PATH』
  9、通常大写字符为系统默认变量,自行配置变量可以使用小写字符
  10、取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的配置:
  『unset myname』
  set命令: OSTYPE=linux-gnu  ' <== 如果你使用跳脱符号 (\) 第二行以后的提示字符也 name=VBird <== 刚刚配置的自定义变量也可以被列出来喔!$<== 目前这个 shell 所使用的 PID?<== 刚刚运行完命令的回传值。
  环境变量PS1
  PS1:(提示字符的配置)
  这是 PS1 (数字的 1 不是英文字母),这个东西就是我们的『命令提示字符』 \H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』
  \h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略
  \u :目前使用者的账号名称,如『root』;
  \v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取『3.2』显示
  \w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代;
  \W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。
  \# :下达的第几个命令。
  \$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $