关于shell的几个不为人知却十分有用的命令分享_linux 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
好了,今天就先介绍这么多,稍后会继续。。。。

时间: 2024-07-30 02:59:09

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

25个好用的Shell脚本常用命令分享_linux 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拨号并检测连接状况脚本分享_linux shell

今天公司同事要我整个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中的数组操作小结和冒泡排序实现脚本分享_linux 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

Shell脚本批量添加扩展名的两种方法分享_linux 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

shell脚本实现拷贝大文件显示百分比的代码分享_linux 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("="

积累linux常用命令大全_linux shell

本人记忆力有限,就把平时在项目中遇到的linux常用命令分享给大家. Linux常用命令全集 http://www.jb51.net/linux/ linux文件中存在^M 使用shell命令tr可以实现去除,具体命令如下: 复制代码 代码如下:   cat -v yourfile | tr -d "^M" > targetfile VIM中选定某个单词 在ESC之后,使用w或者wi或者vwi可以选择某个单词 在控制台中快速移动光标 1.删除 1.1 ctrl + d 删除光标所

分享20个Unix/Linux 命令技巧_linux shell

让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力.我已经找了很久了,现在就与你们分享. > /path/to/file.log # 或使用如下格式 : > /path/to/file.log # 然后删除它 rm /path/to/file.log 如何记录终端输出? 试试使用script命令行工具来为你的终端输出创建输出记录. script my.terminal.sessio 输入命令: ls date sudo service foo stop 要退出(结束sc

Git中需要熟记的命令小结_linux shell

提交流程相关 查看文件改动以及新增的文件 git status 添加新增文件 git add your_file_path // 添加全部文件 git add * // 添加某类型文件 git add dir/*.js 简单的提交文件 git commit -m "Commit message" 提交你所有的修改文件以及添加的文件 git commit -am 'your message' 撤销修改某个文件 git checkout -- <filename> 放弃本地所有

用git打更新包的办法分享_linux shell

前言 相信很多人都有过这种经历,当修改了一堆bug后,要更新代码到服务器上,此时,最简单的方式是将项目文件全部上传一次,这种方式可行,但不可取.为什么?你懂的! 其实可以直接在服务器用git pull代码的方式来更新代码,但如果遇到你的服务器是linux服务器并且不带UI界面的,除非你命令行指令及git很熟悉,要不然遇到代码冲突还是比较麻烦的,小编这方面的水平有限.当然也有其他原因,不推荐此方式更新. 下面,小编为大家介绍下利用git来打更新包. 打包原理: 利用git archive输出两个提