Shell进阶

1、shell操作环境

A、命令查找书序(可通过type -a cmd确定)
    a、带路径命令直接执行;
    b、搜索alias别名定义命令执行;
    c、bash内置(builtin)命令执行;
    d、通过PATH环境变量搜索执行。

B、登录欢迎信息
    /etc/issue        登录前提示
    /etc/issue.net  telnet登录前提示
    /etc/motd        登录成功后的每日消息

C、bash环境配置文件
    login shell(tty1~tty6)读取顺序
        /etc/profile
            /etc/.bash_profile、/etc/bash_login、/etc/.profile    优先级从左到右,读取到一个后就不在读其他的
                ~/.bashrc
    non-login shell(gnome终端)读取顺序
        ~/.bashrc
            /etc/bashrc    若有的话,可能会调用

    source(.)命令    重新读取环境变量
        source /etc/bashrc
        . ~/.bashrc
Shell进阶_第1张图片
e024bc49-1bb4-4207-aa92-193915c878a7.png

![Uploading 07887022-2d8c-4e3a-8549-d9cdb85db30d_762999.png . . .]
D、终端机环境设置
stty -a 列出当前所有设置
stty intr ^C 设置以ctrl+c发出中断信号
set
echo $- 显示set的当前值
/etc/inputrc set相关的设置文件

E、通配符与特殊符号
    a、通配符wildcard
Shell进阶_第2张图片
07887022-2d8c-4e3a-8549-d9cdb85db30d.png

b、特殊符号


Shell进阶_第3张图片
8fb3a692-2802-4209-bfe6-567886d10aa3.png

2、数据流重定向

标准输入(stdin),代码为0,使用<或<<;
标准输出(stdout),代码为1,使用>或>>;
标准错误输出(stderr),代码为2,使用2>或2>>;

/dev/null垃圾桶黑洞设备

标准输出与标准错误输出合并写法
2>&1(&>),如:
    cat passwd >show 2>&1

![Uploading cbcdbda5-2914-45a3-8b8d-1c29a20cef58_827034.png . . .]
cat passwd &> show

命令的连续执行
    不相关命令使用分号;即可,如    sync;sync;shutdown -h now
    相关命令使用&&、||连接,如    ls passwd && cat passwd
Shell进阶_第4张图片
cbcdbda5-2914-45a3-8b8d-1c29a20cef58.png

3、管道命令(pipe)

管道命令接受前一个命令的标准输出作为下一个命令的标准输入,使用“|”连接

选取命令:cut、grep
排序命令:sort、wc、uniq
双向重定向:tee    可以将中间数据流保存一份到文件里面,不影响后面的管道命令
    tee [-a] filename    如:
        ll /home | tee showfile | more
字符转换命令:
    tr STR1 STR2    将STR1转化为STR2
    tr -d STR    删除信息中的STR这个字符串
    tr -s STR     替换信息中的STR这个字符串
    col -x    将信息流中的tab转换为对应的空
    join
    paste
参数代换:xargs
    对于不支持管道的命令,xargs可以提供该命令引用标准输入,如:
        find ./ -name passwd | xagrs ls -l

减号(-)在管道命令中,可以用来代替标准输出和标准输入。

你可能感兴趣的:(Shell进阶)