Tag: unix

在vim中打开与当前文件相同的文件夹中的文件

在vim中,当我打开一个缓冲区的时候,我经常需要在文件所在的同一个目录中加载另一个文件,但是因为我通常不会进入它,所以pwd是一个父文件夹,所以我必须重新input每一次的path。 有没有这个捷径? 或者将pwd更改为文件所在目录的方法? 例: cd /src vi lib/foo/file.js lib / foo有两个文件: file2.js和file2.js 在vi中: :e file2.js # doesn't work

如何configuration串行端口并进行通信?

我需要通过串行连接(RS-232和RS-422)发送和接收数据。 我如何设置和连接这样的连接? 如何确定configuration设置(如波特率)应该如何设置? 特别是我期待在Java,C / C ++或主要Unix shell之一中做到这一点,但我也对使用Windows /超级terminal的串行编程感兴趣。

UNIX域STREAM和DATAGRAM套接字之间的区别?

这个问题不适用于STREAMtypes和DATAGRAMtypesINTERNET套接字之间的区别。 我知道STREAM套接字使用TCP,数据报套接字使用UDP和所有的TCP,UDP的东西,数据包到达顺序,ACK,NACK等。我明白这些在互联网上的重要性。 Q1)当我创build一个本地套接字的UNIX域套接字时,如果套接字是STREAM套接字或DATAGRAM套接字,会有什么关系。 这种types的套接字会将数据写入套接字文件,在这种情况下协议是否很重要,因为我不通过networking传输数据? 如果我使用基于UNIX的DATAGRAM套接字,在这种情况下是否有数据丢失的机会? Q2)UNIX DATAGRAM套接字是否比UNIX STREAM套接字提供更好的性能? Q3)如何决定一个STREAM / DATAGRAM基于UNIX的套接字在我的应用程序? 谢谢

Unix域套接字如何区分多个客户端?

TCP具有元组对(IP地址/端口/types)来告诉另一个客户端。 UDP传递客户端IP和端口。 unix域如何跟踪不同的客户端? 换句话说,服务器创build一个绑定到某个path的套接字say / tmp / socket。 2个或更多客户端连接到/ tmp / socket。 底下发生了什么,跟踪client1和client2的数据? 我猜想networking堆栈在域套接字中不起作用,所以内核在这里做所有的工作? 有没有像IP协议格式和TCP / UDP格式的unix域协议格式? 域套接字数据报协议的格式是否在某处发布? 是每个unix不同还是像POSIX那样做标准化呢? 感谢任何照明。 我找不到任何解释这一点的信息。 每个来源只是掩饰如何使用域套接字。

rm -rf中的rf代表什么?

一个新手问题:Unix中rm -rf中的rf是什么意思? 更一般地说,我很难记住Unix命令和选项,因为我不明白它们代表什么。 有没有解释这些短宣的含义的资源?

除了凌晨3点,Crontab每15分钟运行一次?

除了凌晨3点之外,是否有可能每15分钟运行一次cronjob(超过每小时等)? 我有另一个特殊的cronjob,我想在凌晨3点运行,但是我不希望另一个运行在同一时间。

如何避免回声closuresFIFO命名pipe道? – Unix的FIFO有趣的行为

我想输出一些数据到一个pipe道,并让另一个进程对数据行逐行进行操作。 这是一个玩具的例子: mkfifo pipe cat pipe& cat >pipe 现在我可以input任何我想要的东西,按下后立即看到同一行。 但是,如果用echo替代第二个pipe道: mkfifo pipe cat pipe& echo "some data" >pipe echo和cat pipe&完成后,pipe道closures,以便我不能通过pipe道传递更多的数据。 有没有办法避免closurespipe道和接收数据的进程,这样我就可以通过pipe道从bash脚本传递多行数据,并在到达时处理它们?

用Go语言获取Unix时间戳(自纪元以来的秒数)

我有一些代码写在Go,我正在尝试更新以使用最新的每周版本。 (它是在r60下build成的)。 现在一切正在工作,除了以下几点: if t, _, err := os.Time(); err == nil { port[5] = int32(t) } 任何关于如何更新这个与当前的Go实现一起工作的build议?

如何#! shebang工作?

在脚本中你必须包含一个#! 在第一行,然后是执行脚本的程序的path(例如:sh,perl)。 据我所知, #字符表示一个注释的开始,该行应该被执行该脚本的程序忽略。 看起来,这第一行是在某种程度上被某些东西读取,以便脚本被正确的程序执行。 请有人可以更多地了解#!的运作#! ? 我真的很好奇,所以答案越深入越好。

Bash:让声明VS分配

分配给像var=foo这样的variables和使用let let var=foo之间有什么区别? 还是像var=${var}bar和let var+=bar ? 每种方法的优点和缺点是什么?