刚好看到一个系列的博文,讲的就是那些平时很少被人用到但是很实用的命令,选一些觉得自己应该比较常用到的出来写个笔记。
这些命令有些不是系统命令,需要自行下载安装。Debian下安装:sudo apt-get install XXXX。RHEL下安装:yum install XXXX。
比如追踪发到www.baidu.com的数据包走向,在可视化界面下会弹出一个对话框:
mtr www.baidu.com
可见,显示的数据很完全,包括丢包率神马的,最后一跳是115.239.209.10,这个地址是正确的。
在终端开启的情况下按ctrl+x+e会马上进入文本模式,输入玩文本之后按ctrl+x退出,保存(均有选项提示),最后输入保存路径和文件名即可,默认保存在/tmp文件夹下:
ss意为socket statistics,这个命令跟netstat命令相似,显示的为TCP连接信息等:
last命令显示的是用户登入和登出的历史记录,该历史记录来源于/var/log/wtmp文件。
history命令可以查看输入过的命令历史,似乎是以常量字符串形式保存的,所以相同的只会存一条:
该命令能够详细列出一个文件的信息,比如大小、权限、最后一次访问时间、最后一次修改时间等等,也是一个比较实用的命令。
在电影里黑客敲代码的时候觉得特别带感是么,代码慢慢地打印出来,pv命令即可做到,虽然实在是没啥实际用途,先用apt-get或yum安装,然后输入如下命令测试
echo "这只是一个简单的测试,终端里会逐个打印出文本内容" | pv -qL 20
该命令组合可以显示当前挂载的文件系统的列表:
我们当然也可以用clear命令清空终端显示内容,但是ctrl+l明显要方便许多。
file命令同时会告诉你文件的编码方式:
有种不明觉厉的感觉,这个命令列举出详细的id信息,不过暂时不知道这些id信息拿来做什么用:
该命令与cron命令类似,在指定时间执行用户命令,比如:
echo "ls -l > /dev/pts/0" | at 14:12 或者 echo "ls -l > /dev/pts/0" | at 2:12 PM
意思是在指定时间下午2:12将文件夹内详细信息写入/dev/pts/0文件中,“>”符号可以加输出内容冲刷到指定文件。
该命令将当前目录下的子文件夹(n指定最多递归几层)大小以带单位的形式输出终端,比如(对比ls -l):
如果你对自己输入的英文单词不确定是不是这么拼,最直接地可以百度、google,当然Linux自带了模糊检查工具,比如我想拼difficult,但是不知道对不对,模糊输入look diffi,它会给出答案给你:
很有才,cat倒过来就是tac,完了这个命令的功能还真是逆序输出文本内容:
一般我们开个终端执行某个命令,关掉终端的话这个进程就结束了,但是如果使用disown -a && exit命令,则能让该进程在终端关闭后,仍然能在后台运行,格式为:
$ 要运行的命令 ; disown -a && exit
比如我希望把指定文件夹的结构树图输出为png图像:
tree | convert label:@- /home/nerohwang/Desktop/tree.png
问号显示的是中文字符,没办法识别,乱码。
比如查找谷歌的DNS对应的IP,host命令:
dig命令则更加详细:
该命令动态地更新显示系统信息,可以从对应的进程ID判断资源的使用情况:
命令使用方法是:
nc -zv 主机名或地址 端口号
比如我想知道www.baidu.com的80端口开放情况:
如果查看本地端口情况的话把地址换成localhost或者127.0.0.1即可。
命令使用方式为:
pdftk 1.pdf 2.pdf 3.pdf …. 10.pdf cat output merged.pdf