这里并非系统具体介绍每个Linux命令,不过记录本人在平时工作中经经常使用到的一些比?基础的命令及相关的?数,同一时候用了一些简单的样例来说明这些命令的用途,以及怎样用多种命令来实现同一种功能。
  1、ls命令
  要显示当前文件夹下的文件列表时,我常常使用ls命令的下面三个?数。
  -l 使用长列表格式
  -h 文件大小以人可读的方式打印
  -t 以后改动时间排序,新的放在前
  使用样例,怎样显示当前文件夹下的文件夹?
  方法1: ls -l | grep '^d'
  方法2: ls -l | awk '/^d/'
  2、grep命令
  当须要找出匹配指定模式的文件时,常常会用到grep命令的下面几个?数。
  -w 全然匹配整个单词,而不是字符串的一部分,若要匹配abc,则不会匹配abcd
  -i 忽略大写和小写
  -n 显示指定模式在匹配文件里的行号
  -v 反向匹配,即匹配不符合的行
  -f 从文件里获取待匹配的模式
  使用样例:
  grep ^$ file 匹配文件file中的全部空行
  grep -v '^$' file 匹配文件file中的全部非空行
  grep '[^^$]' file 匹配文件file中的全部非空行
  grep -vf t2 t1 获取t1中跟t2数据不匹配的数据,即获取在t1,但不在t2的数据
  正?表?式[^$]表示匹配空行,前面加上^即表示不匹配空行
  3、排序去重命令 sort vs uniq
  sort 命令用来对数据进行排序。
  -t 用于指定域的分隔符
  -n 以数字方式进行比?,而不是字符比?
  -r 反向排序
  -u 去除反复的行
  -k 以指定的域?始进行排序,域从1?始
  +表示以第几域排序,-表示不以第几域排序,如 sort +0 -2 +3则表示以第0域?始排序,略过第2域,然后再使用第3域排序
  uniq 用于删除文本文件里的连续反复的行,一般使用sort之后再调用uniq。
  -d 仅显示反复一次的行
  -c 打印每一反复行出现的次数
  sort -u 和uniq的差别在于,uniq仅去除连续反复的行,而sort -u会去除整个文本中全部反复的行,比如,
  #源文件file1中的内容
  hello world
  Good morning
  Good morning
  hello world
  #使用sort -u < file1的结果例如以下:
  hello world
  Good morning
  使用uniq < file1的结果例如以下:
  hello world
  Good morning
  hello world
  4、tr命令
  当须要进行一些简单的字符串替换和删除时,tr命令会显得很实用。
  比如,以下的tr操作都是没有直接改动源文件,改动则须要文件重定向
  tr 'A-Z' 'a-z' < file 将字符串的大写字母都转为小写字母:
  tr -s ' ' ' ' < file 把多个连续空格替换成单个空格,-s选项可将多个连续字符替换为一个指定字符
  tr -s ' ' < file 删除空行
  tr -d '[0-9]' < file 删除全部数字,-d选项能够删除指定的字符