zoukankan      html  css  js  c++  java
  • 鸟哥Linux私房菜(基础篇)——第十一章:认识与学习Bash

    1.变量的取用与设定

           ●变量的取用:echo

           ●变量的设定规则

                 变量与变量内容以一个等号『=』来连结。

                 等号两边不能直接接空格符。

                 变量名称只能是英文字母和数字,但是开头字符不能是数字。

                 变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来。


    2.环境变量的功能

           ●用env观察环境变量与常见环境变量说明。

           ●用set观察所有变量。


    3.提示符的设定

           ● d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2"。

           ● H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』。

           ● h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略。

           ● :显示时间,为 24 小时格式『HH:MM:SS』。

           ● T :显示时间,为 12 小时格式『HH:MM:SS』。

           ● A :显示时间,为 24 小时格式『HH:MM』。

           ● @ :显示时间,为 12 小时格式『am/pm』样式。

           ● u :目前使用者的账号名称,如『root』。

           ● v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅显示『3.2』。

           ● w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 替代。

           ● W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。

           ● # :下达的第几个指令。

           ● $ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 。

    finlay@finlay-Lenovo-G470:~$ PS1='[u	w#]$'
    [finlay09:13:39~8]$pwd
    /home/finlay
    [finlay09:13:42~9]$who
    finlay   tty7         2013-07-13 09:06 (:0)
    finlay   pts/0        2013-07-13 09:12 (:0)
    [finlay09:13:45~10]$cd

    5.?(上一个指令的回传值)


    6.export: 自定义发量转成环境发量


    7.影响显示结果的语系变量 (locale)


    8.变量键盘读取、数组与宣告: read, array, declare

           ●read

            ●declare / typeset

            ●array

    finlay@finlay-Lenovo-G470:~$ var[1]="mornimg"
    finlay@finlay-Lenovo-G470:~$ var[2]="afternoon"
    finlay@finlay-Lenovo-G470:~$ var[3]="evening"
    finlay@finlay-Lenovo-G470:~$ echo "${var[1]} : ${var[2]} : ${var[3]}"
    mornimg : afternoon : evening
    

    9.文件系统及程序的限制: ulimit


    10.命令别名设定: alias, unalias


    11.历史命令:history


    12.bash 的进站欢迎讯息: /etc/issue, /etc/motd


              除了 /etc/issue 之外还有 /etc/issue.net,这个是提供给 telnet 这个远程登录程序用的。 当我们使用 telnet 连接到主机时,主机的登入画面就会显示 /etc/issue.net 而丌是/etc/issue 呢!
    至于如果想要让使用者登入后取得一些讯息,那么可以将讯息加入/etc/motd 里面去。


    13.bash 的环境配置文件

           ●login 与 non-login shell

               login shell:取得 bash 时需要完整的登入流程的,就称为 login shell。non-login shell:取得 bash 接口的方法不需要重复登入的举动。两个shell的配置文件数据不一样。


    14.终端机的环境设定:stty,set


    15.通配符与特殊符号

    * 代表『 0 个到无穷多个』任意字符。
    代表『 一定有一个』任意字符。
    [ ] 同样代表『一定有一个在括号内』的字符(非任意字符)。
    [ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』。
    [^ ] 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』。

    16.数据流重导向

           ●1> :以覆盖的方法将『正确的数据』输出到指定的档案或装置上。

           ●1>>:以累加癿方法将『正确癿数据』输出到指定的档案或装置上。

           ●2> :以覆盖癿方法将『错诨癿数据』输出到指定的档案或装置上。

           ●2>>:以累加癿方法将『错诨癿数据』输出到指定的档案或装置上。

           ●/dev/null 垃圾桶黑洞装置与特殊写法

    [dmtsai@www ~]$ find /home -name .bashrc 2> /dev/null
    /home/dmtsai/.bashrc <==只有 stdout 会显示到屏幕上, stderr 被丢弃了

           ●standard input : < 与 <<

    finlay@finlay-Lenovo-G470:~$ touch dss
    finlay@finlay-Lenovo-G470:~$ ll > ds
    finlay@finlay-Lenovo-G470:~$ cat > ds < dss
    
    finlay@finlay-Lenovo-G470:~$ cat < ds <<"eof"
    > I
    > love
    > you
    > eof
    I
    love
    you
    

    17.命令执行的判断依据: ; , &&, ||


    18.管线命令:pipe

           ●cut

           ●grep

           ●sort:排序

           ●uniq:将排序重复的删除

           ●wc:得到档案字数

           ●tee:双向重导向

    [root@www ~]# last | tee last.list | cut -d " " -f1
    # 这个范例可以我们将 last 的输出存一份刡 last.list 档案中
    [root@www ~]# ls -l /home | tee ~/homefile | more
    # 这个范例则是将 ls 的数据存一份到 ~/homefile,同时屏幕也有输出讯息

    19.字符转换命令: tr, col, join, paste, expand

           ●tr:删除替换信息

           ●col:替换信息

           ●join

           ●paste:直接粘在一起,用tab隔开

           ●expand:将tab键转换位空格

    20.分割命令:split

    finlay@finlay-Lenovo-G470:~$ split -b 5k ds
    finlay@finlay-Lenovo-G470:~$ cat xa*>>dss
    

    21.参数代换: xargs

           就是在产生某个指令的参数的意思!xargs 可以读入 stdin 的数据,并且以空格符戒断行字符作为分辨,将 stdin 的资料分割成为 arguments 。


    
    
  • 相关阅读:
    SpringMVC中静态获取request对象 Spring中获取 HttpServletRequest对象【转载】
    springcloud 的loadbalancer 轮询算法切换方法 2021.4.3
    springboot项目启动增加图标
    rabbitmq 端口作用以及修改方法
    centos8 安装rabbitmq
    springcloud config client Value获取不到信息的问题的处理方法
    springcloud config配置git作为数据源然后启动报错 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    Sublime Text的列模式如何操作
    centos8 安装redis
    jQuery简单的Ajax调用
  • 原文地址:https://www.cnblogs.com/finlay/p/3234720.html
Copyright © 2011-2022 走看看