一些“简单”的linux命令

简介: 有些linux命令看起来极其简单,只包含2个字符,但是确有很强的功能性。看起来还是有些陌生的命令,在工作中别忘记它们的存在。 ab 这条命令式做为性能测试所广泛用到的一下子就有了一种高大上的感觉,来一个例子,对百度的某...

有些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
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>
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
目录
相关文章
|
21天前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
246 1
二、Linux文本处理与文件操作核心命令
|
6天前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
87 2
|
16天前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
56 0
Linux内存问题排查命令详解
|
21天前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
461 2
|
1月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
116 16
|
28天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
3月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
684 13
|
4月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
612 21
|
4月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
2月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
428 0