linux 运维笔记

cat

  cat是一个文本查看工具,查看一个文件的内容用cat比较简单,其中最简单的用法就是cat后面直接加文件名

[root@centos7 ~]# cat /etc/fstab

   cat  的语法结构

    cat    [OPTION]...     [FILE]...

      常用选项

        -n  对输出的所有行编号

        -A  显示输出文件中所有隐藏的符号

 

tac

  tac 是将一个文件从最后一行开始倒过来输出到屏幕,tac实际上就是cat反过来写,这个命令并不是很常用。

 

rev

  rev是指将一个文件的内容的每一行从最后一个字符到开始的字符反过来显示

 

more 和 less

  相比cat和tac来说,more和less就好用多了,首先前面的两个打开大文件的时候会一次性打开输出到屏幕,而后者打开后可以利用快捷键一点点的往下看。

  less的功能和more相似,但是使用more无法向前翻页,只能往后翻页

 

head 和 tail 

  head和tail通常使用在只需要读取文件的前几行和后几行中使用(默认显示前十行和后十行)

    head 的语法结构

      head    -n#    file

    tail 的语法结构

      tail      -n#    file

 

wc 

  wc的功能是统计文件中的单词数 行数 字节数,并将统计结果输出到屏幕上

    wc 的语法结构

      wc  [OPTION]...   [FILE]...

        常用选项 

          -l    统计行数

            -w     统计单词数

            -c      统计字符数 

 

cut

  cut以某种方式按照指定的格式对文件的行进行切割

    cut的语法结构

      cut  [OPTION]...   [FILE]...

        常用选项

          -d    自定义分隔符

          -f    与-d一起使用,指定显示那个区域

 

sort

  sort 将文件的每一行相互比较,比较原则是从首字符向后,最后将他们按升序排序输出到屏幕

    sort的语法结构

      sort   [OPTION]...   [FILE]...

        常用选项

          -n    依照数值的大小进行排休

          -r    以相反的顺序进行排序

          -t    指定分隔符

          -k    配合-t使用,指定显示那个字段

 

uniq

  uniq 检查及删除文件中重复的行,一般配合sort使用

    uniq的语法结构

      uniq [OPTION]... [INPUT [OUTPUT]]

        常用选项

          -u    显示不重复的行

          -d    显示重复的行,仅显示一行

          -c    在每行旁边显示该行重复的次数

 

 

find

  find命令用于在指定的目录下查找文件,如果不使用参数,find默认在当前目录下查找子目录和文件,并将查找到的子目录和文件全部显示

    find的语法结构

      find  option  path

        常用选项

            find / -amin -10 # 查找在系统中最后10分钟访问的文件

            find / -atime -2 # 查找在系统中最后48小时访问的文件

            find / -empty # 查找在系统中为空的文件或者文件夹

            find / -group cat # 查找在系统中属于groupcat的文件

            find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

            find / -mtime -1 #查找在系统中最后24小时里修改过的文件

            find / -nouser #查找在系统中属于作废用户的文件

            find / -user fred #查找在系统中属于fred这个用户的文件

 locate

   跟find类似,不过这个不是实时查找,Locate查找实在自己的数据库中查找,如果刚建的文件或目录没有立即同步到数据库,Locate就会找不到

      优点是查找到数据的时间快,缺点,数据不是实时更新的

        updatedb  更新Locate数据库

 

压缩  解压缩和归档    

        compress/uncompress:.z

                gzip/gunzip:.gz

              bzip2/bunzip2:.bz2

              xz/unxz:.xz

              zip/unzip

              tar,cpio

 

正则表达式

  1 关于正则表达式

    处理字符串时,有很多较为复杂的字符串用普通的字符串处理无法完成,比如说可能验证一个“email"的合法性,为此需要查看好多不容易查到的规则,这正是正则表达式的

    用武之地,正则表达式是功能强大而简明的字符组,其中可以包含大量的逻辑,特别值得一提的是正则表达式相当简短

  2 正则表达式的元素

    

    

 

