关于shell的几个不为人知却十分有用的命令分享

最近一直在使用Linux操作系统,也熟知一些简单的命令,那么下面我将介绍几个不为人知却十分有用的命令:

1.mtr命令,查看mtr运行的主机和某个网站的直接网络连接,如下

mtr google.com

显示一下内容

代码如下:

My traceroute  [v0.75]
localhost.localdomain (0.0.0.0)                        Sun May 18 19:32:36 2014
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
 Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 103.31.240.129                    0.0%    42    0.5   0.5   0.5   0.6   0.0
 2. 118.126.0.9                       0.0%    42    0.3   0.3   0.2   0.4   0.0
 3. 210.245.144.37                    0.0%    42    2.9   3.6   2.9  22.1   3.0
 4. 113.10.231.125                    0.0%    42    3.1   3.8   2.7  40.2   5.8
 5. irb9.10g-tc2.wpc.nwtgigalink.com  0.0%    42    2.9   3.1   2.9   5.1   0.4
 6. ae2.10g-pp2.wpc.nwtgigalink.com   0.0%    42    3.2   3.0   2.9   3.2   0.1
 7. google3-10G.hkix.net              0.0%    42    4.6   4.5   4.3   4.6   0.1
 8. 209.85.248.62                     0.0%    42    5.0   5.3   4.8  13.7   1.6
 9. 209.85.241.171                    0.0%    42    5.3   5.2   5.1   5.7   0.1
10. hkg03s16-in-f8.1e100.net          0.0%    41    4.8   4.9   4.7   5.0   0.1

2.nl命令,给所查看的文本加上行号,如下

cat a.log
aa

nl a.log
1 aa
 3.shuf命令,随机从一个文件或者一个文件夹中选取行或者文件

代码如下:

[root@localhost mwq]# ls | shuf -n1
a.log
[root@localhost mwq]# ls | shuf -n1
a.log
[root@localhost mwq]# ls | shuf -n1
a.log
[root@localhost mwq]# ls | shuf -n1
20140512.sql
[root@localhost mwq]# ls | shuf -n1
20140512.sql
[root@localhost mwq]# ls | shuf -n1
a.log
[root@localhost mwq]# vim a.log
[root@localhost mwq]# cat a.log | shuf -n1
aa
[root@localhost mwq]# cat a.log | shuf -n1
dd
[root@localhost mwq]# cat a.log | shuf -n1
aa
[root@localhost mwq]# cat a.log | shuf -n1
ff

当然你也可以改变参数如cat a.log | shuf -n2获取两行内容。

4.last命令,查看上次登录或者登出的用户

代码如下:

root     pts/4        xxxxxxxxxxx    Sun May 18 19:12   still logged in  
root     pts/4        xxxxxxxxxxx    Fri May 16 09:39 - 15:17  (05:38)   
root     pts/4        xxxxxxxxxxx    Wed May 14 17:13 - 18:01  (00:48)   
root     pts/4        xxxxxxxxxxx    Mon May 12 10:50 - 13:38  (02:47)   
root     pts/4        xxxxxxxxxxx    Mon May 12 10:48 - 10:50  (00:02)   
root     pts/1        xxxxxxxxxxx    Fri May  9 11:58   still logged in

5.pstree以树的结构显示当前的进程节点

init─┬─abrt-dump-oops
 ├─abrtd
 ├─acpid
 ├─atd
 ├─auditd───{auditd}
 ├─avahi-daemon───avahi-daemon
 ├─console-kit-dae───63*[{console-kit-da}]
 ├─crond
 ├─dbus-daemon───{dbus-daemon}
 ├─hald───hald-runner─┬─hald-addon-acpi
 │    └─hald-addon-inpu
 ├─irqbalance
 ├─java───330*[{java}]
 ├─master───qmgr
 ├─6*[mingetty]
 ├─mysqld_safe───mysqld───11*[{mysqld}]
 ├─rhsmcertd───rhsmcertd
 ├─rsyslogd───3*[{rsyslogd}]
 ├─sshd─┬─4*[sshd───bash]
 │  └─sshd───bash───pstree
 ├─stap-serverd
 ├─udevd───2*[udevd]
 └─vsftpd
好了,今天就先介绍这么多,稍后会继续。。。。

(0)

