linux命令之nc,emacs,go run,查看文件行数等

      这部分是比较零散的命令,也算是一种科普。因为我在实际的应用中也没有接触这几种命令,不过偶然看到了,那就必须要记录一下。学习嘛,如果只是局限于自己的工作,那视角难免会变小。与君共勉

一、nc命令

nc命令是netcat命令的简称,都是用来设置路由器。

      netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。

(1)参数

-g<网关>:设置路由器跃程通信网关,最多设置8个;
 -G<指向器数目>:设置来源路由指向器,其数值为4的倍数;
-i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口;
 -l:使用监听模式,监控传入的资料; 
 -n:直接使用ip地址,而不通过域名服务器;                                           -o<输出文件>:指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存;
  -p<通信端口>:设置本地主机使用的通信端口;                                         -r:指定源端口和目的端口都进行随机的选择;                                         -s<来源位址>:设置本地主机送出数据包的IP地址;
 -u:使用UDP传输协议;
 -v:显示指令执行过程;                                                         -w<超时秒数>:设置等待连线的时间;                                               -z:使用0输入/输出模式,只在扫描通信端口时使用。

(2)例如:传输文件

服务器A:

//这里我们创建了一个服务器在A上并且重定向netcat的输入为文件file.txt,那么当任何成功连接到该端口,netcat会发送file的文件内容。

$nc -l 1567 < file.txt

服务器B:

//在客户端我们重定向输出到file.txt,当B连接到A,A发送文件内容,B保存文件内容到file.txt.

$nc -n 172.31.100.7 1567 > file.txt

具体可参考链接:https://www.oschina.net/translate/linux-netcat-command

二、emacs

      我也是第一次看到这个命令,以前没有见到过。毕竟我也是才疏学浅,接触的东西有限。后来百度一下才知道,这个emacs是一个和vim齐名的编辑器。我的天,瞬间觉得羞愧难当,有眼不识泰山,大概就是我这样的。

这里推荐博客:http://blog.csdn.net/high_high/article/details/7417761,总结的很好,值得学习。

三、go run

这个命令是看到:

//运行多个.go文件
go run *.go

      本来以为是运行某个程序的命令。后面百度才知道,这个命令是专门针对于golang文件的,也就是说,在linux运行.go文件,需要使用该命令。

例如:

//运行test.go命令
go run test.go

四、其他命令

(1)查看文件多少行

wc -l edit.txt

(2)查看文件具体某一行

sed -n '190,196p' a.txt 查看的是190196

sed -n '190,1p' a.txt  查看190那一行

好了,这里就是最近遇到的一些命令,有的还是挺有用的。大家一起学习进步!

推荐个学习linux的网站:
http://man.linuxde.net/
这个网站就相当于linux的词典,类似于我们的新华词典!受益匪浅。

end

你可能感兴趣的:(linux)