zoukankan      html  css  js  c++  java
  • 【Linux】鸟哥的Linux私房菜基础学习篇整理(五)

    1. type [-tpa] name:查看name命令是否为bash内置命令。
    参数:
    type:不加任何参数,type会显示出那么是外部命令还是bash的内置命令;
    -t:当加入-t参数时,type会通过如下关键字显示其意义:
      file:表示为外部命令
      alias:表示为命名别名
      builtin:表示为bash的内置命令
    -p:如果后面接的name为外置命令时,才会显示完整文件名;
    -a:会由PATH变量定义的路径中,将含有name的命令都列出来,包含别名。

    2. unset name:取消变量名name的设置。

    3. env:查看环境变量。
    常见环境变量说明:
    HOME:用户主文件夹;
    SHELL:当前环境使用的shell路径;
    HISTSIZE:历史命令条数;
    MAIL:使用mail命令时,系统会去读取的邮件信箱文件;
    PATH:可执行文件路径;
    LANG:语系数据;
    RANDOM:随机数变量。

    4. set:查看所有变量(环境变量与自定义变量)。
    常见变量说明:
    PS1:命令行提示符,其含义如下:
      d:可显示出“星期月日”的日期格式;
      H:完整的主机名;
      h:仅取主机名在第一个小数点前的名字;
       :显示时间,为24小时格式“HH:MM:SS”;  
      T:显示时间,为12小时格式“HH:MM:SS”;
      A:显示时间,为24小时格式“HH:MM”;
      @:显示时间,为12小时格式“am/pm”;
      u:目前用户的账号名称;
      v:BASH的版本信息;
      w:完整的工作目录名称;
      W:利用basename函数取得工作目录名称,仅列出最后一个目录名;
      #:执行的第几个命令;
      $:提示符,若为root,则显示#,其他显示$。
    $:表示目前SHELL线程的PID;
    ?:代表上一个执行命令的回传码。

    5. locale [-a]:查询支持的语系。
    参数:
    无参数:查看与语系相关的变量设置;
    -a:查看支持的全部语系。

    6. read [-pt] variable:读取来自键盘的输入到变量。
    参数:
    -p:后面可接提示符;
    -t:后面可以接至多等待的秒数。

    7. declare [-aixr] variable:声明变量的类型。
    参数:
    -a:将变量声明为数组类型;
    -i:将变量声明为整型;
    -x:将变量声明为环境变量;
    -r:将变量设置为只读类型

    8. ulimit [-SHacdfltu] [配额]:限制配额设置。
    参数:
    -H:Hard Limit,严格设置,必定不能超过这个设置值;
    -S:Soft Limit,警告设置,可以超过这个设置值,当会产生警告信息;
    -a:后面不接任何参数,列出所有的限制配额;
    -c:限制每个core file文件的最大容量;
    -f:限制shell可以创建的最大文件容量;
    -d:进程可以使用的最大断裂内存容量;
    -l:可用于锁定的内存容量;
    -t:可使用的最大CPU使用时间;
    -u:单一用户可以使用的最大进程数目。

    9. 变量内容的删除与替换。
    变量设置方式:
    ${变量#关键字}:若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除;
    ${变量##关键字}:若变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除;
    ${变量%关键字}:若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除;
    ${变量%%关键字}:若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除;
    ${变量/旧字符串/新字符串}:若变量内容符合“旧字符串”,则第一个旧字符串则会被新字符串替换;
    ${变量//旧字符串/新字符串}:若变量内容符合“旧字符串”,则全部的旧字符串则会被新字符串替换。

    10. history [n]/history [-c]/history [-raw] histfiles:历史命令。
    参数:
    n:数字,列出最近的n条命令;
    -c:将目前shell中的所有history内容全部清除;
    -a:将目前新增的history命令加入histfiles中,默认写入~/.bash_history;
    -r:将histfiles的内容读到目前这个shell的history中;
    -w:将目前新增的history命令写入histfiles中。

    11. !number/!command/!!:执行history中的命令。
    参数:
    number:数字,执行第几条命令;
    command:执行最近的以command开头的命令;
    !!:执行上一条命令。

    12. cut -d '分隔字符' -f fields/cut -c 字符范围:分隔信息。
    参数:
    -d:后面接分隔字符,与-f一起使用;
    -f:表示列出分割后的第几段;
    -c:以字符的单位列出固定字符区间。

    13. grep [-acinv] [--color=auto] '查找字符串' filename:查找信息。
    参数:
    -a:将binary文件以text文件的方式查找数据;
    -c:计算找到'查找字符串'的次数;
    -i:不区分大小写;
    -n:同时输出行号;
    -v:反向选择;
    --color=auto:将找到的关键字加上颜色显示。

    14. sort [-fbMnrtuk] [file or stdin]:排序。
    参数:
    -f:忽略大小写的差异;
    -b:忽略最前面的空格符;
    -M:以月份的名字来排序;
    -n:使用纯数字进行排序,默认是按照字典序排序;
    -r:反向排序;
    -u:uniq,使用相同的数据,仅显示一行;
    -t:设置分隔符,默认是[Tab];
    -k:设置指定的排序区间。

    15. uniq [-ic]:重复数据仅显示一个。
    参数;
    -i:不区分大小写;
    -c:进行计数。

    16. wc [-lwm]:计数。
    参数:
    -l:仅列出行;
    -w:仅列出多少字;
    -m:仅列出多少字符。

    17. tee [-a] file:双重重定向(屏幕和文件均重定向)。
    参数:
    -a:以累加的方式加入file。

    18. tr [-ds] SET1...:删除或替换文字。
    参数:
    -d:删除信息当中的SET1这个字符串;
    -s:替换掉重复的字符串
         tr '[a-z]' '[A-Z]':将所有小写字母替换为大写字母。

    19. col [-xb]:转移字符替换。
    参数:
    -x:将[Tab]键替换为对等的空格键;
    -b:在文字内有/时,仅保留反斜杠最后接的那个字符。

    20. join [-ti12] file1 file2:将两个文件中有相同数据的行加在一起。
    参数:
    -t:默认以空格符分割数据,并且对比第一个字段的数据,若两个文件第一个字段相同,则将两条数据整合成一行数据;
    -i:忽略大小写的差异;
    -1:代表第一个文件要用哪个字段分析,后接数字;
    -2:代表第二个文件要用哪个字段分析,后接数字。

    21. paste [-d] file1 file2:将两个文件直接贴在一起,用[Tab]键分割。
    参数:
    -d:后面可以接分割字符,默认以[Tab]键分割;
    -:如果file部分写成-,代表标准输入。

    22. expand [-t] file:将[Tab]键转换成空格键。
    参数:
    -t:后面接数字,表示[Tab]键可以用多少个空格键替换。

    23. split [-bl] file PREFIX:切割命令。
    参数:
    -b:后面接欲分割的文件大小,可加单位,如b、k、m等;
    -l:以行数来进行切割;
    PREFIX:代表前导符,可作为切割文件的前导文字。

    24. xargs [-0epn] command:参数代换。
    参数:
    -0:如果输入的stdin含有特殊字符,将它还原成一般字符;
    -e:代表指定终结符,xargs分析到该指定字符后停止继续工作;
    -p:在执行每个命令的参数时,询问用户的意思;
    -n:后面接次数,每次command执行时使用多少个参数。
    使用xargs是因为很多命令其实并不支持管道命令,可以通过xargs来提供该命令引用stdin。

  • 相关阅读:
    服务器修改时间
    修改MySQL时区
    记录一次服务器防火墙开放端口,参考了网上一位网友的方法可行,在此记录一下
    centos7.2放行80端口
    从零开始搭建系统3.4——缓存组件开发
    从零开始搭建系统3.3——图片服务开发及部署
    从零开始搭建系统3.2——微服务注册中心开发及部署
    从零开始搭搭建系统3.1——顶级pom制定
    从零开始搭建系统2.7——Quartz安装及配置
    从零开始搭建系统2.4——Jenkins安装及配置
  • 原文地址:https://www.cnblogs.com/bombe1013/p/3895015.html
Copyright © 2011-2022 走看看