UNIX常见命令索引(rev,paste,join,tr,bc,readelf,strings,xxd)

rev

  rev file

  对读入的每一行,输出其倒序后的结果

paste

  paste [options] files 将files中的文件每个各自获取一行,并用tab(默认)将它们连接起来合成新的一行。

  -d LIST 不使用默认的tab,而是用LIST中的字符来逐个连接每一行。LIST可以是一个或者多个\n,\t,\\或者\0,多个字符时逐个使用每个字符。

  -s 先将单个输入文件中的每一行连接起来(使用默认tab或者-d指定的字符),再用换行符连接文件列表中的各个文件。

  - 放在files列表中,代表标准输入

join

  join [options] file1 file2

  -a file_number file_number可以是1或者2,如果出现了不能join的行也同样打印

  -v file_number file_number可以是1或者2,如果

  -e string 使用string来替代空的域

  -t char char是两个文件中的Field分隔符。

  -1 field_number 需要join的域位于file1的field_number处

  -2 field_number 需要join的域位于file2的field_number处

  -o list 

tr

  -d DILIMITER 删除掉delimiter之后的部分

bc

  echo "ibase=2;obase=10000;BINARY" |bc - 转换二进制到十六进制(10000_b=16_d)

readelf

 

strings

  寻找二进制文件中的长度大于4的ASCII字符串。对object file,不找TEXT段,而对其他文件搜索所有byte。

  -a 对object file也搜索TEXT段

  - 对普通文件和object file都搜索每个byte

  -- 对剩下的每个参数都视作文件名

  -o 对每个找到的ASCII字符串,同时输出其offset。

  -t [d|o|x] 输出offset时使用十进制(d)/八进制(o)/十六进制(x)

  -NUMBER / -n NUMBER 默认最短字符串长度为4,这里可以自定义最短长度(小于该长度的字符串就不输出了)。

tail

  -n NUMBER 只输出最后NUMBER行

xxd

xxd [options] [infile [outfile]] 将binary转换成hexdump格式输出。例子

  # echo abcdef | xxd

    0000000: 6162 6364 6566 0a                        abcdef.

  -c NUMBER 指定每行有NUMBER列(NUMBER个字节)

  -p 使用纯hexdump格式进行输入(输入时需要带-r选项)/输出。(该格式不带前面的行号,不分列,没有ascii列,只有hex)

  -b 转换成binary dump,而不是hexdump。

   -r 将hexdump的结果反向转换成binary。

posted @ 2015-04-24 08:10  Nuk9_  阅读(389)  评论(0编辑  收藏  举报