Linux常用命令

打印命令

  使用echo命令进行打印输出

    echo '123'

    echo $PATH

  printf打印命令,常用于格式化输出

    printf "hello world "

    printf  "%d%s " 1 "abc"

  printenv命令可以打印环境变量

    printenv

时间日期类命令  -date

  

  显示当前日期和时间

  显示非当前时间

  设置系统时间

  系统时间同步

  date +%Y - %m - %d      #2019-12-10

  date +%H:%M:%S       #13:29:03

  date +%I:%M:%S        #12小时时间显示

  date -d '1 days ago'        #显示前一天时间

  date -s "00:12:23 2019-03-04"  #设置系统时间

  ntpdate -u ntp.api.bz       #设置时间同步

管道命令(|)

  管道把左侧程序的输出作为右侧程序的输入

    命令A | 命令B

      把命令A的输出作为命令B的输出

    命令A | 命令B | 命令C

    最常用的就是配合grep来使用

    || /etc/ | less

    || /etc/ | grep passwd  

grep命令

  使用正则表达式的搜索工具

grep命令用法

  printenv | grep path

    环境变量中寻找小写path

  printenv | grep -i path

    寻找path,不区分大小写

  grep -ir java

    在当前和所有子目录中的任何文件中查找java

  grep -ir java file1

    在file1中找到python

搜索查找命令 -find

  从指定目录向下递归地遍历其各个子目录

  find命令可根据name、user、size、type、创建时间等进行搜索

  find命令经常和grep命令结合使用

    #根据目录访问所有目录查找'tar'

    [root@linux01 ~]# find / -name 'tar'

    #查找文件名以kgc开头且包含new的文件

    [root@linux01 ~]# find / -name 'kgc*' | grep -i new

    /var/spool/mail/kgcnew

搜索查找命令  -locate

  用于查找符合条件的文档

  会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录

  和find -name功能类似,但比find要快

    [root@linux01 ~]# touch newfile.txt

    [root@linux01 ~]# locate newfile.txt   #新建的文件无法马上查到

    [root@linux01 ~]# updatedb

    [root@linux01 ~]# locate newfile.txt

    /root/newfile.txt

    [root@linux01 ~]#

搜索查找命令 - which和whereis  

  which用于查找可执行文件所在位置

    which bash

    which pwd

  whereis用于查找二进制文件、源代码文件和man手册页,一般文件还是用locate

    whereis bash

    whereis help

I/O Stream

  标准流    

    stdin:标准输入,编号为0,用于程序从键盘等设备接收数据。输入流被EOF(文件结尾)终止

    stdout:标准输出,编号为1,用于程序向终端等设备写入数据    

    stderr:标准错误,编号为2,用于向终端等设备显示错误消息

  重定向I/O Stream到文件

  ls命令查看主目录和/Toronto目录,将stdout和stderr重定向到主目录中的out.txt和err.txt   

    ls ~ /Toronto > ~/out.txt 2> ~/err.txt

  使用cat显示上述out.txt和err.txt

    cat < ~/out.txt

    cat < ~/err.txt

文本处理命令 - wc

  wc命令用于计算字数

文本处理命令 - cut

  切割文件命令

    设置特定切割符,取特定的列

    查找特定数量的字符

      #输出的日期格式按空格分割,取出2,3,6位

      date -u | cut -d ' ' -f2,3,6

      #此示例从文件/etc/mtab中读取数据

      cut -d ' ' -f1,2 /etc/mtab

      #查找特定数量的字符

      cut -c 1-5 logs.txt

文本处理命令 - tr

  用于替换或删除文件中的字符

    不会对源文件产生影响

      date -u | tr 'a-z' 'A-Z'       # 小写转大写

      echo 'abcdefg' | tr -d 'b-e'     # 删除

      echo 'abbbbg' | tr -s 'b'      # 重复单词显示一次

文本处理命令 - sed

  sed 行编辑器

    主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等

    能够完美的配合正则表达式便用

    # 替换

     sed 's/book/books/' file

    sed 's/book/books/g' file

    # 删除空白行:

     sed '/^$/d' file

文本处理命令 - awk

  awk是一种处理文本文件的语言,是一个强大的文本分析工具       

    awk [选项] '脚本命令' 文件名     

      # 每行按空格或TAB分割,输出文本中的1、4项

      awk '{print $1,$4}' log.txt

      # 使用","分割,-F相当于内置变量FS, 指定分割字符

      awk -F, '{print $1,$2}' log.txt

其他常用命令 - file

  用来识别文件类型

  用法

    file zipfile.py

    file -z zipFile

    file /dev/null

其他常用命令 - ln命令

  在文件之间建立链接

    ln 创建一个硬链接

      不能对目录创建硬链接

    ln -s 创建软链接

      可以对目录创建软连接,相当于快捷方式

        ln -s /root root1

        ln -s file1.txt f1

其他常用命令 - ping

  用于测试与目标主机的连通性

    ping www.baidu.com

    ping 192.168.42.1

其他常用命令 - crond

  crond服务管理

    systemctl status crond

    systemctl stop crond

    systemctl start crond

    systemctl restart crond

  crontab定时任务设置

    crontab -e * * * * *

    # * * * * * 定时任务内容

    # * * * * * 分别代表:分钟 小时 日 月 星期

原文地址:https://www.cnblogs.com/fyzw/p/14024506.html