grep 

  作为linux中最为常用的三大文本(grep    sed     awd)处理之一,掌握其用法是很有必要的

  grep家族一共有三个 grep    egrep     fgrep 

    grep 的语法结构

      grep [OPTIONS] PATTERN [FILE...]

        常用选项

          -o    只显示匹配到的字符串

          -v    只打印没有被匹配的,匹配到的反而不打印

          -i    忽略大小写

          -n    显示行号

          -E    开启扩展的正则表达式   等同于egrep

      注:

        默认情况下,正则表达式的匹配工作是贪婪模式,也就是说尽可能长的去匹配。

        所有的正则字符在匹配的时候需要用 “\”去转义

egrep 

  用法同grep相同,只是这个是扩展的正则表达式,正则字符不需要再去使用“\"去转义了

    

 

sed 

  sed 是流编辑器,能够完美的配合正则表达式使用。处理时,把当前处理的行加载到模式空间,然后用sed命令在模式空间处理后,输出到屏幕。紧接着处理下一行,这样不断  

  重复,知道处理到文件的最后一行。处理完后原文件内容没有改变,除非你重定向或者使用了  -i   选项

    sed 的语法结构

      sed [OPTION]... {script-only-if-no-other-script} [input-file]...

        常用选项

          -i     修改原文件

          -n    显示处理后的结果

          -r    匹配的内容可以使用正则表达式匹配

  定址

    定址用于决定对那些行进行编辑,定址的形式可以以数字,正则表达式或二者结合使用,如果没有定址,sed 默认处理文件的每一行

      定址是一个数字,则表示行号,$表示最后一行

        [root@centos7 ~]# sed -n '5p' /etc/passwd
              lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
               只打印第5行
        [root@centos7 ~]# sed -n '1,10p' /etc/passwd

                             打印第一行到第十行的内容

    地址是以逗号分隔开的,那么处理这几行的内容需要加上逗号,范围也可以用数字,正则表达式以及二者的结合

        sed -n '/^root/,/^lp/p' /etc/passwd

        打印/etc/passwd 文件以 root 开头到 lp 开头的中间的行

  命令

    

 

变量

  $BASHPID    显示当前bash进程的PID号

  $PPID      显示当前进程的父进程PID号

删除变量

  unset VLNAME

定义环境变量

  export NAME=VALUE (如果想长久有效,可写在文件 (/etc/profile.d/)   中

位置变量

  $NUMBER

    例:

      $0  指的是脚本本身

      $1  指的是脚本的第一个参数

      $2  指的是脚本的第二个参数 

  $#   参数的个数

  $*   打印出所有参数(如果用$*传递给下一个脚本当参数,它会把参数当成一个整体)

  $@   打印出所有参数 (如果用$@传递给下一个脚本当参数,它会把参数当成每个独立的参数)

bash运算符

  

  

算术运算符

  算术运算符是指在程序中执行加,减,乘,除等数学运算的算术符,shell中经常使用的数学运算符如下

    +:对两个变量做加法。                        -:对两个变量做减法。

    *:对两个变量做乘法。                        /:对两个变量做除法。

    %:取模运算,第一个变量除以第二个变量求余数。             +=:加等于,在自身基础上加第二个变量。

    -=:减等于,在第一个变量的基础上减去第二个变量。          *=:乘等于,在第一个变量的基础上乘以第二个变量。

    /=:除等于,在第一个变量的基础上除以第二个变量。          %=:取模赋值,第一个变量对第二个变量取模运算,再赋值给第一个变量 

  在使用这些运算符的时候需要注意,例如   

           echo 1+2
       shell 中并没有输出3,而是输出了1+2

                      在做 1+2 的运算的时候,我们可以使用 let 或   $[  ]  来做运算

            例如我们在做1+2运算的时候,

                let b=1+2  ;    echo $b

                echo $[1+2]

 

 

          

 

 

 

      

  

 

 

 

 

 

    

 

    

posted @ 2019-05-26 15:23  Linus小跟班  阅读(244)  评论(0编辑  收藏  举报