专栏首页杨建荣的学习笔记一些“简单”的linux命令(r2笔记46天)

一些“简单”的linux命令(r2笔记46天)

有些linux命令看起来极其简单,只包含2个字符,但确有很强的功能性。看起来还是有些陌生的命令,不过在工作中别忘记它们的存在。

ab

这条命令式做为性能测试所广泛用到的一下子就有了一种高大上的感觉,来一个例子,对百度的某一个网页执行并发100,时长5秒,发送10000次请求的测试 [ora11g@rac1 ~]$ ab -n 10000 -c 100 -t 5 http://image.baidu.com/channel/game This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking image.baidu.com (be patient) Finished 31 requests Server Software: Apache Server Hostname: image.baidu.com Server Port: 80 Document Path: /channel/game Document Length: 53002 bytes Concurrency Level: 100 Time taken for tests: 5.032 seconds Complete requests: 31 Failed requests: 0 Write errors: 0 Total transferred: 3889626 bytes HTML transferred: 3843863 bytes Requests per second: 6.16 [#/sec] (mean) Time per request: 16231.568 [ms] (mean) Time per request: 162.316 [ms] (mean, across all concurrent requests) Transfer rate: 754.89 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 17 48 63.6 40 384 Processing: 1605 3580 880.3 3815 4970 Waiting: 128 651 652.4 328 2129 Total: 1623 3629 872.0 3864 5019 Percentage of the requests served within a certain time (ms) 50% 3859 66% 4125 75% 4364 80% 4369 90% 4409 95% 4951 98% 5019 99% 5019 100% 5019 (longest request)

ac

[ora11g@rac1 ~]$ ac total 3738.65 将显示每个用户的总的连接时间: [ora11g@rac1 ~]$ ac -p dbtgr 57.75 ora10g 0.01 ora11g 48.28 ogg 22.08 jeanron 907.77 root 2.83 grid 2699.92 total 3738.66 grid 35.64 May 20 total 35.64 grid 78.35 May 21 total 78.35 grid 6.34 May 22 total 6.34 grid 19.00 May 23 total 19.00 grid 9.66 May 24 total 9.66 grid 23.49 May 26 total 23.49 grid 71.23 May 27 total 71.23 grid 57.33 May 28 total 57.33 grid 32.51 May 29 total 32.51 grid 100.73 Today total 100.73

at

三天后的下午 5点钟执行 /bin/ls [ora11g@rac1 ~]$ at 5pm+3 days at> ls at> <EOT> job 2 at 2014-06-04 17:00

bc

很简洁的计算器 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 7+8 15 9*5 45

cc

这个精简的命令背后的后盾就是gcc [ora11g@rac1 bin]$ ll cc lrwxrwxrwx. 1 root root 3 Mar 13 2013 cc –> gcc

dc

逆波兰表达式,比如像查看55*11的结果。 [ora11g@rac1 bin]$ dc 55 11 * p 605 q

du

查看目录的大小,k为k bytes,h代表m bytes [ora11g@rac1 test]$ du -sk . 10968 . [ora11g@rac1 test]$ du -sh . 11M

ex, vi的一种灵活的实现,比如显示第2,3行。查看当前行

[ora11g@rac1 ~]$ vi -E a.lst "a.lst" 3L, 43C Entering Ex mode. Type "visual" to go to Normal mode. :2,3 this is a test line2 := 3 :.= 3 :q [ora11g@rac1 ~]$ ex a.lst "a.lst" 3L, 43C Entering Ex mode. Type "visual" to go to Normal mode. :2,3 this is a test line2 :.= 3 := 3 :q [ora11g@rac1 ~]$

id

查看用户的id和归属的组信息 [ora11g@rac1 test]$ id uid=505(ora11g) gid=501(dba) groups=501(dba)

nl

如果输出的时候需要显示行号,nl也是一个不错的选择。效果和cat -n等价 -bash-4.1$ cat a.txt This price is $5.00 This price is $6.00 this is good -bash-4.1$ nl a.txt 1 This price is $5.00 2 This price is $6.00 3 this is good -bash-4.1$ cat -n a.txt 1 This price is $5.00 2 This price is $6.00 3 this is good

nm

