Linux就该这么学--第三章

  • 输入输出重定向、管道、通配

    • 标准输入重定向(stdin,0)
    ◇ 格式:
    ▪ 命令 < 文件:将文件作为命令的标准输入
    ▪ 命令 << 分界符:从标准输入中读入(键盘输入或者文件),直到遇见分界符才停止
    ▪ 命令 < 文件1 > 文件2:将文件1作为命令的标准输入,并将标准输出到文件2“

    • 标准输出重定向(stdout,1)和错误输出重定向(stderr,2(2不能省略)):
    ◇ 格式:
    ▪ 命令 > 文件:将标准输出写入到文件
    ▪ 命令 >> 文件:将标准输出追加到文件
    ▪ 命令 2> 文件:将错如输出写入到文件
    ▪ 命令 2>> 文件:将错如输出追加到文件
    ▪ 命令 >> 文件 2>&1 ( 或 命令 &>> 文件):将标准输出与错误输出追加到文件
    ▪ 其他:
    - <&- :关闭标准输入(键盘)
    - >&- :关闭标准输出
    - n<&-:表示将 n 号输入关闭
    - n>&-:表示将 n 号输出关闭
    - >&n:使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出
    - <&n:标准输入复制自文件描述符 n

    • 管道命令符:
    ◇ 例子:
    ▪ 修改用户密码:echo “linuxprobe” | passwd --stdin root

    • 通配符:
    ◇ * 匹配0或者多个字符
    ◇ ? 匹配单个字符
    ◇ [0-9]或者[1,2,4,6,9]或者[abc] 匹配单个字符



  • 转义字符、环境变量

    • 转义字符:
    ◇ 反斜杠\ :使反斜杠后面的一个变量变为单纯的字符串

    ◇ 单引号" :转义其中所有的变量为单纯的字符串
    (不能嵌套在双引号中使用)
    [root@localhost ~]# echo "Price is '$$$'$PRICE"
    Price is '2734$'5
    ◇ 双引号"" :保留其中的变量属性,不进行转义处理

    ◇ 反引号``(数字1键左边的键) :把其中的命令执行后返回结果

    ◇ 例子(PRICE=5):
    ▪ $$:显示当前程序的ID号码


    • 环境变量:
    ◇ alias 别名=命令:给命令起一个小名,使用“unalias 别名”取消
    ◇ type 命令名称:判断命令是外部命令
    ◇ export 变量名:将环境变量提升为全局变量,所有用户均可使用
    ◇ env 显示当前所有的环境变量
    ◇ 10个最重要的环境变量:
    ▪ HOME:用户的家目录
    ▪ SHELL:用户在使用的Shell解析器的名称
    ▪ HISTSIZE:输出的历史命令记录条数
    ▪ HISTFILESIZE:保存的历史命令记录条数
    ▪ MAIL:邮件保存路径
    ▪ LANG:系统语言、语系名称
    ▪ RANDOM:生成一个随机数字
    ▪ PS1:Bash解析器的提示符
    ▪ PATH:定义解析器搜索用户执行命令的路径
    ▪ EDITOR:用户默认的文本编辑器
    ◇ 相关文件:
    ▪ /etc/profile: 此文件为系统的每个用户设置环境信息,一般用于设置所有用户使用的全局变量。
    ▪ /etc/bashrc: 当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。
    ▪ 对单个用户生效:
    - ~/.bash_profile 或 ~/.profile: 只对单个用户生效,当用户登录时该文件仅执行一次。用户可使用该文件添加自己使用的 shell 变量信息。
    执行的顺序是:~/.bash_profile、 ~/.bash_login、 ~/.profile
    - ~/.bashrc: 只对单个用户生效,当登录以及每次打开新的 shell 时,该文件被读取。
    ▪ 对所有用户生效:
    - /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关,系统是先执行/etc/environment,再执行/etc/profile。
    ◇ 简单修改环境变量(全局):
    ▪ vim /etc/profile
    ▪ 在文件的最后一行,添加安装路径path语句:(注意路径是phantomjs的安装路径)
    export PATH=${PATH}:/usr/local/src/phantomjs/bin/
    ▪ 保存修改后的文件
    :wq
    ▪ 使用命令使环境变量生效
    source /etc/profile

posted @ 2019-03-13 22:41  飞琼君  阅读(131)  评论(0编辑  收藏  举报