zoukankan      html  css  js  c++  java
  • 【Linux从零开始】:7.学习Bash与Shell Script(2)

       一.路径与命令的的查找顺序                    

      1.以相对/绝对路径执行命令,例如"/binls"或"./ls";

      2.由alias重命名中内容来查找执行命令;

      3.由bash内置的命令来执行;

      4.通过$PATH变量中所定义的路径顺序找到第一个命令来执行。

       二.自定义自己的bash登陆欢迎界面信息:            

      /etc/issue(登陆界面), /etc/issue.net(telnet的登陆界面) , /etc/motd/(登陆路成功后用户取得的信息)

      执行 cat /etc/issue命令显示如当前的设置:

      issue内的各代码意义
      \d   本地端时间的日期
      \l 显示第几个终端机借口
      \m 显示硬件的等级(i386/i486/i686)
      \n 显示主机的网络名称
      \o 显示domain name
      \r 操作系统版本(相当于uname -r)
      \t 本地端时间
      \s 操作系统名称
      \v 操作系统版本

       三.数据流重定向:                        

      1.标准输入输出的重定向:<输入方   >输出方
        cat命令 : cat filename表示读取文件,也就是从文件输出数据并输出到屏幕上
              cat从键盘读取数据,并且输出到屏幕
                cat > filename从键盘输入,并且输出到文件中(会无条件的覆盖已有的文件)
            以 ctrl + d 来结束输入
          2.防止覆盖已有的文件:
             启用该设置:set -o noclobber
             禁用该设置:set +o noclobber
            使用追加标准输出:可以向某个文件的末尾添加新的内容
              cat filename1 >> filename2
           3.使数据消失,同时不改变文件的权限:
            将数据重定向至 /dev/null
            eg: cat /dev/null > filename 将该文件内容清空

       4.代码输出:

        标准输入(stdin):代码为0,使用<或者<<

        标准输出(stdout):代码为1,使用>或者>>

        标准错误输出(stderr):代码为2,使用2>或者2>>  

       5.tee:双向重定向命令

           -a 以累加的形式将数据输入一个文件

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

        ;不考虑相关性连续执行命令

        $?(命令回传码)与&&(逻辑与运算)或||(逻辑或运算)

     

       四.管道(Pipe)                        

      1.选取命令:

        cut:常用参数

        -d'分隔字符'  -f fields

        -c 字符范围

      eg:  cut ' ; ' -f 5   显示以;为分隔字符的第5个数据(分隔符必须是单个字符)

         cut ' ; ' -f 3,5

         cut -c 12- 若数据分行显示,输出第12个字符以后的数据

       2.字符转换命令:
            tr: -d 删除其中的某个字符串  
                  eg:  tr '[a-z]' '[A-Z]' 将小写替换成大写
                tr -d ';' 删除;符号
           3.文件粘贴连接命令paste:

          paste file1 file2
               直接将2个文件相同的行粘贴在一起(以TAB分隔)
           4.join: [-ti12] file1 file2 
               -t 如果相应行之前的文件内容相同以分隔符链接 Eg: join -t ':' file1 file2
               -i 忽略大小写
             使用join前最好对文件进行sort

         5. split:切割文件命令
                -b 切割成的文件大小,可加单位b k m
                -l 以行数来进行切割
               eg: split -b 300k filename newfile前导名

     

  • 相关阅读:
    hdu 1042 N!
    hdu 1002 A + B Problem II
    c++大数模板
    hdu 1004 Let the Balloon Rise
    hdu 4027 Can you answer these queries?
    poj 2823 Sliding Window
    hdu 3074 Multiply game
    hdu 1394 Minimum Inversion Number
    hdu 5199 Gunner
    九度oj 1521 二叉树的镜像
  • 原文地址:https://www.cnblogs.com/VortexPiggy/p/2445528.html
Copyright © 2011-2022 走看看