查找共享库中的函数 比如我查看oracle中的一些文件中的函数,可以这样 cd $ORACLE_HOME/rdbms R ----Read only symbol 。比如在代码中有一个const MAXDATA = 110; 则MAXDATA就是一个Read only symbol; N ----一个调试符号; D ----一个已经初始化的变量的符号。比如代码中int i = 1和char *str = "Hello"则i和str都是这种类型的符号 ; T ----Text段的符号。子程序都是这种符号,比如文件中实现了一个函数function,则function就是这种符号; U ----未定义的符号。如果文件中引用了不存在的函数,则这些未定义的函数就是这种类型; S ----未初始化的符号。比如全局变量int s ; 则s就是这种类型的符号。 [ora11g@rac1 lib]$ nm mapsga.o 0000000000000000 r _2__STRING.0.0 0000000000000048 r _2__STRING.1.0 000000000000006c r _2__STRING.10.0 000000000000007c r _2__STRING.11.0 00000000000000c8 r _2__STRING.12.0 0000000000000080 r _2__STRING.13.0 0000000000000098 r _2__STRING.14.0 00000000000000ec r _2__STRING.15.0 0000000000000114 r _2__STRING.16.0 00000000000000a8 r _2__STRING.17.0 00000000000000c4 r _2__STRING.18.0 0000000000000104 r _2__STRING.19.0 000000000000000c r _2__STRING.2.0 000000000000015c r _2__STRING.20.0 000000000000013c r _2__STRING.21.0 00000000000000dc r _2__STRING.22.0 00000000000000fc r _2__STRING.23.0 0000000000000000 r _2__STRING.24.0 0000000000000074 r _2__STRING.3.0 0000000000000018 r _2__STRING.4.0 00000000000000a0 r _2__STRING.5.0 0000000000000024 r _2__STRING.6.0 0000000000000038 r _2__STRING.7.0 000000000000004c r _2__STRING.8.0 000000000000005c r _2__STRING.9.0 U __intel_new_proc_init U exit U fflush U getchar U ksmgsgp_ 0000000000000000 T main 000000000000034a T mapsga_gtln 00000000000003e6 T mapsga_help_msg 0000000000000420 T mapsga_parse U skgsdsegmap U skgsdsegunmap U slosDep2Mesg U slzgetevar U slzprintf U strncat U strncpy

od

显示文件内容为八进制,和它的全名Octal dump是一致的。 [ora11g@rac1 test]$ cat a T 30 b 3 c 50 d 9 e 10 f 2 g 1 h 200 [ora11g@rac1 test]$ od a 0000000 020124 030063 061012 031440 061412 032440 005060 020144 0000020 005071 020145 030061 063012 031040 063412 030440 064012 0000040 031040 030060 000012 0000045 命令中各选项的含义: - A 指定地址基数,包括: d 十进制 o 八进制(系统默认值) x 十六进制 n 不打印位移值 - t 指定数据的显示格式,主要的参数有: c ASCII字符或反斜杠序列 d 有符号十进制数 f 浮点数 o 八进制(系统默认值为02) u 无符号十进制数 x 十六进制数 [ora11g@rac1 test]$ od -Ax -tcx1 a 000000 T 3 0 \n b 3 \n c 5 0 \n d 54 20 33 30 0a 62 20 33 0a 63 20 35 30 0a 64 20 000010 9 \n e 1 0 \n f 2 \n g 1 \n h 39 0a 65 20 31 30 0a 66 20 32 0a 67 20 31 0a 68 000020 2 0 0 \n 20 32 30 30 0a

pr

这个命令是一个很强大的命令,可以完成特殊的行列转换,可以把文件的内容显示为多个垂直列。 和word的分栏功能有些类似。 cat a T 30 b 3 c 50 d 9 e 10 f 2 g 1 h 200 [ora11g@rac1 test]$ pr -h "this is a test for pr" -3 a 2014-07-05 00:56 this is a test for pr Page 1 T 30 d 9 g 1 b 3 e 10 h 200 c 50 f 2

ss

ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。 但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 [ora11g@rac1 test]$ ss State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 52 192.168.3.140:ssh 192.168.3.1:58555 ESTAB 0 0 192.168.3.140:ssh 192.168.3.1:50641 [ora11g@rac1 test]$ ss -i State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 52 192.168.3.140:ssh 192.168.3.1:58555 cubic rto:388 rtt:158.75/54 ato:40 cwnd:3 send 220.7Kbps rcv_rtt:202359 rcv_space:20552 ESTAB 0 0 192.168.3.140:ssh 192.168.3.1:50641 cubic rto:357 rtt:141.25/49.75 ato:40 cwnd:5 send 413.5Kbps rcv_rtt:19010 rcv_space:11956 [ora11g@rac1 test]$

