草庐IT

Unix-ish

全部标签

linux - 使用 Unix 排序对带小数部分的正/负数进行排序

使用sort(coreutils)5.2.1我有以下文件,我想按字段4的非整数部分对其进行排序。这可以是负数或正数,也可能具有值INF。field1field2field3tag=INFfield5field6field1field2field3tag=INFfield5field6field1field2field3tag=0.123field5field6field1field2field3tag=4.22field5field6field1field2field3tag=5.77field5field6field1field2field3tag=-1.92field5field6

java - 将 Unix hostid 获取到 Java

如何通过某种调用将unixhostid导入Java?http://linux.about.com/library/cmd/blcmdl1_hostid.htm 最佳答案 如果它是通过先前调用sethostid(longintid)设置的,它将驻留在HOSTIDFILE中,通常是/etc/hostid.如果不存在,则获取机器的主机名。您提取主机名的地址,如果这是IPv4,则它是从点分十进制格式到二进制格式的IPv4地址,高16位和低16位交换。InetAddressaddr=InetAddress.getLocalHost();byt

linux - 在 Unix shell 中压缩列之间的空间

我希望删除两列之间的空格。从shell运行sql查询后,我得到如下输出:235544022430584940772;2TZ0584940772001U;235544022720423721840;7TT0423721840001B;235544023030110770863;BBTU500248822001Q;2355440230502311301;BTB02311301001J;235544025630550503408;PPTU004984208001O;235544026050457553223;Q0T0457553223001I;235543676020454542427;TB

linux - Unix 域套接字 : accept() not setting sun_path

我正在使用Unix域套接字进行一些测试,我可以毫无问题地通过它们进行通信,但是,当我在测试程序的服务器端调用accept()时,返回的structsockaddr_un不包含sun_path。我很确定Inet套接字在accept()调用后正确填写了地址和端口,所以我是在我的测试程序中做错了什么还是我期待错误的结果?我正在运行CentOS6.2和gcc4.4.6。示例代码:服务器.c#include#include#include#include#include#include#defineNAME"socket"intmain(intargc,char**argv){intsock,m

linux - 每个 Unix 文件描述都有自己的读/写缓冲区吗?

引用thisquestion关于read()和write(),我想知道是否每个打开的文件描述都有自己的读写缓冲区,或者当文件一次打开多次时是否可能只有一个读写缓冲区。我很好奇,因为这会对重叠写入同一文件的确切情况产生影响。也许这是因Unix而异的东西?(据我了解,“文件描述”指的是有关打开文件的信息/选项,例如当前标记位置。相比之下,“文件描述符”仅指进程中用来引用的数字描述。) 最佳答案 这有点取决于您是在谈论套接字还是实际文件。严格来说,描述符从来没有自己的缓冲区;它只是更深层次抽象的句柄。文件系统对象有它们自己的缓冲区,至少在

linux - 创建 UNIX "special character"文件

假设我想本着/dev/zero的精神创建一个文件/dev/seven,无论何时读取它都会产生字符“7”。我应该如何去做这样的事情?我需要修改内核吗? 最佳答案 是的,您需要为该特殊字符设备创建一个驱动程序。对于Linux,我建议您阅读LinuxDeviceDriversJonathanCorbet、AlessandroRubini和GregKroah-Hartman着。(第3章讨论了字符驱动程序,但至少也要阅读前两章。) 关于linux-创建UNIX"specialcharacter"文

linux - 为什么 unix utility join 在不同的 Linux 发行版上会产生不同的结果?

我有两个排序的文件:catfile113catfile2C1DB2EA3F我运行这个命令:join-11-22-v2file1file22008年1月在Debian4.3.2-1.1上使用GNUcoreutils6.9.92.4-f088d-dirt我得到:B2E2011年9月在Ubuntu4.4.3-4ubuntu5.1(Ubuntu精确(12.04.2LTS))上使用GNUcoreutils8.12.197-032bb我得到:2BE为什么我会得到不同的结果?为什么我在任何地方都找不到此更改的记录?以下是两个man输出的内容:-aFILENUMprintunpairablelines

c++ - unix 套接字与共享内存消息哪个更快

我正在查看一个linux服务器程序,它为每个客户端创建一些共享内存并使用该共享内存中的消息队列(从代码调用的C++类)来回发送消息。从表面上看,这听起来像是与域套接字相同的使用模式-即有一个服务器程序从其客户端发送和接收有效负载。我的问题是-unix域套接字做了哪些额外的工作?什么可以想象导致消息队列的共享内存比套接字更快,反之亦然?我的猜测是调用发送和接收有一些开销,但我不确定是什么。我可能会尝试对此进行基准测试,只是在执行此操作之前寻找一些见解。 最佳答案 这是一个讨论:UNIXDomainsocketsvsSharedMemo

Windows 相当于 Unix "find"命令?

我希望能够使用命令行而不是GUI界面在Windows机器上搜索文件。例如,在Linux上,我使用:找到。-name"*.c"-execgrep-Hn"sqlcommand"{}\;Windows有类似的东西吗? 最佳答案 在长时间使用Unix系统后,我不得不在Windows上制作一些脚本。对于严肃的脚本编写,Powershell是您应该使用的工具。您可以使用powershellfindstringinfile等关键字搜索Internet,或其他组合,您会发现很多信息。这就是问题所在,一个简单的oneliner就像get-childi

linux - 如何将多个参数通过管道传递给 unix 命令?

我找不到任何类似的问题,因此发布了这个问题。假设我有一组提供输出的命令产生输出的第一组catxyx.txt|awk'{.........}'|sed's/.../'|cut-d....产生输出的第二组catabc.txt|awk'{.........}'|cut-d...|sed's/...../'我希望将这些输出作为“加入”命令的2个参数。我知道我可以将这两个文件重定向到一个文件,然后使用join命令将这些文件作为参数。基本上,整个事情可以在一行中完成吗......类似[firstsetofcommands]>join-11-21 最佳答案