Linux学习笔记:认识和学习BASH

一、认识BASH

    bash是GNU计划中的重要的工具软件之一 LInux发行版本的标准shell

    bash兼容于sh

    命令记忆功能,存放在家目录的.bash_history中(是个隐藏文件),只记录前一次登录以前执行过的指令,这一次登录执行的指令都暂存在内存中,成功注销系统后指令才会记录到.bash_history

    别名设定功能

        alias 查看当前所有的别名

        alias lm='ls -al'设置别名

    type 查询指令

        是否为Bash shell内建指令

    几个快捷键:

        Ctrl + u 向前删除指令 Ctrl + k 向后删除指令

        Ctrl + a 光标移动到整个指令最前 Ctrl+e最后

二、shell的变量功能

    定义:以一组文字或符号等来取代一些设定或者是一串保留的数据

    变量的取用:echo

        echo ${PATH}或者 echo $PATH

       

        

    在变量设定当中单双引号的用途的不同:

        双引号仍然可以保有变量的内容但单引号内仅能是一般字符,而不会有特殊符号

   反单引号(`)的意义:

        `内的指令将会被先执行,而其执行出来的结果将作为外部的输入信息

    可以通过设定变量来简化目录输入,用简单的单词代表很长的一段绝对地址

    观察环境变量和常见环境变量说明:env

    生成0-9的随机数

        declare -i number=$RANDOM*10/32768 ; echo $number

    观察所有变量(包括环境变量和自定义变量):set

    修改命令提示字符:PS1='[\u@\h \W \A]$'

    查看上个命令的返回值:echo $?

    将自定义变量转换为环境变量:export

    语系文件都放置在:/usr/lib/locale/

    查看当前语系环境:locale

    环境变量=全局变量 自定义变量=局部变量

    变量键盘读取:read

        -p 可以接提示字符 -t后面可以接等待的秒数

    宣告变量的类型:declare

        -a 将变量定义成数组类型  -I 定义成整数数字

       -x 变成环境变量  -r 将变量设定成readonly,不可被修改也不能unset

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

     变量内容的删除、取代与替换(Optional)

三、命令别名与历史命令

    别名设定:alias

    取消别名:unalias

    历史命令:history

        -数字 最近几条 -w 立即写入.bash_history

四、Bash Shell的操作环境

    修改进站信息:vim /etc/issue

    修改欢迎信息 vim /etc/motd

    login shell和non-login shell

        前者是通过终端进入,后者图形界面,读取的配置文件数据并不一样

    

    通配符和特殊符号

    

    

五、数据流重定向

    标准输出:指令执行所回传的正确信息

    标准错误输出:指令执行失败后所回传的错误信息

    重定向信息输入一个文件:

        1、这个文件若不存在则系统自动创建

        2、若存在,清空后再将系统写入

        3、若以>输出到一个已存在的文件中,那个文件就会被覆盖掉

    使用>>可以在已有的文件上叠加

    

    

    垃圾桶黑桶装置:/dev/null可以吃掉任何导向这个装置的信息

    不考虑指令相关性的连续指令下达使用’;‘

     &&与||

    

六、管线命令(pipe)

    使用’|‘这个界定符号

    仅能处理经由前面一个指令传来的正确信息

    

    

    每一个管线后面接的第一个数据必定是【指令】,且是能接受standard input的数据

    管线命令仅会处理standard output,对于standard error output会忽略

        使用2>&1就可以让>2 变成 >1

    撷取命令:cut,grep

     cut

         cut -d '分割字符' -f fields 例:echo ${PATH} | cut -d ':' -f 3,5

        cut -c 字符区间  例:last | cut -c 12-

        cut是将一行信息当中取出我们想要的部分

    grep则是分宜一行的信息如果有我们所需的就拿出来

    grep

        -a 将bin文件以text文件的方式搜寻数据

        -c 计算寻找字符串的次数

        -I 忽略大小写

        -n 输出行号

        -v 反向选择

排序命令:sort,wc,uniq

    sort

    

    例:cat /etc/passwd | sort -t ':' -k 3

        以':'为分割第三个部分排序

        last | cut -d ' ' -f1 | sort

        输出数据仅取账号,并加以排序

    uniq

        -I 忽略大小写  -c计数

        

    wc

        -lwm 分别是行、字、字符 默认三个都输出

        

    双向重定向:tee

        tee [-a] file

        -a 是以累加的方式

        

    字符变换命令:tr、col、join、paste、expand

        删除一端讯息当中的文字:tr

        将[tab]按键取代为空格: col -x

        两个文件当中,有相同数据的那一行将它们加在一起:join

        将两行贴在一起,用[tab]间隔:paste

        将tab键转换为空格:expand -t数字

    分区命令:split

    参数代换:xargs

        xargs可以读入stdiin的数据,并以空格或断行字符作为分辨,将stdin的资料分隔成为arguments

        

        列出/etc/passwd中前三个ID的信息

        

猜你喜欢

转载自blog.csdn.net/a568713197/article/details/86548593