shell相关命令(一)

1,STDIN/STDOUT/STDERR


linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2。
STDIN 就是标准输入,默认从键盘读取信息。
STDOUT 是标准输出,默认将输出结果输出至终端。
STDERR 是标准的错误信息,默认也会显示在终端上。
由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR。
2>1,2>&1,1>/dev/null,&>/dev/null,2>/dev/null


2,LESS/MORE


less 的用法比起 more 更加的有弹性。 
在 more 的时候,我们并没有办法向前面翻, 只能往后面看,
但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,
更容易用来查看一个文件的内容!可以向下搜,也可以向上搜。


3,TIME


当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的。
所有类UNIX系统都包含time命令,使用这个命令可以统计时间消耗。
例如: 
[root@localhost ~]# time ls 
anaconda-ks.cfg install.log install.log.syslog satools text 
real 0m0.009s 
user 0m0.002s 
sys 0m0.007s 
输出的信息分别显示了该命令所花费的real时间、user时间和sys时间。 real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。 user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。 sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。


4,CPU/MEM/NETWORK


cpu_num=`cat /proc/cpuinfo | grep core | grep id | cut -d ":" -f 2 | sort -n | uniq | wc -l`
cpu_type=`cat /proc/cpuinfo | grep model | grep name | cut -d ":" -f2 | cut -d " " -f3| uniq -c`
eth_type=`/sbin/lspci | grep Ethernet | grep Ethernet`
eth_num=`ls /sys/class/net | wc -l`
fiber_type=`ethtool "$name" | grep FIBRE`
mem_info=`free | grep Mem | awk '{print $2}'`


5,LD环境变量
动态库加载的优先级最高,一般情况下,其加载顺序为 LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib


/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效

你可能感兴趣的:(shell)