tr

tr一般作为sed的精简实现,常用作字符大小写转换。简单的字符替换 像下面的例子,直接将文件a的内容全部转换为大写 [ora11g@rac1 test]$ cat a |tr '[a-z]' '[A-Z]' T 30 B 3 C 50 D 9 E 10 F 2 G 1 H 200

uz

从.gz文件夹中得到文件的目录结构,免去了解压.gz文件然后使用tar -tf这样的步骤,直接一步搞定 [ora11g@rac1 test]$ uz ext_datapump.tar.gz|less Extracting from "ext_datapump.tar.gz". ./ext_datapump/ ./ext_datapump/compare/ ./ext_datapump/compare/tmp_compare.sh ./ext_datapump/compare/batch_compare.sh ./ext_datapump/compare/a.log ./ext_datapump/compare/sqls/

wc

这个命令可以查看文件包含多少行,含有多少字符等等 [ora11g@rac1 test]$ cat test.sh |wc -l 27

xz

xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。 xz utils 是 lzma utils 的下一代lzma utils 改名 xz utils。 压缩时 xz utils 耗时比 bzip2 长一倍, 压缩时 xz utils 耗时是 lzma utils 一半, 压缩时 xz utils 生成文件体积是 bzip2 的一半, 压缩时 xz utils 生成文件体积比 lzma utils 略大, 解压时 xz utils 耗时是 bzip2 的三分之一, 解压时 xz utils 速度比 lzma utils 略快, 解压时 xz utils 耗时仅比 gzip 多一倍。 压缩时 xz utils 使用 *.xz 格式 生成文件 比 *.lzma 格式 略大, 压缩时 xz abc.zip 压缩后生成abc.zip.xz文件 解压时,使用xz -d abc.zip.xz 文件就会成为abc.zip

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:r2笔记46天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一个普通数据库用户所能查到的"意料之外"的信息(r2笔记98天)

    有时候限于工作环境的情况,大多数开发人员只得到了一个权限收到限制的数据库用户。 可能你都不知道你所拥有的数据库用户都能查到哪些你想象不到的数据库信息,其实你知道...

    jeanron100
  • 服务器增加内存后无法重启数据库的问题及解决 (36天)

    前几天生产环境需要做服务器的扩容,把原本64G的内存扩到了128G.然后调整了一些其他的kernel参数,在此基础上需要调整sga的大小,以便分配更多的缓存。 ...

    jeanron100
  • React技术初识

    前端框架哪家强,如果没理解错,应该是React,Angular,VUE。记得去年的时候,和我一个老同学聊天,他是一个架构师,偏向于后端开发,但是发现他已...

    jeanron100
  • Android相机开发那些坑

    这篇文章总结了Android相机开发的相关知识、流程,以及容易遇到的坑,希望能帮助今后可能会接触Android相机开发的朋友快速上手,节省时间,少走弯路。

    QQ空间开发团队
  • 初创公司考虑托管云主机的9个理由

    托管云主机适用于初创公司,虽然人们认为这很难,但云计算服务器托管并不仅仅适用于大型企业。托管云主机也是初创公司最好的托管选项之一。管理云主机对于初创公司来说是一...

    静一
  • Java注解原理学习之@Cacheable debug

    Jerry Wang
  • 腾讯云GME之网络编解码

    评判一个地方好坏的致命原则---体验感。同样,体验感也是网络游戏中不可或缺的元素。生活中我们通过旅行来放松身心缓解压力,换个城市最大的不同在于什么?在于人类对多...

    腾讯云大学
  • 【OneNote Mobile】 如何Email便签

    利用Windows Phone 7手机的OneNote Mobile,用户可以随时以文字、图片或者录音来记录灵感,并通过Windows Live SkyDriv...

    ShiJiong
  • Jenkins使用之邮件模板配置

    Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定义发送邮件...

    用户5521279
  • OSError: [Errno 22] Invalid argument: 'D:\test\x07'

    有时候在使用python的文件路径时,中间会包含python的转义字符,因此会报错:

    于小勇

扫码关注云+社区

领取腾讯云代金券