• 鸟哥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 。


    
    
  • 相关阅读:
    LeetCode 2006 差的绝对值为K的数对数目
    web关键字驱动
    selenium 原理
    sched linux调度 CFS
    VMware linux虚拟机如何固定IP(亲测)
    linux centos + nginx +多版本php安装 实战(使用docker)
    如何设置linux 时区(只需一条命令)
    centos 安装 mongodb 只需三步
    生成包含常用扩展的docker phpfpm镜像含 php5.6 php7.1 php7.2 的dokcerfile(亲测可用202237)
    MySQL数据文件被恶意删除后的恢复
  • 原文地址:https://www.cnblogs.com/finlay/p/3234720.html
Copyright © 2020-2023  润新知