相关推荐

  • 关于shell的几个不为人知却十分有用的命令分享

    最近一直在使用Linux操作系统,也熟知一些简单的命令,那么下面我将介绍几个不为人知却十分有用的命令: 1.mtr命令,查看mtr运行的主机和某个网站的直接网络连接,如下 mtr google.com 显示一下内容 复制代码 代码如下: My traceroute  [v0.75] localhost.localdomain (0.0.0.0)                        Sun May 18 19:32:36 2014 Keys:  Help   Display mode  

  • shell中的数组操作小结和冒泡排序实现脚本分享

    shell数组介绍: 复制代码 代码如下: //数组变量定义: $ arr=(1 3 6 8 2 5 9 0 7 4) // 默认获取第一个元素 $ echo $arr // 通过下标访问,下面取的数组第二个元素,shell数组下标是从0开始 $ echo ${arr[1]}    // 访问整个数组 $ echo ${arr[@]}  or echo ${arr[*]} // 获取数组的长度(最大下标) $ echo ${#arr[@]}  // 获取单个元素字符串长度 $ echo ${#a

  • 25个好用的Shell脚本常用命令分享

    1.列出所有目录使用量,并按大小排序. 复制代码 代码如下: ls|xargs du -h|sort -rn #不递归下级目录使用du -sh 2.查看文件排除以#开关和空白行,适合查看配置文件. 复制代码 代码如下: egrep -v "^#|^$"  filenamesed '/#.*$/d; /^ *$/d' 3.删除空格和空行. 复制代码 代码如下: sed '/^$/d' filename #删除空行sed 's/ //g' filenamesed 's/[[:space:]

  • shell实现自动adsl拨号并检测连接状况脚本分享

    今天公司同事要我整个adsl自动重拨的shell,并检测是否连上了,这样才能保证内部测试服务器不掉网,好吧,下面我把脚本发出来. 系统:centos 5.x 脚本1: 复制代码 代码如下: cat /root/soft_shell/auto_adsl_1.sh #!/bin/bash gateway=`ifconfig ppp0 |grep P-t-P| cut -f 3 -d ":"|cut -f 1 -d " "` inter=`ifconfig |grep p

  • Shell脚本实现检测文件是否被修改过代码分享

    #!/bin/bash funmd5_1() { find /root/passwd -type f | xargs md5sum > /tmp/funmd5_1.log } funmd5_2() { find /root/passwd -type f | xargs md5sum > /tmp/funmd5_2.log } if [ ! -f /tmp/funmd5_1.log ];then funmd5_1 fi funmd5_2 diff /tmp/funmd5_1.log /tmp/f

  • shell脚本实现拷贝大文件显示百分比的代码分享

    复制代码 代码如下: #!/bin/sh strace -q -eread cp -- "${1}" "${2}" 2>&1 \ | awk '{     count += $NF     if (count % 10 == 0) {         percent = count / total_size * 100         for (i=0;i<=percent;i++)             printf("="

  • Shell脚本批量添加扩展名的两种方法分享

    方法1: 复制代码 代码如下: for file in  `ls`; do mv $file $file.txt; done 方法2: 复制代码 代码如下: find . -type f |xargs -i mv {} {}.txt 还有一些试验不成功的,先记录在此. 1.用rename命令修改后缀名,这个是最简单最省事的办法 复制代码 代码如下: [root@demo test_rename]# ll 总计 20 -rw-r–r– 1 root root 0 09-27 00:57 renam

  • hbase shell基础和常用命令详解

    HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase

  • shell编程基础知识小结

    1.文件类型介绍linux系统中主要包括以下七种文件类型: d 目录 - 普通文件 l 符号链接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 2.正则表达式正则表达式在shell编程中非常重要. 从一个文件或命令输出中抽取或过滤文本时.可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合. 基本的元字符集:^ 只匹配行首.$ 只匹配行尾.* 一个单字符后紧跟*,匹配0个或多个此单字符.[] 匹配[]内字符,可以是一个单字符,也可以是字符序列.可以使用

  • 利用WScript.Shell对象隐藏cmd命令行运行框的实现代码

    1. WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:\WINDOWS\system32\wshom.ocx,Wscript.shell是服务器系统会用到的一种组件.shell 就是"壳"的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序.读写注册表.环境变量等.这个对象通常被用在VB或VBS编程中. 2. 安装WScript.Shell对象:regsvr32 WShom.Ocx 卸载WScrip

随机推荐