Linux操作【文件篇】

【文件篇】:
文件操作命令:
    需知:
       |          管道符,将前面的结果作为后面的条件
    命令:
      创建目录:
        touch 文件名                  创建文件
      查看内容:
        cat 文件名                    查看文件的内容

        cat -n 文件名                显示行号
              输入文件内容:
                 cat >event.log <<EOF
                 注意:以 EOF 结束

        more 文件名                 查看内容【enter:一行一行看,空格:一页一页看】
        less 文件名                   查看文件(按 q 退出)
        head -数字 文件名                查看文件前【数字】行
        tail -数字 文件名               查看文件后【数字】行
        案例:
          题目:查看第五行【翻译:查看文件前五行的最后一行】
          命令:head -5 profile|tail -1

      书写内容:
          >              输出重定向
                         案例:
                           ls /etc/|grep yum > event.log
                           cat event.log
                           直接覆盖原来的内容,添加新的内容
                           注意:若无,则新加event.log文件
            >>                  追加
                         案例:
                           ls /etc/|grep yum >> event.log
                           cat event.log
                           在文件中追加内容

 

          文件复制【源文件存在】:
            cp 要复制的文件名称 复制到的目录名


        内容排序:
          sort                  对文件的内容做排序
              -n     数值排序
              -r     逆序排序,如:sort -r data1.log
              -f     忽略大小写,如:sort -f data1.log
              -u     唯一排序,即:去重
              -t     指定分隔符 默认为 空格,如:sort -t, data2.log【指定以 逗号 为分隔符】
                                  sort -t data1.log【默认以 空格 为分隔符】
              -kN    第几个字段,默认为 第一个,如:sort -k2 data1.log【按照第二个关键字来排序】
       删除文件:
          rm -ri 目录名词              删除文件前询问

       编辑命令:
          1、vi[m]:一款功能强大的全屏幕文件编辑器
          2、vi[m]命令:
              打开文件:      vi 文件名
              进入编辑模式:
                  i:在当前光标处插入内容
                  a:在原来的光标后面插入内容
                  o:在光标所在行的下面插入新行,插入内容
              退出编辑模式:    按 esc 键
              保存并退出:     shitf+z+z
              退出但不保存     :q!
              保存但不退出     :w
              简单查找          /内容
              首位切换:
                  gg        到头
                  shit+g        到尾

          3、小众:echo操作进行编译:
                如:echo "hello world" > test.txt

          4、文件【简单】编辑命令:sed [options] 'command' 文件名 => 可以对文本进行修改
              说明:
                 对于固定内容,可以省略 options,但要用正则的话,需添加 -r【,替换时候,开启正则要添加 /g】
              options:
                  -r           =>开启正则

                  -i         =>直接修改原文件,其余的原文件皆不改变【固定内容的替换,-i可省略】
              command:
                  s         =>替换:[4,[6]]s/source【需替换的内容,regex | 其他】/replace【替换后的内容】/[g]

                              说明:说明,4:第四行;6:第六行

                              如:sed 's/ /,/g' data1.log         将空格改为逗号


                  d         =>删除行:(/正则/ | 4[,6])d【说明,4:第四行;6:第六行】

                                 其中:1,$d => 全部删除【$表示 最后一行】


                  i          =>向上插入新文本行:(/正则/ | 4)i\insert line【插入新行内容】


                  a         =>向下插入新文本行:(/正则/ | 4)a\insert line【插入新行内容】


                  \b           =>正则处的边界:sed -r '4,6s/\bha[0-9]*doop\b/they/g' test1.log                  

                  -n           =>关闭模式输出

                    command:
                      p          =>输出:(/正则/ | 4[,6])p 【说明,4:第四行;6:第六行】
                      解释:加p的部分输出,其余的不输出
                      如:
                        sed -n '5,9p' test1.log => 只输出5到9行
                  -f =>将命令写进文件中
                      格式:sed -f cmd-file【写命令的文件】 file【操作的文件】

            7.文本处理命令:
              wc命令:
                wc 文件名 查看文件行数,单词数,字节数【字节数 通常表示 文件的大小】
                wc -l 文件名          统计行数
                wc -w 文件名           统计单词个数
                wc -L 文件名 计       算最长行的行数

              cut命令:
                用途:
                  文件的【每行】中去截取指定的内容
                格式:
                  cut [选项] 文件
                讲解:
                  前提:
                    test.log的内容为:
                       echo "hello world"
                       哈哈

                  选项:
                    -c                  以【字符】为单位进行切割
                        案例一:
                          cut -c 1 test.log
                          输出:
                            e
                            哈

                        案例二:
                          cut -c 1-2 test.log
                          输出:
                            ec
                            哈哈

                    -f            以【字段】为单位进行切割
                    -d            指定【字段】的分隔符,默认为制表符\t   
                        案例:

                           cut -d ' ' -f 2 test.log

                          输出:

                             "hello

                             哈哈


                    -s            省略没有分隔符的行
                        案例:
                          cut -d ' ' -f 2 -s test.log
                          输出:
                            "hello              tr命令:

                用途:
                  【单个】字符进行【转化】或【删除】
                    注意:不会对源文件产生影响
                命令:
                  1.转化:
                    案例一:
                      echo 'abcabc'|tr 'a' 'h'
                      输出:hbchbc

                    案例二:
                      小写转大写:
                        echo 'abcabc'|tr 'a-z' 'A-Z'
                        输出:ABCABC
  
                    案例三【验证 单个 】:
                        echo 'abcabc'|tr 'ab' 'h'
                        输出:hhchhc

                  2.删除:
                    案例:
                      echo 'abcabc123'|tr -d '0-9'
                      输出:abcabc

                  3.去重【连续重复字母显示一次】:
                    案例:
                      echo 'abbcaaaaabc123'|tr -s 'a-z'
                      输出:abcabc123

posted @ 2023-10-25 20:59  Nakano_Miku  阅读(14)  评论(0)    收藏  举报
返回顶端